...

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

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

     1<lexer>
     2  <config>
     3    <name>GraphQL</name>
     4    <alias>graphql</alias>
     5    <alias>graphqls</alias>
     6    <alias>gql</alias>
     7    <filename>*.graphql</filename>
     8    <filename>*.graphqls</filename>
     9  </config>
    10  <rules>
    11    <state name="root">
    12      <rule pattern="(query|mutation|subscription|fragment|scalar|implements|interface|union|enum|input|type)">
    13        <token type="KeywordDeclaration"/>
    14        <push state="type"/>
    15      </rule>
    16      <rule pattern="(on|extend|schema|directive|\.\.\.)">
    17        <token type="KeywordDeclaration"/>
    18      </rule>
    19      <rule pattern="(QUERY|MUTATION|SUBSCRIPTION|FIELD|FRAGMENT_DEFINITION|FRAGMENT_SPREAD|INLINE_FRAGMENT|SCHEMA|SCALAR|OBJECT|FIELD_DEFINITION|ARGUMENT_DEFINITION|INTERFACE|UNION|ENUM|ENUM_VALUE|INPUT_OBJECT|INPUT_FIELD_DEFINITION)\b">
    20        <token type="KeywordConstant"/>
    21      </rule>
    22      <rule pattern="[^\W\d]\w*">
    23        <token type="NameProperty"/>
    24      </rule>
    25      <rule pattern="\@\w+">
    26        <token type="NameDecorator"/>
    27      </rule>
    28      <rule pattern=":">
    29        <token type="Punctuation"/>
    30        <push state="type"/>
    31      </rule>
    32      <rule pattern="[\(\)\{\}\[\],!\|=]">
    33        <token type="Punctuation"/>
    34      </rule>
    35      <rule pattern="\$\w+">
    36        <token type="NameVariable"/>
    37      </rule>
    38      <rule pattern="\d+i">
    39        <token type="LiteralNumber"/>
    40      </rule>
    41      <rule pattern="\d+\.\d*([Ee][-+]\d+)?i">
    42        <token type="LiteralNumber"/>
    43      </rule>
    44      <rule pattern="\.\d+([Ee][-+]\d+)?i">
    45        <token type="LiteralNumber"/>
    46      </rule>
    47      <rule pattern="\d+[Ee][-+]\d+i">
    48        <token type="LiteralNumber"/>
    49      </rule>
    50      <rule pattern="\d+(\.\d+[eE][+\-]?\d+|\.\d*|[eE][+\-]?\d+)">
    51        <token type="LiteralNumberFloat"/>
    52      </rule>
    53      <rule pattern="\.\d+([eE][+\-]?\d+)?">
    54        <token type="LiteralNumberFloat"/>
    55      </rule>
    56      <rule pattern="(0|[1-9][0-9]*)">
    57        <token type="LiteralNumberInteger"/>
    58      </rule>
    59      <rule pattern="&#34;&#34;&#34;[\x00-\x7F]*?&#34;&#34;&#34;">
    60        <token type="LiteralString"/>
    61      </rule>
    62      <rule pattern="&#34;(\\[&#34;\\abfnrtv]|\\x[0-9a-fA-F]{2}|\\[0-7]{1,3}|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|[^\\])&#34;">
    63        <token type="LiteralStringChar"/>
    64      </rule>
    65      <rule pattern="&#34;(\\\\|\\&#34;|[^&#34;])*&#34;">
    66        <token type="LiteralString"/>
    67      </rule>
    68      <rule pattern="&#34;(true|false|null)*&#34;">
    69        <token type="Literal"/>
    70      </rule>
    71      <rule pattern="[\r\n\s]+">
    72        <token type="TextWhitespace"/>
    73      </rule>
    74      <rule pattern="#[^\r\n]*">
    75        <token type="Comment"/>
    76      </rule>
    77    </state>
    78    <state name="type">
    79      <rule pattern="[^\W\d]\w*">
    80        <token type="NameClass"/>
    81        <pop depth="1"/>
    82      </rule>
    83      <rule>
    84        <include state="root"/>
    85      </rule>
    86    </state>
    87  </rules>
    88</lexer>

View as plain text