...

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

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

     1<lexer>
     2  <config>
     3    <name>Rexx</name>
     4    <alias>rexx</alias>
     5    <alias>arexx</alias>
     6    <filename>*.rexx</filename>
     7    <filename>*.rex</filename>
     8    <filename>*.rx</filename>
     9    <filename>*.arexx</filename>
    10    <mime_type>text/x-rexx</mime_type>
    11    <case_insensitive>true</case_insensitive>
    12    <not_multiline>true</not_multiline>
    13  </config>
    14  <rules>
    15    <state name="keyword">
    16      <rule pattern="(address|arg|by|call|do|drop|else|end|exit|for|forever|if|interpret|iterate|leave|nop|numeric|off|on|options|parse|pull|push|queue|return|say|select|signal|to|then|trace|until|while)\b">
    17        <token type="KeywordReserved"/>
    18      </rule>
    19    </state>
    20    <state name="operator">
    21      <rule pattern="(-|//|/|\(|\)|\*\*|\*|\\&lt;&lt;|\\&lt;|\\==|\\=|\\&gt;&gt;|\\&gt;|\\|\|\||\||&amp;&amp;|&amp;|%|\+|&lt;&lt;=|&lt;&lt;|&lt;=|&lt;&gt;|&lt;|==|=|&gt;&lt;|&gt;=|&gt;&gt;=|&gt;&gt;|&gt;|¬&lt;&lt;|¬&lt;|¬==|¬=|¬&gt;&gt;|¬&gt;|¬|\.|,)">
    22        <token type="Operator"/>
    23      </rule>
    24    </state>
    25    <state name="string_double">
    26      <rule pattern="[^&#34;\n]+">
    27        <token type="LiteralString"/>
    28      </rule>
    29      <rule pattern="&#34;&#34;">
    30        <token type="LiteralString"/>
    31      </rule>
    32      <rule pattern="&#34;">
    33        <token type="LiteralString"/>
    34        <pop depth="1"/>
    35      </rule>
    36      <rule pattern="\n">
    37        <token type="Text"/>
    38        <pop depth="1"/>
    39      </rule>
    40    </state>
    41    <state name="string_single">
    42      <rule pattern="[^\&#39;\n]">
    43        <token type="LiteralString"/>
    44      </rule>
    45      <rule pattern="\&#39;\&#39;">
    46        <token type="LiteralString"/>
    47      </rule>
    48      <rule pattern="\&#39;">
    49        <token type="LiteralString"/>
    50        <pop depth="1"/>
    51      </rule>
    52      <rule pattern="\n">
    53        <token type="Text"/>
    54        <pop depth="1"/>
    55      </rule>
    56    </state>
    57    <state name="comment">
    58      <rule pattern="[^*]+">
    59        <token type="CommentMultiline"/>
    60      </rule>
    61      <rule pattern="\*/">
    62        <token type="CommentMultiline"/>
    63        <pop depth="1"/>
    64      </rule>
    65      <rule pattern="\*">
    66        <token type="CommentMultiline"/>
    67      </rule>
    68    </state>
    69    <state name="root">
    70      <rule pattern="\s">
    71        <token type="TextWhitespace"/>
    72      </rule>
    73      <rule pattern="/\*">
    74        <token type="CommentMultiline"/>
    75        <push state="comment"/>
    76      </rule>
    77      <rule pattern="&#34;">
    78        <token type="LiteralString"/>
    79        <push state="string_double"/>
    80      </rule>
    81      <rule pattern="&#39;">
    82        <token type="LiteralString"/>
    83        <push state="string_single"/>
    84      </rule>
    85      <rule pattern="[0-9]+(\.[0-9]+)?(e[+-]?[0-9])?">
    86        <token type="LiteralNumber"/>
    87      </rule>
    88      <rule pattern="([a-z_]\w*)(\s*)(:)(\s*)(procedure)\b">
    89        <bygroups>
    90          <token type="NameFunction"/>
    91          <token type="TextWhitespace"/>
    92          <token type="Operator"/>
    93          <token type="TextWhitespace"/>
    94          <token type="KeywordDeclaration"/>
    95        </bygroups>
    96      </rule>
    97      <rule pattern="([a-z_]\w*)(\s*)(:)">
    98        <bygroups>
    99          <token type="NameLabel"/>
   100          <token type="TextWhitespace"/>
   101          <token type="Operator"/>
   102        </bygroups>
   103      </rule>
   104      <rule>
   105        <include state="function"/>
   106      </rule>
   107      <rule>
   108        <include state="keyword"/>
   109      </rule>
   110      <rule>
   111        <include state="operator"/>
   112      </rule>
   113      <rule pattern="[a-z_]\w*">
   114        <token type="Text"/>
   115      </rule>
   116    </state>
   117    <state name="function">
   118      <rule pattern="(sourceline|wordlength|errortext|translate|wordindex|condition|datatype|subword|lineout|lastpos|delword|address|charout|wordpos|compare|overlay|reverse|symbol|stream|charin|center|delstr|verify|digits|abbrev|bitxor|format|random|insert|bitand|queued|length|linein|substr|copies|xrange|space|words|lines|bitor|trunc|strip|right|value|chars|trace|sign|form|fuzz|word|left|time|date|c2d|d2c|d2x|c2x|pos|b2x|arg|abs|min|x2b|x2c|x2d|max)(\s*)(\()">
   119        <bygroups>
   120          <token type="NameBuiltin"/>
   121          <token type="TextWhitespace"/>
   122          <token type="Operator"/>
   123        </bygroups>
   124      </rule>
   125    </state>
   126  </rules>
   127</lexer>

View as plain text