...

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

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

     1<lexer>
     2  <config>
     3    <name>JSON</name>
     4    <alias>json</alias>
     5    <filename>*.json</filename>
     6    <mime_type>application/json</mime_type>
     7    <dot_all>true</dot_all>
     8    <not_multiline>true</not_multiline>
     9  </config>
    10  <rules>
    11    <state name="root">
    12      <rule>
    13        <include state="value"/>
    14      </rule>
    15    </state>
    16    <state name="whitespace">
    17      <rule pattern="\s+">
    18        <token type="Text"/>
    19      </rule>
    20    </state>
    21    <state name="comment">
    22      <rule pattern="//.*?\n">
    23        <token type="CommentSingle"/>
    24      </rule>
    25    </state>
    26    <state name="simplevalue">
    27      <rule pattern="(true|false|null)\b">
    28        <token type="KeywordConstant"/>
    29      </rule>
    30      <rule pattern="-?(0|[1-9]\d*)(\.\d+[eE](\+|-)?\d+|[eE](\+|-)?\d+|\.\d+)">
    31        <token type="LiteralNumberFloat"/>
    32      </rule>
    33      <rule pattern="-?(0|[1-9]\d*)">
    34        <token type="LiteralNumberInteger"/>
    35      </rule>
    36      <rule pattern="&#34;(\\\\|\\&#34;|[^&#34;])*&#34;">
    37        <token type="LiteralStringDouble"/>
    38      </rule>
    39    </state>
    40    <state name="objectattribute">
    41      <rule>
    42        <include state="value"/>
    43      </rule>
    44      <rule pattern=":">
    45        <token type="Punctuation"/>
    46      </rule>
    47      <rule pattern=",">
    48        <token type="Punctuation"/>
    49        <pop depth="1"/>
    50      </rule>
    51      <rule pattern="\}">
    52        <token type="Punctuation"/>
    53        <pop depth="2"/>
    54      </rule>
    55    </state>
    56    <state name="objectvalue">
    57      <rule>
    58        <include state="whitespace"/>
    59      </rule>
    60      <rule>
    61        <include state="comment"/>
    62      </rule>
    63      <rule pattern="&#34;(\\\\|\\&#34;|[^&#34;])*&#34;">
    64        <token type="NameTag"/>
    65        <push state="objectattribute"/>
    66      </rule>
    67      <rule pattern="\}">
    68        <token type="Punctuation"/>
    69        <pop depth="1"/>
    70      </rule>
    71    </state>
    72    <state name="arrayvalue">
    73      <rule>
    74        <include state="whitespace"/>
    75      </rule>
    76      <rule>
    77        <include state="value"/>
    78      </rule>
    79      <rule>
    80        <include state="comment"/>
    81      </rule>
    82      <rule pattern=",">
    83        <token type="Punctuation"/>
    84      </rule>
    85      <rule pattern="\]">
    86        <token type="Punctuation"/>
    87        <pop depth="1"/>
    88      </rule>
    89    </state>
    90    <state name="value">
    91      <rule>
    92        <include state="whitespace"/>
    93      </rule>
    94      <rule>
    95        <include state="simplevalue"/>
    96      </rule>
    97      <rule>
    98        <include state="comment"/>
    99      </rule>
   100      <rule pattern="\{">
   101        <token type="Punctuation"/>
   102        <push state="objectvalue"/>
   103      </rule>
   104      <rule pattern="\[">
   105        <token type="Punctuation"/>
   106        <push state="arrayvalue"/>
   107      </rule>
   108    </state>
   109  </rules>
   110</lexer>

View as plain text