Mercurial > yakumo_izuru > aya
comparison vendor/github.com/alecthomas/chroma/v2/lexers/embedded/react.xml @ 66:787b5ee0289d draft
Use vendored modules
Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>
author | yakumo.izuru |
---|---|
date | Sun, 23 Jul 2023 13:18:53 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
65:6d985efa0f7a | 66:787b5ee0289d |
---|---|
1 <lexer> | |
2 <config> | |
3 <name>react</name> | |
4 <alias>jsx</alias> | |
5 <alias>react</alias> | |
6 <filename>*.jsx</filename> | |
7 <filename>*.react</filename> | |
8 <mime_type>text/jsx</mime_type> | |
9 <mime_type>text/typescript-jsx</mime_type> | |
10 <dot_all>true</dot_all> | |
11 </config> | |
12 <rules> | |
13 <state name="commentsandwhitespace"> | |
14 <rule pattern="\s+"> | |
15 <token type="Text"/> | |
16 </rule> | |
17 <rule pattern="<!--"> | |
18 <token type="Comment"/> | |
19 </rule> | |
20 <rule pattern="//.*?\n"> | |
21 <token type="CommentSingle"/> | |
22 </rule> | |
23 <rule pattern="/\*.*?\*/"> | |
24 <token type="CommentMultiline"/> | |
25 </rule> | |
26 </state> | |
27 <state name="slashstartsregex"> | |
28 <rule> | |
29 <include state="commentsandwhitespace"/> | |
30 </rule> | |
31 <rule pattern="/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gimuy]+\b|\B)"> | |
32 <token type="LiteralStringRegex"/> | |
33 <pop depth="1"/> | |
34 </rule> | |
35 <rule pattern="(?=/)"> | |
36 <token type="Text"/> | |
37 <push state="#pop" state="badregex"/> | |
38 </rule> | |
39 <rule> | |
40 <pop depth="1"/> | |
41 </rule> | |
42 </state> | |
43 <state name="tag"> | |
44 <rule pattern="\s+"> | |
45 <token type="Text"/> | |
46 </rule> | |
47 <rule pattern="([\w]+\s*)(=)(\s*)"> | |
48 <bygroups> | |
49 <token type="NameAttribute"/> | |
50 <token type="Operator"/> | |
51 <token type="Text"/> | |
52 </bygroups> | |
53 <push state="attr"/> | |
54 </rule> | |
55 <rule pattern="[{}]+"> | |
56 <token type="Punctuation"/> | |
57 </rule> | |
58 <rule pattern="[\w\.]+"> | |
59 <token type="NameAttribute"/> | |
60 </rule> | |
61 <rule pattern="(/?)(\s*)(>)"> | |
62 <bygroups> | |
63 <token type="Punctuation"/> | |
64 <token type="Text"/> | |
65 <token type="Punctuation"/> | |
66 </bygroups> | |
67 <pop depth="1"/> | |
68 </rule> | |
69 </state> | |
70 <state name="expression"> | |
71 <rule pattern="{"> | |
72 <token type="Punctuation"/> | |
73 <push/> | |
74 </rule> | |
75 <rule pattern="}"> | |
76 <token type="Punctuation"/> | |
77 <pop depth="1"/> | |
78 </rule> | |
79 <rule> | |
80 <include state="root"/> | |
81 </rule> | |
82 </state> | |
83 <state name="attr"> | |
84 <rule pattern="{"> | |
85 <token type="Punctuation"/> | |
86 <push state="expression"/> | |
87 </rule> | |
88 <rule pattern="".*?""> | |
89 <token type="LiteralString"/> | |
90 <pop depth="1"/> | |
91 </rule> | |
92 <rule pattern="'.*?'"> | |
93 <token type="LiteralString"/> | |
94 <pop depth="1"/> | |
95 </rule> | |
96 <rule> | |
97 <pop depth="1"/> | |
98 </rule> | |
99 </state> | |
100 <state name="interp-inside"> | |
101 <rule pattern="\}"> | |
102 <token type="LiteralStringInterpol"/> | |
103 <pop depth="1"/> | |
104 </rule> | |
105 <rule> | |
106 <include state="root"/> | |
107 </rule> | |
108 </state> | |
109 <state name="badregex"> | |
110 <rule pattern="\n"> | |
111 <token type="Text"/> | |
112 <pop depth="1"/> | |
113 </rule> | |
114 </state> | |
115 <state name="jsx"> | |
116 <rule pattern="(<)(/?)(>)"> | |
117 <bygroups> | |
118 <token type="Punctuation"/> | |
119 <token type="Punctuation"/> | |
120 <token type="Punctuation"/> | |
121 </bygroups> | |
122 </rule> | |
123 <rule pattern="(<)([\w\.]+)"> | |
124 <bygroups> | |
125 <token type="Punctuation"/> | |
126 <token type="NameTag"/> | |
127 </bygroups> | |
128 <push state="tag"/> | |
129 </rule> | |
130 <rule pattern="(<)(/)([\w\.]+)(>)"> | |
131 <bygroups> | |
132 <token type="Punctuation"/> | |
133 <token type="Punctuation"/> | |
134 <token type="NameTag"/> | |
135 <token type="Punctuation"/> | |
136 </bygroups> | |
137 </rule> | |
138 </state> | |
139 <state name="root"> | |
140 <rule> | |
141 <include state="jsx"/> | |
142 </rule> | |
143 <rule pattern="\A#! ?/.*?\n"> | |
144 <token type="CommentHashbang"/> | |
145 </rule> | |
146 <rule pattern="^(?=\s|/|<!--)"> | |
147 <token type="Text"/> | |
148 <push state="slashstartsregex"/> | |
149 </rule> | |
150 <rule> | |
151 <include state="commentsandwhitespace"/> | |
152 </rule> | |
153 <rule pattern="(\.\d+|[0-9]+\.[0-9]*)([eE][-+]?[0-9]+)?"> | |
154 <token type="LiteralNumberFloat"/> | |
155 </rule> | |
156 <rule pattern="0[bB][01]+"> | |
157 <token type="LiteralNumberBin"/> | |
158 </rule> | |
159 <rule pattern="0[oO][0-7]+"> | |
160 <token type="LiteralNumberOct"/> | |
161 </rule> | |
162 <rule pattern="0[xX][0-9a-fA-F]+"> | |
163 <token type="LiteralNumberHex"/> | |
164 </rule> | |
165 <rule pattern="[0-9]+"> | |
166 <token type="LiteralNumberInteger"/> | |
167 </rule> | |
168 <rule pattern="\.\.\.|=>"> | |
169 <token type="Punctuation"/> | |
170 </rule> | |
171 <rule pattern="\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?"> | |
172 <token type="Operator"/> | |
173 <push state="slashstartsregex"/> | |
174 </rule> | |
175 <rule pattern="[{(\[;,]"> | |
176 <token type="Punctuation"/> | |
177 <push state="slashstartsregex"/> | |
178 </rule> | |
179 <rule pattern="[})\].]"> | |
180 <token type="Punctuation"/> | |
181 </rule> | |
182 <rule pattern="(for|in|while|do|break|return|continue|switch|case|default|if|else|throw|try|catch|finally|new|delete|typeof|instanceof|void|yield|this|of)\b"> | |
183 <token type="Keyword"/> | |
184 <push state="slashstartsregex"/> | |
185 </rule> | |
186 <rule pattern="(var|let|with|function)\b"> | |
187 <token type="KeywordDeclaration"/> | |
188 <push state="slashstartsregex"/> | |
189 </rule> | |
190 <rule pattern="(abstract|async|await|boolean|byte|char|class|const|debugger|double|enum|export|extends|final|float|goto|implements|import|int|interface|long|native|package|private|protected|public|short|static|super|synchronized|throws|transient|volatile)\b"> | |
191 <token type="KeywordReserved"/> | |
192 </rule> | |
193 <rule pattern="(true|false|null|NaN|Infinity|undefined)\b"> | |
194 <token type="KeywordConstant"/> | |
195 </rule> | |
196 <rule pattern="(Array|Boolean|Date|Error|Function|Math|netscape|Number|Object|Packages|RegExp|String|Promise|Proxy|sun|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|Error|eval|isFinite|isNaN|isSafeInteger|parseFloat|parseInt|document|this|window)\b"> | |
197 <token type="NameBuiltin"/> | |
198 </rule> | |
199 <rule pattern="(?:[$_\p{L}\p{N}]|\\u[a-fA-F0-9]{4})(?:(?:[$\p{L}\p{N}]|\\u[a-fA-F0-9]{4}))*"> | |
200 <token type="NameOther"/> | |
201 </rule> | |
202 <rule pattern=""(\\\\|\\"|[^"])*""> | |
203 <token type="LiteralStringDouble"/> | |
204 </rule> | |
205 <rule pattern="'(\\\\|\\'|[^'])*'"> | |
206 <token type="LiteralStringSingle"/> | |
207 </rule> | |
208 <rule pattern="`"> | |
209 <token type="LiteralStringBacktick"/> | |
210 <push state="interp"/> | |
211 </rule> | |
212 </state> | |
213 <state name="interp"> | |
214 <rule pattern="`"> | |
215 <token type="LiteralStringBacktick"/> | |
216 <pop depth="1"/> | |
217 </rule> | |
218 <rule pattern="\\\\"> | |
219 <token type="LiteralStringBacktick"/> | |
220 </rule> | |
221 <rule pattern="\\`"> | |
222 <token type="LiteralStringBacktick"/> | |
223 </rule> | |
224 <rule pattern="\$\{"> | |
225 <token type="LiteralStringInterpol"/> | |
226 <push state="interp-inside"/> | |
227 </rule> | |
228 <rule pattern="\$"> | |
229 <token type="LiteralStringBacktick"/> | |
230 </rule> | |
231 <rule pattern="[^`\\$]+"> | |
232 <token type="LiteralStringBacktick"/> | |
233 </rule> | |
234 </state> | |
235 </rules> | |
236 </lexer> |