...

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

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

     1<lexer>
     2  <config>
     3    <name>Prolog</name>
     4    <alias>prolog</alias>
     5    <filename>*.ecl</filename>
     6    <filename>*.prolog</filename>
     7    <filename>*.pro</filename>
     8    <filename>*.pl</filename>
     9    <mime_type>text/x-prolog</mime_type>
    10  </config>
    11  <rules>
    12    <state name="root">
    13      <rule pattern="/\*">
    14        <token type="CommentMultiline"/>
    15        <push state="nested-comment"/>
    16      </rule>
    17      <rule pattern="%.*">
    18        <token type="CommentSingle"/>
    19      </rule>
    20      <rule pattern="0\&#39;.">
    21        <token type="LiteralStringChar"/>
    22      </rule>
    23      <rule pattern="0b[01]+">
    24        <token type="LiteralNumberBin"/>
    25      </rule>
    26      <rule pattern="0o[0-7]+">
    27        <token type="LiteralNumberOct"/>
    28      </rule>
    29      <rule pattern="0x[0-9a-fA-F]+">
    30        <token type="LiteralNumberHex"/>
    31      </rule>
    32      <rule pattern="\d\d?\&#39;[a-zA-Z0-9]+">
    33        <token type="LiteralNumberInteger"/>
    34      </rule>
    35      <rule pattern="(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?">
    36        <token type="LiteralNumberFloat"/>
    37      </rule>
    38      <rule pattern="\d+">
    39        <token type="LiteralNumberInteger"/>
    40      </rule>
    41      <rule pattern="[\[\](){}|.,;!]">
    42        <token type="Punctuation"/>
    43      </rule>
    44      <rule pattern=":-|--&gt;">
    45        <token type="Punctuation"/>
    46      </rule>
    47      <rule pattern="&#34;(?:\\x[0-9a-fA-F]+\\|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|\\[0-7]+\\|\\[&#34;\nabcefnrstv]|[^\\&#34;])*&#34;">
    48        <token type="LiteralStringDouble"/>
    49      </rule>
    50      <rule pattern="&#39;(?:&#39;&#39;|[^&#39;])*&#39;">
    51        <token type="LiteralStringAtom"/>
    52      </rule>
    53      <rule pattern="is\b">
    54        <token type="Operator"/>
    55      </rule>
    56      <rule pattern="(&lt;|&gt;|=&lt;|&gt;=|==|=:=|=|/|//|\*|\+|-)(?=\s|[a-zA-Z0-9\[])">
    57        <token type="Operator"/>
    58      </rule>
    59      <rule pattern="(mod|div|not)\b">
    60        <token type="Operator"/>
    61      </rule>
    62      <rule pattern="_">
    63        <token type="Keyword"/>
    64      </rule>
    65      <rule pattern="([a-z]+)(:)">
    66        <bygroups>
    67          <token type="NameNamespace"/>
    68          <token type="Punctuation"/>
    69        </bygroups>
    70      </rule>
    71      <rule pattern="([a-zÀ-῿぀-퟿-￯][\w$À-῿぀-퟿-￯]*)(\s*)(:-|--&gt;)">
    72        <bygroups>
    73          <token type="NameFunction"/>
    74          <token type="Text"/>
    75          <token type="Operator"/>
    76        </bygroups>
    77      </rule>
    78      <rule pattern="([a-zÀ-῿぀-퟿-￯][\w$À-῿぀-퟿-￯]*)(\s*)(\()">
    79        <bygroups>
    80          <token type="NameFunction"/>
    81          <token type="Text"/>
    82          <token type="Punctuation"/>
    83        </bygroups>
    84      </rule>
    85      <rule pattern="[a-zÀ-῿぀-퟿-￯][\w$À-῿぀-퟿-￯]*">
    86        <token type="LiteralStringAtom"/>
    87      </rule>
    88      <rule pattern="[#&amp;*+\-./:&lt;=&gt;?@\\^~¡-¿‐-〿]+">
    89        <token type="LiteralStringAtom"/>
    90      </rule>
    91      <rule pattern="[A-Z_]\w*">
    92        <token type="NameVariable"/>
    93      </rule>
    94      <rule pattern="\s+|[ -‏￰-�￯]">
    95        <token type="Text"/>
    96      </rule>
    97    </state>
    98    <state name="nested-comment">
    99      <rule pattern="\*/">
   100        <token type="CommentMultiline"/>
   101        <pop depth="1"/>
   102      </rule>
   103      <rule pattern="/\*">
   104        <token type="CommentMultiline"/>
   105        <push/>
   106      </rule>
   107      <rule pattern="[^*/]+">
   108        <token type="CommentMultiline"/>
   109      </rule>
   110      <rule pattern="[*/]">
   111        <token type="CommentMultiline"/>
   112      </rule>
   113    </state>
   114  </rules>
   115</lexer>

View as plain text