...

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

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

     1<lexer>
     2  <config>
     3    <name>Common Lisp</name>
     4    <alias>common-lisp</alias>
     5    <alias>cl</alias>
     6    <alias>lisp</alias>
     7    <filename>*.cl</filename>
     8    <filename>*.lisp</filename>
     9    <mime_type>text/x-common-lisp</mime_type>
    10    <case_insensitive>true</case_insensitive>
    11  </config>
    12  <rules>
    13    <state name="body">
    14      <rule pattern="\s+">
    15        <token type="Text"/>
    16      </rule>
    17      <rule pattern=";.*$">
    18        <token type="CommentSingle"/>
    19      </rule>
    20      <rule pattern="#\|">
    21        <token type="CommentMultiline"/>
    22        <push state="multiline-comment"/>
    23      </rule>
    24      <rule pattern="#\d*Y.*$">
    25        <token type="CommentSpecial"/>
    26      </rule>
    27      <rule pattern="&#34;(\\.|\\\n|[^&#34;\\])*&#34;">
    28        <token type="LiteralString"/>
    29      </rule>
    30      <rule pattern=":(\|[^|]+\||(?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@\[\]^{}~])(?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@\[\]^{}~]|[#.:])*)">
    31        <token type="LiteralStringSymbol"/>
    32      </rule>
    33      <rule pattern="::(\|[^|]+\||(?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@\[\]^{}~])(?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@\[\]^{}~]|[#.:])*)">
    34        <token type="LiteralStringSymbol"/>
    35      </rule>
    36      <rule pattern=":#(\|[^|]+\||(?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@\[\]^{}~])(?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@\[\]^{}~]|[#.:])*)">
    37        <token type="LiteralStringSymbol"/>
    38      </rule>
    39      <rule pattern="&#39;(\|[^|]+\||(?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@\[\]^{}~])(?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@\[\]^{}~]|[#.:])*)">
    40        <token type="LiteralStringSymbol"/>
    41      </rule>
    42      <rule pattern="&#39;">
    43        <token type="Operator"/>
    44      </rule>
    45      <rule pattern="`">
    46        <token type="Operator"/>
    47      </rule>
    48      <rule pattern="[-+]?\d+\.?(?=[ &#34;()\&#39;\n,;`])">
    49        <token type="LiteralNumberInteger"/>
    50      </rule>
    51      <rule pattern="[-+]?\d+/\d+(?=[ &#34;()\&#39;\n,;`])">
    52        <token type="LiteralNumber"/>
    53      </rule>
    54      <rule pattern="[-+]?(\d*\.\d+([defls][-+]?\d+)?|\d+(\.\d*)?[defls][-+]?\d+)(?=[ &#34;()\&#39;\n,;`])">
    55        <token type="LiteralNumberFloat"/>
    56      </rule>
    57      <rule pattern="#\\.(?=[ &#34;()\&#39;\n,;`])">
    58        <token type="LiteralStringChar"/>
    59      </rule>
    60      <rule pattern="#\\(\|[^|]+\||(?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@\[\]^{}~])(?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@\[\]^{}~]|[#.:])*)">
    61        <token type="LiteralStringChar"/>
    62      </rule>
    63      <rule pattern="#\(">
    64        <token type="Operator"/>
    65        <push state="body"/>
    66      </rule>
    67      <rule pattern="#\d*\*[01]*">
    68        <token type="LiteralOther"/>
    69      </rule>
    70      <rule pattern="#:(\|[^|]+\||(?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@\[\]^{}~])(?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@\[\]^{}~]|[#.:])*)">
    71        <token type="LiteralStringSymbol"/>
    72      </rule>
    73      <rule pattern="#[.,]">
    74        <token type="Operator"/>
    75      </rule>
    76      <rule pattern="#\&#39;">
    77        <token type="NameFunction"/>
    78      </rule>
    79      <rule pattern="#b[+-]?[01]+(/[01]+)?">
    80        <token type="LiteralNumberBin"/>
    81      </rule>
    82      <rule pattern="#o[+-]?[0-7]+(/[0-7]+)?">
    83        <token type="LiteralNumberOct"/>
    84      </rule>
    85      <rule pattern="#x[+-]?[0-9a-f]+(/[0-9a-f]+)?">
    86        <token type="LiteralNumberHex"/>
    87      </rule>
    88      <rule pattern="#\d+r[+-]?[0-9a-z]+(/[0-9a-z]+)?">
    89        <token type="LiteralNumber"/>
    90      </rule>
    91      <rule pattern="(#c)(\()">
    92        <bygroups>
    93          <token type="LiteralNumber"/>
    94          <token type="Punctuation"/>
    95        </bygroups>
    96        <push state="body"/>
    97      </rule>
    98      <rule pattern="(#\d+a)(\()">
    99        <bygroups>
   100          <token type="LiteralOther"/>
   101          <token type="Punctuation"/>
   102        </bygroups>
   103        <push state="body"/>
   104      </rule>
   105      <rule pattern="(#s)(\()">
   106        <bygroups>
   107          <token type="LiteralOther"/>
   108          <token type="Punctuation"/>
   109        </bygroups>
   110        <push state="body"/>
   111      </rule>
   112      <rule pattern="#p?&#34;(\\.|[^&#34;])*&#34;">
   113        <token type="LiteralOther"/>
   114      </rule>
   115      <rule pattern="#\d+=">
   116        <token type="Operator"/>
   117      </rule>
   118      <rule pattern="#\d+#">
   119        <token type="Operator"/>
   120      </rule>
   121      <rule pattern="#+nil(?=[ &#34;()\&#39;\n,;`])\s*\(">
   122        <token type="CommentPreproc"/>
   123        <push state="commented-form"/>
   124      </rule>
   125      <rule pattern="#[+-]">
   126        <token type="Operator"/>
   127      </rule>
   128      <rule pattern="(,@|,|\.)">
   129        <token type="Operator"/>
   130      </rule>
   131      <rule pattern="(t|nil)(?=[ &#34;()\&#39;\n,;`])">
   132        <token type="NameConstant"/>
   133      </rule>
   134      <rule pattern="\*(\|[^|]+\||(?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@\[\]^{}~])(?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@\[\]^{}~]|[#.:])*)\*">
   135        <token type="NameVariableGlobal"/>
   136      </rule>
   137      <rule pattern="(\|[^|]+\||(?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@\[\]^{}~])(?:\\.|[\w!$%&amp;*+-/&lt;=&gt;?@\[\]^{}~]|[#.:])*)">
   138        <token type="NameVariable"/>
   139      </rule>
   140      <rule pattern="\(">
   141        <token type="Punctuation"/>
   142        <push state="body"/>
   143      </rule>
   144      <rule pattern="\)">
   145        <token type="Punctuation"/>
   146        <pop depth="1"/>
   147      </rule>
   148    </state>
   149    <state name="root">
   150      <rule>
   151        <push state="body"/>
   152      </rule>
   153    </state>
   154    <state name="multiline-comment">
   155      <rule pattern="#\|">
   156        <token type="CommentMultiline"/>
   157        <push/>
   158      </rule>
   159      <rule pattern="\|#">
   160        <token type="CommentMultiline"/>
   161        <pop depth="1"/>
   162      </rule>
   163      <rule pattern="[^|#]+">
   164        <token type="CommentMultiline"/>
   165      </rule>
   166      <rule pattern="[|#]">
   167        <token type="CommentMultiline"/>
   168      </rule>
   169    </state>
   170    <state name="commented-form">
   171      <rule pattern="\(">
   172        <token type="CommentPreproc"/>
   173        <push/>
   174      </rule>
   175      <rule pattern="\)">
   176        <token type="CommentPreproc"/>
   177        <pop depth="1"/>
   178      </rule>
   179      <rule pattern="[^()]+">
   180        <token type="CommentPreproc"/>
   181      </rule>
   182    </state>
   183  </rules>
   184</lexer>

View as plain text