...

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

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

     1<lexer>
     2  <config>
     3    <name>Dart</name>
     4    <alias>dart</alias>
     5    <filename>*.dart</filename>
     6    <mime_type>text/x-dart</mime_type>
     7    <dot_all>true</dot_all>
     8  </config>
     9  <rules>
    10    <state name="string_double_multiline">
    11      <rule pattern="&#34;&#34;&#34;">
    12        <token type="LiteralStringDouble"/>
    13        <pop depth="1"/>
    14      </rule>
    15      <rule pattern="[^&#34;$\\]+">
    16        <token type="LiteralStringDouble"/>
    17      </rule>
    18      <rule>
    19        <include state="string_common"/>
    20      </rule>
    21      <rule pattern="(\$|\&#34;)+">
    22        <token type="LiteralStringDouble"/>
    23      </rule>
    24    </state>
    25    <state name="class">
    26      <rule pattern="[a-zA-Z_$]\w*">
    27        <token type="NameClass"/>
    28        <pop depth="1"/>
    29      </rule>
    30    </state>
    31    <state name="import_decl">
    32      <rule>
    33        <include state="string_literal"/>
    34      </rule>
    35      <rule pattern="\s+">
    36        <token type="Text"/>
    37      </rule>
    38      <rule pattern="\b(as|show|hide)\b">
    39        <token type="Keyword"/>
    40      </rule>
    41      <rule pattern="[a-zA-Z_$]\w*">
    42        <token type="Name"/>
    43      </rule>
    44      <rule pattern="\,">
    45        <token type="Punctuation"/>
    46      </rule>
    47      <rule pattern="\;">
    48        <token type="Punctuation"/>
    49        <pop depth="1"/>
    50      </rule>
    51    </state>
    52    <state name="string_single_multiline">
    53      <rule pattern="&#39;&#39;&#39;">
    54        <token type="LiteralStringSingle"/>
    55        <pop depth="1"/>
    56      </rule>
    57      <rule pattern="[^\&#39;$\\]+">
    58        <token type="LiteralStringSingle"/>
    59      </rule>
    60      <rule>
    61        <include state="string_common"/>
    62      </rule>
    63      <rule pattern="(\$|\&#39;)+">
    64        <token type="LiteralStringSingle"/>
    65      </rule>
    66    </state>
    67    <state name="root">
    68      <rule>
    69        <include state="string_literal"/>
    70      </rule>
    71      <rule pattern="#!(.*?)$">
    72        <token type="CommentPreproc"/>
    73      </rule>
    74      <rule pattern="\b(import|export)\b">
    75        <token type="Keyword"/>
    76        <push state="import_decl"/>
    77      </rule>
    78      <rule pattern="\b(library|source|part of|part)\b">
    79        <token type="Keyword"/>
    80      </rule>
    81      <rule pattern="[^\S\n]+">
    82        <token type="Text"/>
    83      </rule>
    84      <rule pattern="//.*?\n">
    85        <token type="CommentSingle"/>
    86      </rule>
    87      <rule pattern="/\*.*?\*/">
    88        <token type="CommentMultiline"/>
    89      </rule>
    90      <rule pattern="\b(class)\b(\s+)">
    91        <bygroups>
    92          <token type="KeywordDeclaration"/>
    93          <token type="Text"/>
    94        </bygroups>
    95        <push state="class"/>
    96      </rule>
    97      <rule pattern="\b(assert|break|case|catch|continue|default|do|else|finally|for|if|in|is|new|return|super|switch|this|throw|try|while)\b">
    98        <token type="Keyword"/>
    99      </rule>
   100      <rule pattern="\b(abstract|async|await|const|extends|factory|final|get|implements|native|operator|required|set|static|sync|typedef|var|with|yield)\b">
   101        <token type="KeywordDeclaration"/>
   102      </rule>
   103      <rule pattern="\b(bool|double|dynamic|int|num|Object|String|void)\b">
   104        <token type="KeywordType"/>
   105      </rule>
   106      <rule pattern="\b(false|null|true)\b">
   107        <token type="KeywordConstant"/>
   108      </rule>
   109      <rule pattern="[~!%^&amp;*+=|?:&lt;&gt;/-]|as\b">
   110        <token type="Operator"/>
   111      </rule>
   112      <rule pattern="[a-zA-Z_$]\w*:">
   113        <token type="NameLabel"/>
   114      </rule>
   115      <rule pattern="[a-zA-Z_$]\w*">
   116        <token type="Name"/>
   117      </rule>
   118      <rule pattern="[(){}\[\],.;]">
   119        <token type="Punctuation"/>
   120      </rule>
   121      <rule pattern="0[xX][0-9a-fA-F]+">
   122        <token type="LiteralNumberHex"/>
   123      </rule>
   124      <rule pattern="\d+(\.\d*)?([eE][+-]?\d+)?">
   125        <token type="LiteralNumber"/>
   126      </rule>
   127      <rule pattern="\.\d+([eE][+-]?\d+)?">
   128        <token type="LiteralNumber"/>
   129      </rule>
   130      <rule pattern="\n">
   131        <token type="Text"/>
   132      </rule>
   133    </state>
   134    <state name="string_literal">
   135      <rule pattern="r&#34;&#34;&#34;([\w\W]*?)&#34;&#34;&#34;">
   136        <token type="LiteralStringDouble"/>
   137      </rule>
   138      <rule pattern="r&#39;&#39;&#39;([\w\W]*?)&#39;&#39;&#39;">
   139        <token type="LiteralStringSingle"/>
   140      </rule>
   141      <rule pattern="r&#34;(.*?)&#34;">
   142        <token type="LiteralStringDouble"/>
   143      </rule>
   144      <rule pattern="r&#39;(.*?)&#39;">
   145        <token type="LiteralStringSingle"/>
   146      </rule>
   147      <rule pattern="&#34;&#34;&#34;">
   148        <token type="LiteralStringDouble"/>
   149        <push state="string_double_multiline"/>
   150      </rule>
   151      <rule pattern="&#39;&#39;&#39;">
   152        <token type="LiteralStringSingle"/>
   153        <push state="string_single_multiline"/>
   154      </rule>
   155      <rule pattern="&#34;">
   156        <token type="LiteralStringDouble"/>
   157        <push state="string_double"/>
   158      </rule>
   159      <rule pattern="&#39;">
   160        <token type="LiteralStringSingle"/>
   161        <push state="string_single"/>
   162      </rule>
   163    </state>
   164    <state name="string_common">
   165      <rule pattern="\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\{[0-9A-Fa-f]*\}|[a-z&#39;\&#34;$\\])">
   166        <token type="LiteralStringEscape"/>
   167      </rule>
   168      <rule pattern="(\$)([a-zA-Z_]\w*)">
   169        <bygroups>
   170          <token type="LiteralStringInterpol"/>
   171          <token type="Name"/>
   172        </bygroups>
   173      </rule>
   174      <rule pattern="(\$\{)(.*?)(\})">
   175        <bygroups>
   176          <token type="LiteralStringInterpol"/>
   177          <usingself state="root"/>
   178          <token type="LiteralStringInterpol"/>
   179        </bygroups>
   180      </rule>
   181    </state>
   182    <state name="string_double">
   183      <rule pattern="&#34;">
   184        <token type="LiteralStringDouble"/>
   185        <pop depth="1"/>
   186      </rule>
   187      <rule pattern="[^&#34;$\\\n]+">
   188        <token type="LiteralStringDouble"/>
   189      </rule>
   190      <rule>
   191        <include state="string_common"/>
   192      </rule>
   193      <rule pattern="\$+">
   194        <token type="LiteralStringDouble"/>
   195      </rule>
   196    </state>
   197    <state name="string_single">
   198      <rule pattern="&#39;">
   199        <token type="LiteralStringSingle"/>
   200        <pop depth="1"/>
   201      </rule>
   202      <rule pattern="[^&#39;$\\\n]+">
   203        <token type="LiteralStringSingle"/>
   204      </rule>
   205      <rule>
   206        <include state="string_common"/>
   207      </rule>
   208      <rule pattern="\$+">
   209        <token type="LiteralStringSingle"/>
   210      </rule>
   211    </state>
   212  </rules>
   213</lexer>

View as plain text