...

Text file src/github.com/alecthomas/chroma/v2/lexers/embedded/yaml.xml

Documentation: github.com/alecthomas/chroma/v2/lexers/embedded

     1<lexer>
     2  <config>
     3    <name>YAML</name>
     4    <alias>yaml</alias>
     5    <filename>*.yaml</filename>
     6    <filename>*.yml</filename>
     7    <mime_type>text/x-yaml</mime_type>
     8  </config>
     9  <rules>
    10    <state name="root">
    11      <rule>
    12        <include state="whitespace"/>
    13      </rule>
    14      <rule pattern="^---">
    15        <token type="NameNamespace"/>
    16      </rule>
    17      <rule pattern="^\.\.\.">
    18        <token type="NameNamespace"/>
    19      </rule>
    20      <rule pattern="[\n?]?\s*- ">
    21        <token type="Text"/>
    22      </rule>
    23      <rule pattern="#.*$">
    24        <token type="Comment"/>
    25      </rule>
    26      <rule pattern="!![^\s]+">
    27        <token type="CommentPreproc"/>
    28      </rule>
    29      <rule pattern="&amp;[^\s]+">
    30        <token type="CommentPreproc"/>
    31      </rule>
    32      <rule pattern="\*[^\s]+">
    33        <token type="CommentPreproc"/>
    34      </rule>
    35      <rule pattern="^%include\s+[^\n\r]+">
    36        <token type="CommentPreproc"/>
    37      </rule>
    38      <rule>
    39        <include state="key"/>
    40      </rule>
    41      <rule>
    42        <include state="value"/>
    43      </rule>
    44      <rule pattern="[?:,\[\]]">
    45        <token type="Punctuation"/>
    46      </rule>
    47      <rule pattern=".">
    48        <token type="Text"/>
    49      </rule>
    50    </state>
    51    <state name="value">
    52      <rule pattern="([&gt;|](?:[+-])?)(\n(^ {1,})(?:(?:.*\n*(?:^\3 *).*)+|.*))">
    53        <bygroups>
    54          <token type="Punctuation"/>
    55          <token type="LiteralStringDoc"/>
    56          <token type="TextWhitespace"/>
    57        </bygroups>
    58      </rule>
    59      <rule pattern="(false|False|FALSE|true|True|TRUE|null|Off|off|yes|Yes|YES|OFF|On|ON|no|No|on|NO|n|N|Y|y)\b">
    60        <token type="KeywordConstant"/>
    61      </rule>
    62      <rule pattern="&#34;(?:\\.|[^&#34;])*&#34;">
    63        <token type="LiteralStringDouble"/>
    64      </rule>
    65      <rule pattern="&#39;(?:\\.|[^&#39;])*&#39;">
    66        <token type="LiteralStringSingle"/>
    67      </rule>
    68      <rule pattern="\d\d\d\d-\d\d-\d\d([T ]\d\d:\d\d:\d\d(\.\d+)?(Z|\s+[-+]\d+)?)?">
    69        <token type="LiteralDate"/>
    70      </rule>
    71      <rule pattern="\b[+\-]?(0x[\da-f]+|0o[0-7]+|(\d+\.?\d*|\.?\d+)(e[\+\-]?\d+)?|\.inf|\.nan)\b">
    72        <token type="LiteralNumber"/>
    73      </rule>
    74      <rule pattern="([^\{\}\[\]\?,\:\!\-\*&amp;\@].*)( )+(#.*)">
    75        <bygroups>
    76          <token type="Literal"/>
    77          <token type="TextWhitespace"/>
    78          <token type="Comment"/>
    79        </bygroups>
    80      </rule>
    81      <rule pattern="[^\{\}\[\]\?,\:\!\-\*&amp;\@].*">
    82        <token type="Literal"/>
    83      </rule>
    84    </state>
    85    <state name="key">
    86      <rule pattern="&#34;[^&#34;\n].*&#34;: ">
    87        <token type="NameTag"/>
    88      </rule>
    89      <rule pattern="(-)( )([^&#34;\n{]*)(:)( )">
    90        <bygroups>
    91          <token type="Punctuation"/>
    92          <token type="TextWhitespace"/>
    93          <token type="NameTag"/>
    94          <token type="Punctuation"/>
    95          <token type="TextWhitespace"/>
    96        </bygroups>
    97      </rule>
    98      <rule pattern="([^&#34;\n{]*)(:)( )">
    99        <bygroups>
   100          <token type="NameTag"/>
   101          <token type="Punctuation"/>
   102          <token type="TextWhitespace"/>
   103        </bygroups>
   104      </rule>
   105      <rule pattern="([^&#34;\n{]*)(:)(\n)">
   106        <bygroups>
   107          <token type="NameTag"/>
   108          <token type="Punctuation"/>
   109          <token type="TextWhitespace"/>
   110        </bygroups>
   111      </rule>
   112    </state>
   113    <state name="whitespace">
   114      <rule pattern="\s+">
   115        <token type="TextWhitespace"/>
   116      </rule>
   117      <rule pattern="\n+">
   118        <token type="TextWhitespace"/>
   119      </rule>
   120    </state>
   121  </rules>
   122</lexer>

View as plain text