...

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

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

     1<lexer>
     2  <config>
     3    <name>EBNF</name>
     4    <alias>ebnf</alias>
     5    <filename>*.ebnf</filename>
     6    <mime_type>text/x-ebnf</mime_type>
     7  </config>
     8  <rules>
     9    <state name="comment">
    10      <rule pattern="[^*)]">
    11        <token type="CommentMultiline"/>
    12      </rule>
    13      <rule>
    14        <include state="comment_start"/>
    15      </rule>
    16      <rule pattern="\*\)">
    17        <token type="CommentMultiline"/>
    18        <pop depth="1"/>
    19      </rule>
    20      <rule pattern="[*)]">
    21        <token type="CommentMultiline"/>
    22      </rule>
    23    </state>
    24    <state name="identifier">
    25      <rule pattern="([a-zA-Z][\w \-]*)">
    26        <token type="Keyword"/>
    27      </rule>
    28    </state>
    29    <state name="root">
    30      <rule>
    31        <include state="whitespace"/>
    32      </rule>
    33      <rule>
    34        <include state="comment_start"/>
    35      </rule>
    36      <rule>
    37        <include state="identifier"/>
    38      </rule>
    39      <rule pattern="=">
    40        <token type="Operator"/>
    41        <push state="production"/>
    42      </rule>
    43    </state>
    44    <state name="production">
    45      <rule>
    46        <include state="whitespace"/>
    47      </rule>
    48      <rule>
    49        <include state="comment_start"/>
    50      </rule>
    51      <rule>
    52        <include state="identifier"/>
    53      </rule>
    54      <rule pattern="&#34;[^&#34;]*&#34;">
    55        <token type="LiteralStringDouble"/>
    56      </rule>
    57      <rule pattern="&#39;[^&#39;]*&#39;">
    58        <token type="LiteralStringSingle"/>
    59      </rule>
    60      <rule pattern="(\?[^?]*\?)">
    61        <token type="NameEntity"/>
    62      </rule>
    63      <rule pattern="[\[\]{}(),|]">
    64        <token type="Punctuation"/>
    65      </rule>
    66      <rule pattern="-">
    67        <token type="Operator"/>
    68      </rule>
    69      <rule pattern=";">
    70        <token type="Punctuation"/>
    71        <pop depth="1"/>
    72      </rule>
    73      <rule pattern="\.">
    74        <token type="Punctuation"/>
    75        <pop depth="1"/>
    76      </rule>
    77    </state>
    78    <state name="whitespace">
    79      <rule pattern="\s+">
    80        <token type="Text"/>
    81      </rule>
    82    </state>
    83    <state name="comment_start">
    84      <rule pattern="\(\*">
    85        <token type="CommentMultiline"/>
    86        <push state="comment"/>
    87      </rule>
    88    </state>
    89  </rules>
    90</lexer>

View as plain text