...

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

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

     1<lexer>
     2  <config>
     3    <name>stas</name>
     4    <filename>*.stas</filename>
     5  </config>
     6  <rules>
     7    <state name="string-double-quoted">
     8      <rule pattern="\\.">
     9        <token type="LiteralStringEscape"/>
    10      </rule>
    11      <rule pattern="[^\\&#34;]+">
    12        <token type="LiteralString"/>
    13      </rule>
    14      <rule pattern="&#34;">
    15        <token type="LiteralString"/>
    16        <pop depth="1"/>
    17      </rule>
    18    </state>
    19    <state name="string-single-quoted">
    20      <rule pattern="\\.">
    21        <token type="LiteralStringEscape"/>
    22      </rule>
    23      <rule pattern="[^\\&#39;]+">
    24        <token type="LiteralString"/>
    25      </rule>
    26      <rule pattern="&#39;">
    27        <token type="LiteralString"/>
    28        <pop depth="1"/>
    29      </rule>
    30    </state>
    31    <state name="string-char-literal">
    32      <rule pattern="\\.">
    33        <token type="LiteralStringEscape"/>
    34      </rule>
    35      <rule pattern="[^\\`]+">
    36        <token type="LiteralString"/>
    37      </rule>
    38      <rule pattern="`">
    39        <token type="LiteralStringChar"/>
    40        <pop depth="1"/>
    41      </rule>
    42    </state>
    43    <state name="root">
    44      <rule pattern="(\n|\s)+">
    45        <token type="Text"/>
    46      </rule>
    47      <rule pattern="(?&lt;!\S)(fn|argc|argv|swap|dup|over|over2|rot|rot4|drop|w8|w16|w32|w64|r8|r16|r32|r64|syscall0|syscall1|syscall2|syscall3|syscall4|syscall5|syscall6|_breakpoint|assert|const|auto|reserve|pop|include|addr|if|else|elif|while|break|continue|ret)(?!\S)">
    48        <token type="Keyword"/>
    49      </rule>
    50      <rule pattern="(?&lt;!\S)(\+|\-|\*|\/|\%|\%\%|\+\+|\-\-|&gt;&gt;|&lt;&lt;)(?!\S)">
    51        <token type="Operator"/>
    52      </rule>
    53      <rule pattern="(?&lt;!\S)(\=|\!\=|&gt;|&lt;|&gt;\=|&lt;\=|&gt;s|&lt;s|&gt;\=s|&lt;\=s)(?!\S)">
    54        <token type="Operator"/>
    55      </rule>
    56      <rule pattern="(?&lt;!\S)(\&amp;|\||\^|\~|\!|-\>)(?!\S)">
    57        <token type="Operator"/>
    58      </rule>
    59      <rule pattern="(?&lt;!\S)\-?(\d+)(?!\S)">
    60        <token type="LiteralNumber"/>
    61      </rule>
    62      <rule pattern="(?&lt;!\S);.*(\S|\n)">
    63        <token type="Comment"/>
    64      </rule>
    65      <rule pattern="&#39;">
    66        <token type="LiteralString"/>
    67        <push state="string-single-quoted"/>
    68      </rule>
    69      <rule pattern="&#34;">
    70        <token type="LiteralString"/>
    71        <push state="string-double-quoted"/>
    72      </rule>
    73      <rule pattern="`">
    74        <token type="LiteralStringChar"/>
    75        <push state="string-char-literal"/>
    76      </rule>
    77      <rule pattern="(?&lt;!\S)[{}](?!\S)">
    78        <token type="Punctuation"/>
    79      </rule>
    80      <rule pattern="(?&lt;!\S)[^\s]+(?!\S)">
    81        <token type="Name"/>
    82      </rule>
    83    </state>
    84  </rules>
    85</lexer>

View as plain text