...

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

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

     1<lexer>
     2  <config>
     3    <name>Newspeak</name>
     4    <alias>newspeak</alias>
     5    <filename>*.ns2</filename>
     6    <mime_type>text/x-newspeak</mime_type>
     7  </config>
     8  <rules>
     9    <state name="root">
    10      <rule pattern="\b(Newsqueak2)\b">
    11        <token type="KeywordDeclaration"/>
    12      </rule>
    13      <rule pattern="&#39;[^&#39;]*&#39;">
    14        <token type="LiteralString"/>
    15      </rule>
    16      <rule pattern="\b(class)(\s+)(\w+)(\s*)">
    17        <bygroups>
    18          <token type="KeywordDeclaration"/>
    19          <token type="Text"/>
    20          <token type="NameClass"/>
    21          <token type="Text"/>
    22        </bygroups>
    23      </rule>
    24      <rule pattern="\b(mixin|self|super|private|public|protected|nil|true|false)\b">
    25        <token type="Keyword"/>
    26      </rule>
    27      <rule pattern="(\w+\:)(\s*)([a-zA-Z_]\w+)">
    28        <bygroups>
    29          <token type="NameFunction"/>
    30          <token type="Text"/>
    31          <token type="NameVariable"/>
    32        </bygroups>
    33      </rule>
    34      <rule pattern="(\w+)(\s*)(=)">
    35        <bygroups>
    36          <token type="NameAttribute"/>
    37          <token type="Text"/>
    38          <token type="Operator"/>
    39        </bygroups>
    40      </rule>
    41      <rule pattern="&lt;\w+&gt;">
    42        <token type="CommentSpecial"/>
    43      </rule>
    44      <rule>
    45        <include state="expressionstat"/>
    46      </rule>
    47      <rule>
    48        <include state="whitespace"/>
    49      </rule>
    50    </state>
    51    <state name="expressionstat">
    52      <rule pattern="(\d+\.\d*|\.\d+|\d+[fF])[fF]?">
    53        <token type="LiteralNumberFloat"/>
    54      </rule>
    55      <rule pattern="\d+">
    56        <token type="LiteralNumberInteger"/>
    57      </rule>
    58      <rule pattern=":\w+">
    59        <token type="NameVariable"/>
    60      </rule>
    61      <rule pattern="(\w+)(::)">
    62        <bygroups>
    63          <token type="NameVariable"/>
    64          <token type="Operator"/>
    65        </bygroups>
    66      </rule>
    67      <rule pattern="\w+:">
    68        <token type="NameFunction"/>
    69      </rule>
    70      <rule pattern="\w+">
    71        <token type="NameVariable"/>
    72      </rule>
    73      <rule pattern="\(|\)">
    74        <token type="Punctuation"/>
    75      </rule>
    76      <rule pattern="\[|\]">
    77        <token type="Punctuation"/>
    78      </rule>
    79      <rule pattern="\{|\}">
    80        <token type="Punctuation"/>
    81      </rule>
    82      <rule pattern="(\^|\+|\/|~|\*|&lt;|&gt;|=|@|%|\||&amp;|\?|!|,|-|:)">
    83        <token type="Operator"/>
    84      </rule>
    85      <rule pattern="\.|;">
    86        <token type="Punctuation"/>
    87      </rule>
    88      <rule>
    89        <include state="whitespace"/>
    90      </rule>
    91      <rule>
    92        <include state="literals"/>
    93      </rule>
    94    </state>
    95    <state name="literals">
    96      <rule pattern="\$.">
    97        <token type="LiteralString"/>
    98      </rule>
    99      <rule pattern="&#39;[^&#39;]*&#39;">
   100        <token type="LiteralString"/>
   101      </rule>
   102      <rule pattern="#&#39;[^&#39;]*&#39;">
   103        <token type="LiteralStringSymbol"/>
   104      </rule>
   105      <rule pattern="#\w+:?">
   106        <token type="LiteralStringSymbol"/>
   107      </rule>
   108      <rule pattern="#(\+|\/|~|\*|&lt;|&gt;|=|@|%|\||&amp;|\?|!|,|-)+">
   109        <token type="LiteralStringSymbol"/>
   110      </rule>
   111    </state>
   112    <state name="whitespace">
   113      <rule pattern="\s+">
   114        <token type="Text"/>
   115      </rule>
   116      <rule pattern="&#34;[^&#34;]*&#34;">
   117        <token type="Comment"/>
   118      </rule>
   119    </state>
   120  </rules>
   121</lexer>

View as plain text