...

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

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

     1<lexer>
     2  <config>
     3    <name>EmacsLisp</name>
     4    <alias>emacs</alias>
     5    <alias>elisp</alias>
     6    <alias>emacs-lisp</alias>
     7    <filename>*.el</filename>
     8    <mime_type>text/x-elisp</mime_type>
     9    <mime_type>application/x-elisp</mime_type>
    10  </config>
    11  <rules>
    12    <state name="string">
    13      <rule pattern="[^&#34;\\`]+">
    14        <token type="LiteralString"/>
    15      </rule>
    16      <rule pattern="`((?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@^{}~|])(?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@^{}~|]|[#.:])*)\&#39;">
    17        <token type="LiteralStringSymbol"/>
    18      </rule>
    19      <rule pattern="`">
    20        <token type="LiteralString"/>
    21      </rule>
    22      <rule pattern="\\.">
    23        <token type="LiteralString"/>
    24      </rule>
    25      <rule pattern="\\\n">
    26        <token type="LiteralString"/>
    27      </rule>
    28      <rule pattern="&#34;">
    29        <token type="LiteralString"/>
    30        <pop depth="1"/>
    31      </rule>
    32    </state>
    33    <state name="root">
    34      <rule>
    35        <push state="body"/>
    36      </rule>
    37    </state>
    38    <state name="body">
    39      <rule pattern="\s+">
    40        <token type="Text"/>
    41      </rule>
    42      <rule pattern=";.*$">
    43        <token type="CommentSingle"/>
    44      </rule>
    45      <rule pattern="&#34;">
    46        <token type="LiteralString"/>
    47        <push state="string"/>
    48      </rule>
    49      <rule pattern="\?([^\\]|\\.)">
    50        <token type="LiteralStringChar"/>
    51      </rule>
    52      <rule pattern=":((?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@^{}~|])(?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@^{}~|]|[#.:])*)">
    53        <token type="NameBuiltin"/>
    54      </rule>
    55      <rule pattern="::((?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@^{}~|])(?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@^{}~|]|[#.:])*)">
    56        <token type="LiteralStringSymbol"/>
    57      </rule>
    58      <rule pattern="&#39;((?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@^{}~|])(?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@^{}~|]|[#.:])*)">
    59        <token type="LiteralStringSymbol"/>
    60      </rule>
    61      <rule pattern="&#39;">
    62        <token type="Operator"/>
    63      </rule>
    64      <rule pattern="`">
    65        <token type="Operator"/>
    66      </rule>
    67      <rule pattern="[-+]?\d+\.?(?=[ &#34;()\]\&#39;\n,;`])">
    68        <token type="LiteralNumberInteger"/>
    69      </rule>
    70      <rule pattern="[-+]?\d+/\d+(?=[ &#34;()\]\&#39;\n,;`])">
    71        <token type="LiteralNumber"/>
    72      </rule>
    73      <rule pattern="[-+]?(\d*\.\d+([defls][-+]?\d+)?|\d+(\.\d*)?[defls][-+]?\d+)(?=[ &#34;()\]\&#39;\n,;`])">
    74        <token type="LiteralNumberFloat"/>
    75      </rule>
    76      <rule pattern="\[|\]">
    77        <token type="Punctuation"/>
    78      </rule>
    79      <rule pattern="#:((?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@^{}~|])(?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@^{}~|]|[#.:])*)">
    80        <token type="LiteralStringSymbol"/>
    81      </rule>
    82      <rule pattern="#\^\^?">
    83        <token type="Operator"/>
    84      </rule>
    85      <rule pattern="#\&#39;">
    86        <token type="NameFunction"/>
    87      </rule>
    88      <rule pattern="#[bB][+-]?[01]+(/[01]+)?">
    89        <token type="LiteralNumberBin"/>
    90      </rule>
    91      <rule pattern="#[oO][+-]?[0-7]+(/[0-7]+)?">
    92        <token type="LiteralNumberOct"/>
    93      </rule>
    94      <rule pattern="#[xX][+-]?[0-9a-fA-F]+(/[0-9a-fA-F]+)?">
    95        <token type="LiteralNumberHex"/>
    96      </rule>
    97      <rule pattern="#\d+r[+-]?[0-9a-zA-Z]+(/[0-9a-zA-Z]+)?">
    98        <token type="LiteralNumber"/>
    99      </rule>
   100      <rule pattern="#\d+=">
   101        <token type="Operator"/>
   102      </rule>
   103      <rule pattern="#\d+#">
   104        <token type="Operator"/>
   105      </rule>
   106      <rule pattern="(,@|,|\.|:)">
   107        <token type="Operator"/>
   108      </rule>
   109      <rule pattern="(t|nil)(?=[ &#34;()\]\&#39;\n,;`])">
   110        <token type="NameConstant"/>
   111      </rule>
   112      <rule pattern="\*((?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@^{}~|])(?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@^{}~|]|[#.:])*)\*">
   113        <token type="NameVariableGlobal"/>
   114      </rule>
   115      <rule pattern="((?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@^{}~|])(?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@^{}~|]|[#.:])*)">
   116        <token type="NameVariable"/>
   117      </rule>
   118      <rule pattern="#\(">
   119        <token type="Operator"/>
   120        <push state="body"/>
   121      </rule>
   122      <rule pattern="\(">
   123        <token type="Punctuation"/>
   124        <push state="body"/>
   125      </rule>
   126      <rule pattern="\)">
   127        <token type="Punctuation"/>
   128        <pop depth="1"/>
   129      </rule>
   130    </state>
   131  </rules>
   132</lexer>

View as plain text