...

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

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

     1<lexer>
     2  <config>
     3    <name>R</name>
     4    <alias>splus</alias>
     5    <alias>s</alias>
     6    <alias>r</alias>
     7    <filename>*.S</filename>
     8    <filename>*.R</filename>
     9    <filename>*.r</filename>
    10    <filename>.Rhistory</filename>
    11    <filename>.Rprofile</filename>
    12    <filename>.Renviron</filename>
    13    <mime_type>text/S-plus</mime_type>
    14    <mime_type>text/S</mime_type>
    15    <mime_type>text/x-r-source</mime_type>
    16    <mime_type>text/x-r</mime_type>
    17    <mime_type>text/x-R</mime_type>
    18    <mime_type>text/x-r-history</mime_type>
    19    <mime_type>text/x-r-profile</mime_type>
    20  </config>
    21  <rules>
    22    <state name="numbers">
    23      <rule pattern="0[xX][a-fA-F0-9]+([pP][0-9]+)?[Li]?">
    24        <token type="LiteralNumberHex"/>
    25      </rule>
    26      <rule pattern="[+-]?([0-9]+(\.[0-9]+)?|\.[0-9]+|\.)([eE][+-]?[0-9]+)?[Li]?">
    27        <token type="LiteralNumber"/>
    28      </rule>
    29    </state>
    30    <state name="operators">
    31      <rule pattern="&lt;&lt;?-|-&gt;&gt;?|-|==|&lt;=|&gt;=|&lt;|&gt;|&amp;&amp;?|!=|\|\|?|\?">
    32        <token type="Operator"/>
    33      </rule>
    34      <rule pattern="\*|\+|\^|/|!|%[^%]*%|=|~|\$|@|:{1,3}">
    35        <token type="Operator"/>
    36      </rule>
    37    </state>
    38    <state name="root">
    39      <rule pattern="((?:`[^`\\]*(?:\\.[^`\\]*)*`)|(?:(?:[a-zA-z]|[_.][^0-9])[\w_.]*))\s*(?=\()">
    40        <token type="NameFunction"/>
    41      </rule>
    42      <rule>
    43        <include state="statements"/>
    44      </rule>
    45      <rule pattern="\{|\}">
    46        <token type="Punctuation"/>
    47      </rule>
    48      <rule pattern=".">
    49        <token type="Text"/>
    50      </rule>
    51    </state>
    52    <state name="valid_name">
    53      <rule pattern="(?:`[^`\\]*(?:\\.[^`\\]*)*`)|(?:(?:[a-zA-z]|[_.][^0-9])[\w_.]*)">
    54        <token type="Name"/>
    55      </rule>
    56    </state>
    57    <state name="keywords">
    58      <rule pattern="(if|else|for|while|repeat|in|next|break|return|switch|function)(?![\w.])">
    59        <token type="KeywordReserved"/>
    60      </rule>
    61    </state>
    62    <state name="builtin_symbols">
    63      <rule pattern="(NULL|NA(_(integer|real|complex|character)_)?|letters|LETTERS|Inf|TRUE|FALSE|NaN|pi|\.\.(\.|[0-9]+))(?![\w.])">
    64        <token type="KeywordConstant"/>
    65      </rule>
    66      <rule pattern="(T|F)\b">
    67        <token type="NameBuiltinPseudo"/>
    68      </rule>
    69    </state>
    70    <state name="string_squote">
    71      <rule pattern="([^\&#39;\\]|\\.)*\&#39;">
    72        <token type="LiteralString"/>
    73        <pop depth="1"/>
    74      </rule>
    75    </state>
    76    <state name="comments">
    77      <rule pattern="#.*$">
    78        <token type="CommentSingle"/>
    79      </rule>
    80    </state>
    81    <state name="punctuation">
    82      <rule pattern="\[{1,2}|\]{1,2}|\(|\)|;|,">
    83        <token type="Punctuation"/>
    84      </rule>
    85    </state>
    86    <state name="statements">
    87      <rule>
    88        <include state="comments"/>
    89      </rule>
    90      <rule pattern="\s+">
    91        <token type="Text"/>
    92      </rule>
    93      <rule pattern="\&#39;">
    94        <token type="LiteralString"/>
    95        <push state="string_squote"/>
    96      </rule>
    97      <rule pattern="\&#34;">
    98        <token type="LiteralString"/>
    99        <push state="string_dquote"/>
   100      </rule>
   101      <rule>
   102        <include state="builtin_symbols"/>
   103      </rule>
   104      <rule>
   105        <include state="valid_name"/>
   106      </rule>
   107      <rule>
   108        <include state="numbers"/>
   109      </rule>
   110      <rule>
   111        <include state="keywords"/>
   112      </rule>
   113      <rule>
   114        <include state="punctuation"/>
   115      </rule>
   116      <rule>
   117        <include state="operators"/>
   118      </rule>
   119    </state>
   120    <state name="string_dquote">
   121      <rule pattern="([^&#34;\\]|\\.)*&#34;">
   122        <token type="LiteralString"/>
   123        <pop depth="1"/>
   124      </rule>
   125    </state>
   126  </rules>
   127</lexer>

View as plain text