...

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

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

     1<lexer>
     2  <config>
     3    <name>CMake</name>
     4    <alias>cmake</alias>
     5    <filename>*.cmake</filename>
     6    <filename>CMakeLists.txt</filename>
     7    <mime_type>text/x-cmake</mime_type>
     8  </config>
     9  <rules>
    10    <state name="root">
    11      <rule pattern="\b(\w+)([ \t]*)(\()">
    12        <bygroups>
    13          <token type="NameBuiltin"/>
    14          <token type="Text"/>
    15          <token type="Punctuation"/>
    16        </bygroups>
    17        <push state="args"/>
    18      </rule>
    19      <rule>
    20        <include state="keywords"/>
    21      </rule>
    22      <rule>
    23        <include state="ws"/>
    24      </rule>
    25    </state>
    26    <state name="args">
    27      <rule pattern="\(">
    28        <token type="Punctuation"/>
    29        <push/>
    30      </rule>
    31      <rule pattern="\)">
    32        <token type="Punctuation"/>
    33        <pop depth="1"/>
    34      </rule>
    35      <rule pattern="(\$\{)(.+?)(\})">
    36        <bygroups>
    37          <token type="Operator"/>
    38          <token type="NameVariable"/>
    39          <token type="Operator"/>
    40        </bygroups>
    41      </rule>
    42      <rule pattern="(\$ENV\{)(.+?)(\})">
    43        <bygroups>
    44          <token type="Operator"/>
    45          <token type="NameVariable"/>
    46          <token type="Operator"/>
    47        </bygroups>
    48      </rule>
    49      <rule pattern="(\$&lt;)(.+?)(&gt;)">
    50        <bygroups>
    51          <token type="Operator"/>
    52          <token type="NameVariable"/>
    53          <token type="Operator"/>
    54        </bygroups>
    55      </rule>
    56      <rule pattern="(?s)&#34;.*?&#34;">
    57        <token type="LiteralStringDouble"/>
    58      </rule>
    59      <rule pattern="\\\S+">
    60        <token type="LiteralString"/>
    61      </rule>
    62      <rule pattern="[^)$&#34;# \t\n]+">
    63        <token type="LiteralString"/>
    64      </rule>
    65      <rule pattern="\n">
    66        <token type="Text"/>
    67      </rule>
    68      <rule>
    69        <include state="keywords"/>
    70      </rule>
    71      <rule>
    72        <include state="ws"/>
    73      </rule>
    74    </state>
    75    <state name="string"/>
    76    <state name="keywords">
    77      <rule pattern="\b(WIN32|UNIX|APPLE|CYGWIN|BORLAND|MINGW|MSVC|MSVC_IDE|MSVC60|MSVC70|MSVC71|MSVC80|MSVC90)\b">
    78        <token type="Keyword"/>
    79      </rule>
    80    </state>
    81    <state name="ws">
    82      <rule pattern="[ \t]+">
    83        <token type="Text"/>
    84      </rule>
    85      <rule pattern="#.*\n">
    86        <token type="Comment"/>
    87      </rule>
    88    </state>
    89  </rules>
    90</lexer>

View as plain text