...

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

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

     1<lexer>
     2  <config>
     3    <name>J</name>
     4    <alias>j</alias>
     5    <filename>*.ijs</filename>
     6    <mime_type>text/x-j</mime_type>
     7  </config>
     8  <rules>
     9    <state name="singlequote">
    10      <rule pattern="[^&#39;]">
    11        <token type="LiteralString"/>
    12      </rule>
    13      <rule pattern="&#39;&#39;">
    14        <token type="LiteralString"/>
    15      </rule>
    16      <rule pattern="&#39;">
    17        <token type="LiteralString"/>
    18        <pop depth="1"/>
    19      </rule>
    20    </state>
    21    <state name="root">
    22      <rule pattern="#!.*$">
    23        <token type="CommentPreproc"/>
    24      </rule>
    25      <rule pattern="NB\..*">
    26        <token type="CommentSingle"/>
    27      </rule>
    28      <rule pattern="\n+\s*Note">
    29        <token type="CommentMultiline"/>
    30        <push state="comment"/>
    31      </rule>
    32      <rule pattern="\s*Note.*">
    33        <token type="CommentSingle"/>
    34      </rule>
    35      <rule pattern="\s+">
    36        <token type="Text"/>
    37      </rule>
    38      <rule pattern="&#39;">
    39        <token type="LiteralString"/>
    40        <push state="singlequote"/>
    41      </rule>
    42      <rule pattern="0\s+:\s*0|noun\s+define\s*$">
    43        <token type="NameEntity"/>
    44        <push state="nounDefinition"/>
    45      </rule>
    46      <rule pattern="(([1-4]|13)\s+:\s*0|(adverb|conjunction|dyad|monad|verb)\s+define)\b">
    47        <token type="NameFunction"/>
    48        <push state="explicitDefinition"/>
    49      </rule>
    50      <rule pattern="(label_|goto_|for_)\b[a-zA-Z]\w*\.">
    51        <token type="NameLabel"/>
    52      </rule>
    53      <rule pattern="(continue|select|return|assert|catchd|catcht|elseif|whilst|break|catch|fcase|while|throw|else|case|end|try|for|do|if)\.">
    54        <token type="NameLabel"/>
    55      </rule>
    56      <rule pattern="\b[a-zA-Z]\w*">
    57        <token type="NameVariable"/>
    58      </rule>
    59      <rule pattern="(timespacex|fixdotdot|nameclass|namelist|file2url|tmoutput|ucpcount|boxxopen|smoutput|JVERSION|datatype|toupper|tolower|alpha17|alpha27|getargs|evtloop|boxopen|fliprgb|inverse|scriptd|iospath|cutopen|isatty|toCRLF|toHOST|isutf8|getenv|stdout|script|usleep|sminfo|expand|stderr|clear|fetch|every|erase|empty|Debug|EMPTY|split|names|timex|cutLF|stdin|apply|items|table|exit|Note|list|take|leaf|type|bind|drop|rows|each|echo|sign|CRLF|utf8|sort|pick|ARGV|uucp|ucp|DEL|inv|hfd|dfh|def|LF2|EAV|toJ|TAB|nl|FF|LF|bx|nc|CR|on)">
    60        <token type="NameFunction"/>
    61      </rule>
    62      <rule pattern="=[.:]">
    63        <token type="Operator"/>
    64      </rule>
    65      <rule pattern="[-=+*#$%@!~`^&amp;&#34;;:.,&lt;&gt;{}\[\]\\|/]">
    66        <token type="Operator"/>
    67      </rule>
    68      <rule pattern="[abCdDeEfHiIjLMoprtT]\.">
    69        <token type="KeywordReserved"/>
    70      </rule>
    71      <rule pattern="[aDiLpqsStux]\:">
    72        <token type="KeywordReserved"/>
    73      </rule>
    74      <rule pattern="(_[0-9])\:">
    75        <token type="KeywordConstant"/>
    76      </rule>
    77      <rule pattern="\(">
    78        <token type="Punctuation"/>
    79        <push state="parentheses"/>
    80      </rule>
    81      <rule>
    82        <include state="numbers"/>
    83      </rule>
    84    </state>
    85    <state name="comment">
    86      <rule pattern="[^)]">
    87        <token type="CommentMultiline"/>
    88      </rule>
    89      <rule pattern="^\)">
    90        <token type="CommentMultiline"/>
    91        <pop depth="1"/>
    92      </rule>
    93      <rule pattern="[)]">
    94        <token type="CommentMultiline"/>
    95      </rule>
    96    </state>
    97    <state name="explicitDefinition">
    98      <rule pattern="\b[nmuvxy]\b">
    99        <token type="NameDecorator"/>
   100      </rule>
   101      <rule>
   102        <include state="root"/>
   103      </rule>
   104      <rule pattern="[^)]">
   105        <token type="Name"/>
   106      </rule>
   107      <rule pattern="^\)">
   108        <token type="NameLabel"/>
   109        <pop depth="1"/>
   110      </rule>
   111      <rule pattern="[)]">
   112        <token type="Name"/>
   113      </rule>
   114    </state>
   115    <state name="numbers">
   116      <rule pattern="\b_{1,2}\b">
   117        <token type="LiteralNumber"/>
   118      </rule>
   119      <rule pattern="_?\d+(\.\d+)?(\s*[ejr]\s*)_?\d+(\.?=\d+)?">
   120        <token type="LiteralNumber"/>
   121      </rule>
   122      <rule pattern="_?\d+\.(?=\d+)">
   123        <token type="LiteralNumberFloat"/>
   124      </rule>
   125      <rule pattern="_?\d+x">
   126        <token type="LiteralNumberIntegerLong"/>
   127      </rule>
   128      <rule pattern="_?\d+">
   129        <token type="LiteralNumberInteger"/>
   130      </rule>
   131    </state>
   132    <state name="nounDefinition">
   133      <rule pattern="[^)]">
   134        <token type="LiteralString"/>
   135      </rule>
   136      <rule pattern="^\)">
   137        <token type="NameLabel"/>
   138        <pop depth="1"/>
   139      </rule>
   140      <rule pattern="[)]">
   141        <token type="LiteralString"/>
   142      </rule>
   143    </state>
   144    <state name="parentheses">
   145      <rule pattern="\)">
   146        <token type="Punctuation"/>
   147        <pop depth="1"/>
   148      </rule>
   149      <rule>
   150        <include state="explicitDefinition"/>
   151      </rule>
   152      <rule>
   153        <include state="root"/>
   154      </rule>
   155    </state>
   156  </rules>
   157</lexer>

View as plain text