...

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

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

     1<lexer>
     2  <config>
     3    <name>Nginx configuration file</name>
     4    <alias>nginx</alias>
     5    <filename>nginx.conf</filename>
     6    <mime_type>text/x-nginx-conf</mime_type>
     7  </config>
     8  <rules>
     9    <state name="root">
    10      <rule pattern="(include)(\s+)([^\s;]+)">
    11        <bygroups>
    12          <token type="Keyword"/>
    13          <token type="Text"/>
    14          <token type="Name"/>
    15        </bygroups>
    16      </rule>
    17      <rule pattern="[^\s;#]+">
    18        <token type="Keyword"/>
    19        <push state="stmt"/>
    20      </rule>
    21      <rule>
    22        <include state="base"/>
    23      </rule>
    24    </state>
    25    <state name="block">
    26      <rule pattern="\}">
    27        <token type="Punctuation"/>
    28        <pop depth="2"/>
    29      </rule>
    30      <rule pattern="[^\s;#]+">
    31        <token type="KeywordNamespace"/>
    32        <push state="stmt"/>
    33      </rule>
    34      <rule>
    35        <include state="base"/>
    36      </rule>
    37    </state>
    38    <state name="stmt">
    39      <rule pattern="\{">
    40        <token type="Punctuation"/>
    41        <push state="block"/>
    42      </rule>
    43      <rule pattern=";">
    44        <token type="Punctuation"/>
    45        <pop depth="1"/>
    46      </rule>
    47      <rule>
    48        <include state="base"/>
    49      </rule>
    50    </state>
    51    <state name="base">
    52      <rule pattern="#.*\n">
    53        <token type="CommentSingle"/>
    54      </rule>
    55      <rule pattern="on|off">
    56        <token type="NameConstant"/>
    57      </rule>
    58      <rule pattern="\$[^\s;#()]+">
    59        <token type="NameVariable"/>
    60      </rule>
    61      <rule pattern="([a-z0-9.-]+)(:)([0-9]+)">
    62        <bygroups>
    63          <token type="Name"/>
    64          <token type="Punctuation"/>
    65          <token type="LiteralNumberInteger"/>
    66        </bygroups>
    67      </rule>
    68      <rule pattern="[a-z-]+/[a-z-+]+">
    69        <token type="LiteralString"/>
    70      </rule>
    71      <rule pattern="[0-9]+[km]?\b">
    72        <token type="LiteralNumberInteger"/>
    73      </rule>
    74      <rule pattern="(~)(\s*)([^\s{]+)">
    75        <bygroups>
    76          <token type="Punctuation"/>
    77          <token type="Text"/>
    78          <token type="LiteralStringRegex"/>
    79        </bygroups>
    80      </rule>
    81      <rule pattern="[:=~]">
    82        <token type="Punctuation"/>
    83      </rule>
    84      <rule pattern="[^\s;#{}$]+">
    85        <token type="LiteralString"/>
    86      </rule>
    87      <rule pattern="/[^\s;#]*">
    88        <token type="Name"/>
    89      </rule>
    90      <rule pattern="\s+">
    91        <token type="Text"/>
    92      </rule>
    93      <rule pattern="[$;]">
    94        <token type="Text"/>
    95      </rule>
    96    </state>
    97  </rules>
    98</lexer>

View as plain text