...
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=""""[\x00-\x7F]*?"""">
60 <token type="LiteralString"/>
61 </rule>
62 <rule pattern=""(\\["\\abfnrtv]|\\x[0-9a-fA-F]{2}|\\[0-7]{1,3}|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|[^\\])"">
63 <token type="LiteralStringChar"/>
64 </rule>
65 <rule pattern=""(\\\\|\\"|[^"])*"">
66 <token type="LiteralString"/>
67 </rule>
68 <rule pattern=""(true|false|null)*"">
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