...

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

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

     1<lexer>
     2  <config>
     3    <name>TeX</name>
     4    <alias>tex</alias>
     5    <alias>latex</alias>
     6    <filename>*.tex</filename>
     7    <filename>*.aux</filename>
     8    <filename>*.toc</filename>
     9    <mime_type>text/x-tex</mime_type>
    10    <mime_type>text/x-latex</mime_type>
    11  </config>
    12  <rules>
    13    <state name="displaymath">
    14      <rule pattern="\\\]">
    15        <token type="LiteralString"/>
    16        <pop depth="1"/>
    17      </rule>
    18      <rule pattern="\$\$">
    19        <token type="LiteralString"/>
    20        <pop depth="1"/>
    21      </rule>
    22      <rule pattern="\$">
    23        <token type="NameBuiltin"/>
    24      </rule>
    25      <rule>
    26        <include state="math"/>
    27      </rule>
    28    </state>
    29    <state name="command">
    30      <rule pattern="\[.*?\]">
    31        <token type="NameAttribute"/>
    32      </rule>
    33      <rule pattern="\*">
    34        <token type="Keyword"/>
    35      </rule>
    36      <rule>
    37        <pop depth="1"/>
    38      </rule>
    39    </state>
    40    <state name="general">
    41      <rule pattern="%.*?\n">
    42        <token type="Comment"/>
    43      </rule>
    44      <rule pattern="[{}]">
    45        <token type="NameBuiltin"/>
    46      </rule>
    47      <rule pattern="[&amp;_^]">
    48        <token type="NameBuiltin"/>
    49      </rule>
    50    </state>
    51    <state name="root">
    52      <rule pattern="\\\[">
    53        <token type="LiteralStringBacktick"/>
    54        <push state="displaymath"/>
    55      </rule>
    56      <rule pattern="\\\(">
    57        <token type="LiteralString"/>
    58        <push state="inlinemath"/>
    59      </rule>
    60      <rule pattern="\$\$">
    61        <token type="LiteralStringBacktick"/>
    62        <push state="displaymath"/>
    63      </rule>
    64      <rule pattern="\$">
    65        <token type="LiteralString"/>
    66        <push state="inlinemath"/>
    67      </rule>
    68      <rule pattern="\\([a-zA-Z]+|.)">
    69        <token type="Keyword"/>
    70        <push state="command"/>
    71      </rule>
    72      <rule pattern="\\$">
    73        <token type="Keyword"/>
    74      </rule>
    75      <rule>
    76        <include state="general"/>
    77      </rule>
    78      <rule pattern="[^\\$%&amp;_^{}]+">
    79        <token type="Text"/>
    80      </rule>
    81    </state>
    82    <state name="math">
    83      <rule pattern="\\([a-zA-Z]+|.)">
    84        <token type="NameVariable"/>
    85      </rule>
    86      <rule>
    87        <include state="general"/>
    88      </rule>
    89      <rule pattern="[0-9]+">
    90        <token type="LiteralNumber"/>
    91      </rule>
    92      <rule pattern="[-=!+*/()\[\]]">
    93        <token type="Operator"/>
    94      </rule>
    95      <rule pattern="[^=!+*/()\[\]\\$%&amp;_^{}0-9-]+">
    96        <token type="NameBuiltin"/>
    97      </rule>
    98    </state>
    99    <state name="inlinemath">
   100      <rule pattern="\\\)">
   101        <token type="LiteralString"/>
   102        <pop depth="1"/>
   103      </rule>
   104      <rule pattern="\$">
   105        <token type="LiteralString"/>
   106        <pop depth="1"/>
   107      </rule>
   108      <rule>
   109        <include state="math"/>
   110      </rule>
   111    </state>
   112  </rules>
   113</lexer>

View as plain text