...

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

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

     1<lexer>
     2  <config>
     3    <name>Turtle</name>
     4    <alias>turtle</alias>
     5    <filename>*.ttl</filename>
     6    <mime_type>text/turtle</mime_type>
     7    <mime_type>application/x-turtle</mime_type>
     8    <case_insensitive>true</case_insensitive>
     9    <not_multiline>true</not_multiline>
    10  </config>
    11  <rules>
    12    <state name="triple-double-quoted-string">
    13      <rule pattern="&#34;&#34;&#34;">
    14        <token type="LiteralString"/>
    15        <push state="end-of-string"/>
    16      </rule>
    17      <rule pattern="[^\\]+">
    18        <token type="LiteralString"/>
    19      </rule>
    20      <rule pattern="\\">
    21        <token type="LiteralString"/>
    22        <push state="string-escape"/>
    23      </rule>
    24    </state>
    25    <state name="single-double-quoted-string">
    26      <rule pattern="&#34;">
    27        <token type="LiteralString"/>
    28        <push state="end-of-string"/>
    29      </rule>
    30      <rule pattern="[^&#34;\\\n]+">
    31        <token type="LiteralString"/>
    32      </rule>
    33      <rule pattern="\\">
    34        <token type="LiteralString"/>
    35        <push state="string-escape"/>
    36      </rule>
    37    </state>
    38    <state name="triple-single-quoted-string">
    39      <rule pattern="&#39;&#39;&#39;">
    40        <token type="LiteralString"/>
    41        <push state="end-of-string"/>
    42      </rule>
    43      <rule pattern="[^\\]+">
    44        <token type="LiteralString"/>
    45      </rule>
    46      <rule pattern="\\">
    47        <token type="LiteralString"/>
    48        <push state="string-escape"/>
    49      </rule>
    50    </state>
    51    <state name="single-single-quoted-string">
    52      <rule pattern="&#39;">
    53        <token type="LiteralString"/>
    54        <push state="end-of-string"/>
    55      </rule>
    56      <rule pattern="[^&#39;\\\n]+">
    57        <token type="LiteralString"/>
    58      </rule>
    59      <rule pattern="\\">
    60        <token type="LiteralString"/>
    61        <push state="string-escape"/>
    62      </rule>
    63    </state>
    64    <state name="string-escape">
    65      <rule pattern=".">
    66        <token type="LiteralString"/>
    67        <pop depth="1"/>
    68      </rule>
    69    </state>
    70    <state name="end-of-string">
    71      <rule pattern="(@)([a-z]+(:?-[a-z0-9]+)*)">
    72        <bygroups>
    73          <token type="Operator"/>
    74          <token type="GenericEmph"/>
    75          <token type="GenericEmph"/>
    76        </bygroups>
    77        <pop depth="2"/>
    78      </rule>
    79      <rule pattern="(\^\^)(&lt;[^&lt;&gt;&#34;{}|^`\\\x00-\x20]*&gt;)">
    80        <bygroups>
    81          <token type="Operator"/>
    82          <token type="GenericEmph"/>
    83        </bygroups>
    84        <pop depth="2"/>
    85      </rule>
    86      <rule pattern="(\^\^)((?:[a-z][\w-]*)?\:)([a-z][\w-]*)">
    87        <bygroups>
    88          <token type="Operator"/>
    89          <token type="GenericEmph"/>
    90          <token type="GenericEmph"/>
    91        </bygroups>
    92        <pop depth="2"/>
    93      </rule>
    94      <rule>
    95        <pop depth="2"/>
    96      </rule>
    97    </state>
    98    <state name="root">
    99      <rule pattern="\s+">
   100        <token type="TextWhitespace"/>
   101      </rule>
   102      <rule pattern="(@base|BASE)(\s+)(&lt;[^&lt;&gt;&#34;{}|^`\\\x00-\x20]*&gt;)(\s*)(\.?)">
   103        <bygroups>
   104          <token type="Keyword"/>
   105          <token type="TextWhitespace"/>
   106          <token type="NameVariable"/>
   107          <token type="TextWhitespace"/>
   108          <token type="Punctuation"/>
   109        </bygroups>
   110      </rule>
   111      <rule pattern="(@prefix|PREFIX)(\s+)((?:[a-z][\w-]*)?\:)(\s+)(&lt;[^&lt;&gt;&#34;{}|^`\\\x00-\x20]*&gt;)(\s*)(\.?)">
   112        <bygroups>
   113          <token type="Keyword"/>
   114          <token type="TextWhitespace"/>
   115          <token type="NameNamespace"/>
   116          <token type="TextWhitespace"/>
   117          <token type="NameVariable"/>
   118          <token type="TextWhitespace"/>
   119          <token type="Punctuation"/>
   120        </bygroups>
   121      </rule>
   122      <rule pattern="(?&lt;=\s)a(?=\s)">
   123        <token type="KeywordType"/>
   124      </rule>
   125      <rule pattern="(&lt;[^&lt;&gt;&#34;{}|^`\\\x00-\x20]*&gt;)">
   126        <token type="NameVariable"/>
   127      </rule>
   128      <rule pattern="((?:[a-z][\w-]*)?\:)([a-z][\w-]*)">
   129        <bygroups>
   130          <token type="NameNamespace"/>
   131          <token type="NameTag"/>
   132        </bygroups>
   133      </rule>
   134      <rule pattern="#[^\n]+">
   135        <token type="Comment"/>
   136      </rule>
   137      <rule pattern="\b(true|false)\b">
   138        <token type="Literal"/>
   139      </rule>
   140      <rule pattern="[+\-]?\d*\.\d+">
   141        <token type="LiteralNumberFloat"/>
   142      </rule>
   143      <rule pattern="[+\-]?\d*(:?\.\d+)?E[+\-]?\d+">
   144        <token type="LiteralNumberFloat"/>
   145      </rule>
   146      <rule pattern="[+\-]?\d+">
   147        <token type="LiteralNumberInteger"/>
   148      </rule>
   149      <rule pattern="[\[\](){}.;,:^]">
   150        <token type="Punctuation"/>
   151      </rule>
   152      <rule pattern="&#34;&#34;&#34;">
   153        <token type="LiteralString"/>
   154        <push state="triple-double-quoted-string"/>
   155      </rule>
   156      <rule pattern="&#34;">
   157        <token type="LiteralString"/>
   158        <push state="single-double-quoted-string"/>
   159      </rule>
   160      <rule pattern="&#39;&#39;&#39;">
   161        <token type="LiteralString"/>
   162        <push state="triple-single-quoted-string"/>
   163      </rule>
   164      <rule pattern="&#39;">
   165        <token type="LiteralString"/>
   166        <push state="single-single-quoted-string"/>
   167      </rule>
   168    </state>
   169  </rules>
   170</lexer>

View as plain text