...

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

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

     1<lexer>
     2  <config>
     3    <name>Dylan</name>
     4    <alias>dylan</alias>
     5    <filename>*.dylan</filename>
     6    <filename>*.dyl</filename>
     7    <filename>*.intr</filename>
     8    <mime_type>text/x-dylan</mime_type>
     9    <case_insensitive>true</case_insensitive>
    10  </config>
    11  <rules>
    12    <state name="string">
    13      <rule pattern="&#34;">
    14        <token type="LiteralString"/>
    15        <pop depth="1"/>
    16      </rule>
    17      <rule pattern="\\([\\abfnrtv&#34;\&#39;]|x[a-f0-9]{2,4}|[0-7]{1,3})">
    18        <token type="LiteralStringEscape"/>
    19      </rule>
    20      <rule pattern="[^\\&#34;\n]+">
    21        <token type="LiteralString"/>
    22      </rule>
    23      <rule pattern="\\\n">
    24        <token type="LiteralString"/>
    25      </rule>
    26      <rule pattern="\\">
    27        <token type="LiteralString"/>
    28      </rule>
    29    </state>
    30    <state name="root">
    31      <rule pattern="\s+">
    32        <token type="TextWhitespace"/>
    33      </rule>
    34      <rule pattern="//.*?\n">
    35        <token type="CommentSingle"/>
    36      </rule>
    37      <rule pattern="([a-z0-9-]+:)([ \t]*)(.*(?:\n[ \t].+)*)">
    38        <bygroups>
    39          <token type="NameAttribute"/>
    40          <token type="TextWhitespace"/>
    41          <token type="LiteralString"/>
    42        </bygroups>
    43      </rule>
    44      <rule>
    45        <push state="code"/>
    46      </rule>
    47    </state>
    48    <state name="code">
    49      <rule pattern="\s+">
    50        <token type="TextWhitespace"/>
    51      </rule>
    52      <rule pattern="//.*?\n">
    53        <token type="CommentSingle"/>
    54      </rule>
    55      <rule pattern="/\*">
    56        <token type="CommentMultiline"/>
    57        <push state="comment"/>
    58      </rule>
    59      <rule pattern="&#34;">
    60        <token type="LiteralString"/>
    61        <push state="string"/>
    62      </rule>
    63      <rule pattern="&#39;(\\.|\\[0-7]{1,3}|\\x[a-f0-9]{1,2}|[^\\\&#39;\n])&#39;">
    64        <token type="LiteralStringChar"/>
    65      </rule>
    66      <rule pattern="#b[01]+">
    67        <token type="LiteralNumberBin"/>
    68      </rule>
    69      <rule pattern="#o[0-7]+">
    70        <token type="LiteralNumberOct"/>
    71      </rule>
    72      <rule pattern="[-+]?(\d*\.\d+([ed][-+]?\d+)?|\d+(\.\d*)?e[-+]?\d+)">
    73        <token type="LiteralNumberFloat"/>
    74      </rule>
    75      <rule pattern="[-+]?\d+">
    76        <token type="LiteralNumberInteger"/>
    77      </rule>
    78      <rule pattern="#x[0-9a-f]+">
    79        <token type="LiteralNumberHex"/>
    80      </rule>
    81      <rule pattern="(\?\\?)([\w!&amp;*&lt;&gt;|^$%@+~?/=-]+)(:)(token|name|variable|expression|body|case-body|\*)">
    82        <bygroups>
    83          <token type="Operator"/>
    84          <token type="NameVariable"/>
    85          <token type="Operator"/>
    86          <token type="NameBuiltin"/>
    87        </bygroups>
    88      </rule>
    89      <rule pattern="(\?)(:)(token|name|variable|expression|body|case-body|\*)">
    90        <bygroups>
    91          <token type="Operator"/>
    92          <token type="Operator"/>
    93          <token type="NameVariable"/>
    94        </bygroups>
    95      </rule>
    96      <rule pattern="(\?\\?)([\w!&amp;*&lt;&gt;|^$%@+~?/=-]+)">
    97        <bygroups>
    98          <token type="Operator"/>
    99          <token type="NameVariable"/>
   100        </bygroups>
   101      </rule>
   102      <rule pattern="(=&gt;|::|#\(|#\[|##|\?\?|\?=|\?|[(){}\[\],.;])">
   103        <token type="Punctuation"/>
   104      </rule>
   105      <rule pattern=":=">
   106        <token type="Operator"/>
   107      </rule>
   108      <rule pattern="#[tf]">
   109        <token type="Literal"/>
   110      </rule>
   111      <rule pattern="#&#34;">
   112        <token type="LiteralStringSymbol"/>
   113        <push state="symbol"/>
   114      </rule>
   115      <rule pattern="#[a-z0-9-]+">
   116        <token type="Keyword"/>
   117      </rule>
   118      <rule pattern="#(all-keys|include|key|next|rest)">
   119        <token type="Keyword"/>
   120      </rule>
   121      <rule pattern="[\w!&amp;*&lt;&gt;|^$%@+~?/=-]+:">
   122        <token type="KeywordConstant"/>
   123      </rule>
   124      <rule pattern="&lt;[\w!&amp;*&lt;&gt;|^$%@+~?/=-]+&gt;">
   125        <token type="NameClass"/>
   126      </rule>
   127      <rule pattern="\*[\w!&amp;*&lt;&gt;|^$%@+~?/=-]+\*">
   128        <token type="NameVariableGlobal"/>
   129      </rule>
   130      <rule pattern="\$[\w!&amp;*&lt;&gt;|^$%@+~?/=-]+">
   131        <token type="NameConstant"/>
   132      </rule>
   133      <rule pattern="(let|method|function)([ \t]+)([\w!&amp;*&lt;&gt;|^$%@+~?/=-]+)">
   134        <bygroups>
   135          <token type="NameBuiltin"/>
   136          <token type="TextWhitespace"/>
   137          <token type="NameVariable"/>
   138        </bygroups>
   139      </rule>
   140      <rule pattern="(error|signal|return|break)">
   141        <token type="NameException"/>
   142      </rule>
   143      <rule pattern="(\\?)([\w!&amp;*&lt;&gt;|^$%@+~?/=-]+)">
   144        <bygroups>
   145          <token type="Operator"/>
   146          <token type="Name"/>
   147        </bygroups>
   148      </rule>
   149    </state>
   150    <state name="comment">
   151      <rule pattern="[^*/]">
   152        <token type="CommentMultiline"/>
   153      </rule>
   154      <rule pattern="/\*">
   155        <token type="CommentMultiline"/>
   156        <push/>
   157      </rule>
   158      <rule pattern="\*/">
   159        <token type="CommentMultiline"/>
   160        <pop depth="1"/>
   161      </rule>
   162      <rule pattern="[*/]">
   163        <token type="CommentMultiline"/>
   164      </rule>
   165    </state>
   166    <state name="symbol">
   167      <rule pattern="&#34;">
   168        <token type="LiteralStringSymbol"/>
   169        <pop depth="1"/>
   170      </rule>
   171      <rule pattern="[^\\&#34;]+">
   172        <token type="LiteralStringSymbol"/>
   173      </rule>
   174    </state>
   175  </rules>
   176</lexer>

View as plain text