...

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

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

     1<lexer>
     2  <config>
     3    <name>Ceylon</name>
     4    <alias>ceylon</alias>
     5    <filename>*.ceylon</filename>
     6    <mime_type>text/x-ceylon</mime_type>
     7    <dot_all>true</dot_all>
     8  </config>
     9  <rules>
    10    <state name="class">
    11      <rule pattern="[A-Za-z_]\w*">
    12        <token type="NameClass"/>
    13        <pop depth="1"/>
    14      </rule>
    15    </state>
    16    <state name="import">
    17      <rule pattern="[a-z][\w.]*">
    18        <token type="NameNamespace"/>
    19        <pop depth="1"/>
    20      </rule>
    21    </state>
    22    <state name="comment">
    23      <rule pattern="[^*/]">
    24        <token type="CommentMultiline"/>
    25      </rule>
    26      <rule pattern="/\*">
    27        <token type="CommentMultiline"/>
    28        <push/>
    29      </rule>
    30      <rule pattern="\*/">
    31        <token type="CommentMultiline"/>
    32        <pop depth="1"/>
    33      </rule>
    34      <rule pattern="[*/]">
    35        <token type="CommentMultiline"/>
    36      </rule>
    37    </state>
    38    <state name="root">
    39      <rule pattern="^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)([a-zA-Z_]\w*)(\s*)(\()">
    40        <bygroups>
    41          <usingself state="root"/>
    42          <token type="NameFunction"/>
    43          <token type="Text"/>
    44          <token type="Operator"/>
    45        </bygroups>
    46      </rule>
    47      <rule pattern="[^\S\n]+">
    48        <token type="Text"/>
    49      </rule>
    50      <rule pattern="//.*?\n">
    51        <token type="CommentSingle"/>
    52      </rule>
    53      <rule pattern="/\*">
    54        <token type="CommentMultiline"/>
    55        <push state="comment"/>
    56      </rule>
    57      <rule pattern="(shared|abstract|formal|default|actual|variable|deprecated|small|late|literal|doc|by|see|throws|optional|license|tagged|final|native|annotation|sealed)\b">
    58        <token type="NameDecorator"/>
    59      </rule>
    60      <rule pattern="(break|case|catch|continue|else|finally|for|in|if|return|switch|this|throw|try|while|is|exists|dynamic|nonempty|then|outer|assert|let)\b">
    61        <token type="Keyword"/>
    62      </rule>
    63      <rule pattern="(abstracts|extends|satisfies|super|given|of|out|assign)\b">
    64        <token type="KeywordDeclaration"/>
    65      </rule>
    66      <rule pattern="(function|value|void|new)\b">
    67        <token type="KeywordType"/>
    68      </rule>
    69      <rule pattern="(assembly|module|package)(\s+)">
    70        <bygroups>
    71          <token type="KeywordNamespace"/>
    72          <token type="Text"/>
    73        </bygroups>
    74      </rule>
    75      <rule pattern="(true|false|null)\b">
    76        <token type="KeywordConstant"/>
    77      </rule>
    78      <rule pattern="(class|interface|object|alias)(\s+)">
    79        <bygroups>
    80          <token type="KeywordDeclaration"/>
    81          <token type="Text"/>
    82        </bygroups>
    83        <push state="class"/>
    84      </rule>
    85      <rule pattern="(import)(\s+)">
    86        <bygroups>
    87          <token type="KeywordNamespace"/>
    88          <token type="Text"/>
    89        </bygroups>
    90        <push state="import"/>
    91      </rule>
    92      <rule pattern="&#34;(\\\\|\\&#34;|[^&#34;])*&#34;">
    93        <token type="LiteralString"/>
    94      </rule>
    95      <rule pattern="&#39;\\.&#39;|&#39;[^\\]&#39;|&#39;\\\{#[0-9a-fA-F]{4}\}&#39;">
    96        <token type="LiteralStringChar"/>
    97      </rule>
    98      <rule pattern="&#34;.*``.*``.*&#34;">
    99        <token type="LiteralStringInterpol"/>
   100      </rule>
   101      <rule pattern="(\.)([a-z_]\w*)">
   102        <bygroups>
   103          <token type="Operator"/>
   104          <token type="NameAttribute"/>
   105        </bygroups>
   106      </rule>
   107      <rule pattern="[a-zA-Z_]\w*:">
   108        <token type="NameLabel"/>
   109      </rule>
   110      <rule pattern="[a-zA-Z_]\w*">
   111        <token type="Name"/>
   112      </rule>
   113      <rule pattern="[~^*!%&amp;\[\](){}&lt;&gt;|+=:;,./?-]">
   114        <token type="Operator"/>
   115      </rule>
   116      <rule pattern="\d{1,3}(_\d{3})+\.\d{1,3}(_\d{3})+[kMGTPmunpf]?">
   117        <token type="LiteralNumberFloat"/>
   118      </rule>
   119      <rule pattern="\d{1,3}(_\d{3})+\.[0-9]+([eE][+-]?[0-9]+)?[kMGTPmunpf]?">
   120        <token type="LiteralNumberFloat"/>
   121      </rule>
   122      <rule pattern="[0-9][0-9]*\.\d{1,3}(_\d{3})+[kMGTPmunpf]?">
   123        <token type="LiteralNumberFloat"/>
   124      </rule>
   125      <rule pattern="[0-9][0-9]*\.[0-9]+([eE][+-]?[0-9]+)?[kMGTPmunpf]?">
   126        <token type="LiteralNumberFloat"/>
   127      </rule>
   128      <rule pattern="#([0-9a-fA-F]{4})(_[0-9a-fA-F]{4})+">
   129        <token type="LiteralNumberHex"/>
   130      </rule>
   131      <rule pattern="#[0-9a-fA-F]+">
   132        <token type="LiteralNumberHex"/>
   133      </rule>
   134      <rule pattern="\$([01]{4})(_[01]{4})+">
   135        <token type="LiteralNumberBin"/>
   136      </rule>
   137      <rule pattern="\$[01]+">
   138        <token type="LiteralNumberBin"/>
   139      </rule>
   140      <rule pattern="\d{1,3}(_\d{3})+[kMGTP]?">
   141        <token type="LiteralNumberInteger"/>
   142      </rule>
   143      <rule pattern="[0-9]+[kMGTP]?">
   144        <token type="LiteralNumberInteger"/>
   145      </rule>
   146      <rule pattern="\n">
   147        <token type="Text"/>
   148      </rule>
   149    </state>
   150  </rules>
   151</lexer>

View as plain text