Mercurial > yakumo_izuru > aya
comparison vendor/github.com/alecthomas/chroma/v2/lexers/embedded/elixir.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>Elixir</name> | |
4 <alias>elixir</alias> | |
5 <alias>ex</alias> | |
6 <alias>exs</alias> | |
7 <filename>*.ex</filename> | |
8 <filename>*.exs</filename> | |
9 <mime_type>text/x-elixir</mime_type> | |
10 </config> | |
11 <rules> | |
12 <state name="cb-intp"> | |
13 <rule pattern="[^#\}\\]+"> | |
14 <token type="LiteralStringOther"/> | |
15 </rule> | |
16 <rule> | |
17 <include state="escapes"/> | |
18 </rule> | |
19 <rule pattern="\\."> | |
20 <token type="LiteralStringOther"/> | |
21 </rule> | |
22 <rule pattern="\}[a-zA-Z]*"> | |
23 <token type="LiteralStringOther"/> | |
24 <pop depth="1"/> | |
25 </rule> | |
26 <rule> | |
27 <include state="interpol"/> | |
28 </rule> | |
29 </state> | |
30 <state name="triquot-end"> | |
31 <rule pattern="[a-zA-Z]+"> | |
32 <token type="LiteralStringOther"/> | |
33 <pop depth="1"/> | |
34 </rule> | |
35 <rule> | |
36 <pop depth="1"/> | |
37 </rule> | |
38 </state> | |
39 <state name="apos-no-intp"> | |
40 <rule pattern="[^'\\]+"> | |
41 <token type="LiteralStringOther"/> | |
42 </rule> | |
43 <rule pattern="\\."> | |
44 <token type="LiteralStringOther"/> | |
45 </rule> | |
46 <rule pattern="'[a-zA-Z]*"> | |
47 <token type="LiteralStringOther"/> | |
48 <pop depth="1"/> | |
49 </rule> | |
50 </state> | |
51 <state name="slas-no-intp"> | |
52 <rule pattern="[^/\\]+"> | |
53 <token type="LiteralStringOther"/> | |
54 </rule> | |
55 <rule pattern="\\."> | |
56 <token type="LiteralStringOther"/> | |
57 </rule> | |
58 <rule pattern="/[a-zA-Z]*"> | |
59 <token type="LiteralStringOther"/> | |
60 <pop depth="1"/> | |
61 </rule> | |
62 </state> | |
63 <state name="pipe-no-intp"> | |
64 <rule pattern="[^\|\\]+"> | |
65 <token type="LiteralStringOther"/> | |
66 </rule> | |
67 <rule pattern="\\."> | |
68 <token type="LiteralStringOther"/> | |
69 </rule> | |
70 <rule pattern="\|[a-zA-Z]*"> | |
71 <token type="LiteralStringOther"/> | |
72 <pop depth="1"/> | |
73 </rule> | |
74 </state> | |
75 <state name="apos-intp"> | |
76 <rule pattern="[^#'\\]+"> | |
77 <token type="LiteralStringOther"/> | |
78 </rule> | |
79 <rule> | |
80 <include state="escapes"/> | |
81 </rule> | |
82 <rule pattern="\\."> | |
83 <token type="LiteralStringOther"/> | |
84 </rule> | |
85 <rule pattern="'[a-zA-Z]*"> | |
86 <token type="LiteralStringOther"/> | |
87 <pop depth="1"/> | |
88 </rule> | |
89 <rule> | |
90 <include state="interpol"/> | |
91 </rule> | |
92 </state> | |
93 <state name="cb-no-intp"> | |
94 <rule pattern="[^\}\\]+"> | |
95 <token type="LiteralStringOther"/> | |
96 </rule> | |
97 <rule pattern="\\."> | |
98 <token type="LiteralStringOther"/> | |
99 </rule> | |
100 <rule pattern="\}[a-zA-Z]*"> | |
101 <token type="LiteralStringOther"/> | |
102 <pop depth="1"/> | |
103 </rule> | |
104 </state> | |
105 <state name="heredoc_double"> | |
106 <rule pattern="^\s*""""> | |
107 <token type="LiteralStringHeredoc"/> | |
108 <pop depth="1"/> | |
109 </rule> | |
110 <rule> | |
111 <include state="heredoc_interpol"/> | |
112 </rule> | |
113 </state> | |
114 <state name="triapos-end"> | |
115 <rule pattern="[a-zA-Z]+"> | |
116 <token type="LiteralStringOther"/> | |
117 <pop depth="1"/> | |
118 </rule> | |
119 <rule> | |
120 <pop depth="1"/> | |
121 </rule> | |
122 </state> | |
123 <state name="interpol_string"> | |
124 <rule pattern="\}"> | |
125 <token type="LiteralStringInterpol"/> | |
126 <pop depth="1"/> | |
127 </rule> | |
128 <rule> | |
129 <include state="root"/> | |
130 </rule> | |
131 </state> | |
132 <state name="triquot-intp"> | |
133 <rule pattern="^\s*""""> | |
134 <token type="LiteralStringHeredoc"/> | |
135 <pop depth="1"/> | |
136 </rule> | |
137 <rule> | |
138 <include state="heredoc_interpol"/> | |
139 </rule> | |
140 </state> | |
141 <state name="interpol"> | |
142 <rule pattern="#\{"> | |
143 <token type="LiteralStringInterpol"/> | |
144 <push state="interpol_string"/> | |
145 </rule> | |
146 </state> | |
147 <state name="pa-no-intp"> | |
148 <rule pattern="[^\)\\]+"> | |
149 <token type="LiteralStringOther"/> | |
150 </rule> | |
151 <rule pattern="\\."> | |
152 <token type="LiteralStringOther"/> | |
153 </rule> | |
154 <rule pattern="\)[a-zA-Z]*"> | |
155 <token type="LiteralStringOther"/> | |
156 <pop depth="1"/> | |
157 </rule> | |
158 </state> | |
159 <state name="map_key"> | |
160 <rule> | |
161 <include state="root"/> | |
162 </rule> | |
163 <rule pattern=":"> | |
164 <token type="Punctuation"/> | |
165 <push state="map_val"/> | |
166 </rule> | |
167 <rule pattern="=>"> | |
168 <token type="Punctuation"/> | |
169 <push state="map_val"/> | |
170 </rule> | |
171 <rule pattern="\}"> | |
172 <token type="Punctuation"/> | |
173 <pop depth="1"/> | |
174 </rule> | |
175 </state> | |
176 <state name="pa-intp"> | |
177 <rule pattern="[^#\)\\]+"> | |
178 <token type="LiteralStringOther"/> | |
179 </rule> | |
180 <rule> | |
181 <include state="escapes"/> | |
182 </rule> | |
183 <rule pattern="\\."> | |
184 <token type="LiteralStringOther"/> | |
185 </rule> | |
186 <rule pattern="\)[a-zA-Z]*"> | |
187 <token type="LiteralStringOther"/> | |
188 <pop depth="1"/> | |
189 </rule> | |
190 <rule> | |
191 <include state="interpol"/> | |
192 </rule> | |
193 </state> | |
194 <state name="tuple"> | |
195 <rule> | |
196 <include state="root"/> | |
197 </rule> | |
198 <rule pattern="\}"> | |
199 <token type="Punctuation"/> | |
200 <pop depth="1"/> | |
201 </rule> | |
202 </state> | |
203 <state name="root"> | |
204 <rule pattern="\s+"> | |
205 <token type="Text"/> | |
206 </rule> | |
207 <rule pattern="#.*$"> | |
208 <token type="CommentSingle"/> | |
209 </rule> | |
210 <rule pattern="(\?)(\\x\{)([\da-fA-F]+)(\})"> | |
211 <bygroups> | |
212 <token type="LiteralStringChar"/> | |
213 <token type="LiteralStringEscape"/> | |
214 <token type="LiteralNumberHex"/> | |
215 <token type="LiteralStringEscape"/> | |
216 </bygroups> | |
217 </rule> | |
218 <rule pattern="(\?)(\\x[\da-fA-F]{1,2})"> | |
219 <bygroups> | |
220 <token type="LiteralStringChar"/> | |
221 <token type="LiteralStringEscape"/> | |
222 </bygroups> | |
223 </rule> | |
224 <rule pattern="(\?)(\\[abdefnrstv])"> | |
225 <bygroups> | |
226 <token type="LiteralStringChar"/> | |
227 <token type="LiteralStringEscape"/> | |
228 </bygroups> | |
229 </rule> | |
230 <rule pattern="\?\\?."> | |
231 <token type="LiteralStringChar"/> | |
232 </rule> | |
233 <rule pattern=":::"> | |
234 <token type="LiteralStringSymbol"/> | |
235 </rule> | |
236 <rule pattern="::"> | |
237 <token type="Operator"/> | |
238 </rule> | |
239 <rule pattern=":(?:\.\.\.|<<>>|%\{\}|%|\{\})"> | |
240 <token type="LiteralStringSymbol"/> | |
241 </rule> | |
242 <rule pattern=":(?:(?:\.\.\.|[a-z_]\w*[!?]?)|[A-Z]\w*(?:\.[A-Z]\w*)*|(?:\<\<\<|\>\>\>|\|\|\||\&\&\&|\^\^\^|\~\~\~|\=\=\=|\!\=\=|\~\>\>|\<\~\>|\|\~\>|\<\|\>|\=\=|\!\=|\<\=|\>\=|\&\&|\|\||\<\>|\+\+|\-\-|\|\>|\=\~|\-\>|\<\-|\||\.|\=|\~\>|\<\~|\<|\>|\+|\-|\*|\/|\!|\^|\&))"> | |
243 <token type="LiteralStringSymbol"/> | |
244 </rule> | |
245 <rule pattern=":""> | |
246 <token type="LiteralStringSymbol"/> | |
247 <push state="string_double_atom"/> | |
248 </rule> | |
249 <rule pattern=":'"> | |
250 <token type="LiteralStringSymbol"/> | |
251 <push state="string_single_atom"/> | |
252 </rule> | |
253 <rule pattern="((?:\.\.\.|<<>>|%\{\}|%|\{\})|(?:(?:\.\.\.|[a-z_]\w*[!?]?)|[A-Z]\w*(?:\.[A-Z]\w*)*|(?:\<\<\<|\>\>\>|\|\|\||\&\&\&|\^\^\^|\~\~\~|\=\=\=|\!\=\=|\~\>\>|\<\~\>|\|\~\>|\<\|\>|\=\=|\!\=|\<\=|\>\=|\&\&|\|\||\<\>|\+\+|\-\-|\|\>|\=\~|\-\>|\<\-|\||\.|\=|\~\>|\<\~|\<|\>|\+|\-|\*|\/|\!|\^|\&)))(:)(?=\s|\n)"> | |
254 <bygroups> | |
255 <token type="LiteralStringSymbol"/> | |
256 <token type="Punctuation"/> | |
257 </bygroups> | |
258 </rule> | |
259 <rule pattern="(fn|do|end|after|else|rescue|catch)\b"> | |
260 <token type="Keyword"/> | |
261 </rule> | |
262 <rule pattern="(not|and|or|when|in)\b"> | |
263 <token type="OperatorWord"/> | |
264 </rule> | |
265 <rule pattern="(case|cond|for|if|unless|try|receive|raise|quote|unquote|unquote_splicing|throw|super|while)\b"> | |
266 <token type="Keyword"/> | |
267 </rule> | |
268 <rule pattern="(def|defp|defmodule|defprotocol|defmacro|defmacrop|defdelegate|defexception|defstruct|defimpl|defcallback)\b"> | |
269 <token type="KeywordDeclaration"/> | |
270 </rule> | |
271 <rule pattern="(import|require|use|alias)\b"> | |
272 <token type="KeywordNamespace"/> | |
273 </rule> | |
274 <rule pattern="(nil|true|false)\b"> | |
275 <token type="NameConstant"/> | |
276 </rule> | |
277 <rule pattern="(_|__MODULE__|__DIR__|__ENV__|__CALLER__)\b"> | |
278 <token type="NamePseudo"/> | |
279 </rule> | |
280 <rule pattern="@(?:\.\.\.|[a-z_]\w*[!?]?)"> | |
281 <token type="NameAttribute"/> | |
282 </rule> | |
283 <rule pattern="(?:\.\.\.|[a-z_]\w*[!?]?)"> | |
284 <token type="Name"/> | |
285 </rule> | |
286 <rule pattern="(%?)([A-Z]\w*(?:\.[A-Z]\w*)*)"> | |
287 <bygroups> | |
288 <token type="Punctuation"/> | |
289 <token type="NameClass"/> | |
290 </bygroups> | |
291 </rule> | |
292 <rule pattern="\<\<\<|\>\>\>|\|\|\||\&\&\&|\^\^\^|\~\~\~|\=\=\=|\!\=\=|\~\>\>|\<\~\>|\|\~\>|\<\|\>"> | |
293 <token type="Operator"/> | |
294 </rule> | |
295 <rule pattern="\=\=|\!\=|\<\=|\>\=|\&\&|\|\||\<\>|\+\+|\-\-|\|\>|\=\~|\-\>|\<\-|\||\.|\=|\~\>|\<\~"> | |
296 <token type="Operator"/> | |
297 </rule> | |
298 <rule pattern="\\\\|\<\<|\>\>|\=\>|\(|\)|\:|\;|\,|\[|\]"> | |
299 <token type="Punctuation"/> | |
300 </rule> | |
301 <rule pattern="&\d"> | |
302 <token type="NameEntity"/> | |
303 </rule> | |
304 <rule pattern="\<|\>|\+|\-|\*|\/|\!|\^|\&"> | |
305 <token type="Operator"/> | |
306 </rule> | |
307 <rule pattern="0b[01](_?[01])*"> | |
308 <token type="LiteralNumberBin"/> | |
309 </rule> | |
310 <rule pattern="0o[0-7](_?[0-7])*"> | |
311 <token type="LiteralNumberOct"/> | |
312 </rule> | |
313 <rule pattern="0x[\da-fA-F](_?[\dA-Fa-f])*"> | |
314 <token type="LiteralNumberHex"/> | |
315 </rule> | |
316 <rule pattern="\d(_?\d)*\.\d(_?\d)*([eE][-+]?\d(_?\d)*)?"> | |
317 <token type="LiteralNumberFloat"/> | |
318 </rule> | |
319 <rule pattern="\d(_?\d)*"> | |
320 <token type="LiteralNumberInteger"/> | |
321 </rule> | |
322 <rule pattern=""""\s*"> | |
323 <token type="LiteralStringHeredoc"/> | |
324 <push state="heredoc_double"/> | |
325 </rule> | |
326 <rule pattern="'''\s*$"> | |
327 <token type="LiteralStringHeredoc"/> | |
328 <push state="heredoc_single"/> | |
329 </rule> | |
330 <rule pattern="""> | |
331 <token type="LiteralStringDouble"/> | |
332 <push state="string_double"/> | |
333 </rule> | |
334 <rule pattern="'"> | |
335 <token type="LiteralStringSingle"/> | |
336 <push state="string_single"/> | |
337 </rule> | |
338 <rule> | |
339 <include state="sigils"/> | |
340 </rule> | |
341 <rule pattern="%\{"> | |
342 <token type="Punctuation"/> | |
343 <push state="map_key"/> | |
344 </rule> | |
345 <rule pattern="\{"> | |
346 <token type="Punctuation"/> | |
347 <push state="tuple"/> | |
348 </rule> | |
349 </state> | |
350 <state name="sigils"> | |
351 <rule pattern="(~[a-z])(""")"> | |
352 <bygroups> | |
353 <token type="LiteralStringOther"/> | |
354 <token type="LiteralStringHeredoc"/> | |
355 </bygroups> | |
356 <push state="triquot-end" state="triquot-intp"/> | |
357 </rule> | |
358 <rule pattern="(~[A-Z])(""")"> | |
359 <bygroups> | |
360 <token type="LiteralStringOther"/> | |
361 <token type="LiteralStringHeredoc"/> | |
362 </bygroups> | |
363 <push state="triquot-end" state="triquot-no-intp"/> | |
364 </rule> | |
365 <rule pattern="(~[a-z])(''')"> | |
366 <bygroups> | |
367 <token type="LiteralStringOther"/> | |
368 <token type="LiteralStringHeredoc"/> | |
369 </bygroups> | |
370 <push state="triapos-end" state="triapos-intp"/> | |
371 </rule> | |
372 <rule pattern="(~[A-Z])(''')"> | |
373 <bygroups> | |
374 <token type="LiteralStringOther"/> | |
375 <token type="LiteralStringHeredoc"/> | |
376 </bygroups> | |
377 <push state="triapos-end" state="triapos-no-intp"/> | |
378 </rule> | |
379 <rule pattern="~[a-z]\{"> | |
380 <token type="LiteralStringOther"/> | |
381 <push state="cb-intp"/> | |
382 </rule> | |
383 <rule pattern="~[A-Z]\{"> | |
384 <token type="LiteralStringOther"/> | |
385 <push state="cb-no-intp"/> | |
386 </rule> | |
387 <rule pattern="~[a-z]\["> | |
388 <token type="LiteralStringOther"/> | |
389 <push state="sb-intp"/> | |
390 </rule> | |
391 <rule pattern="~[A-Z]\["> | |
392 <token type="LiteralStringOther"/> | |
393 <push state="sb-no-intp"/> | |
394 </rule> | |
395 <rule pattern="~[a-z]\("> | |
396 <token type="LiteralStringOther"/> | |
397 <push state="pa-intp"/> | |
398 </rule> | |
399 <rule pattern="~[A-Z]\("> | |
400 <token type="LiteralStringOther"/> | |
401 <push state="pa-no-intp"/> | |
402 </rule> | |
403 <rule pattern="~[a-z]<"> | |
404 <token type="LiteralStringOther"/> | |
405 <push state="ab-intp"/> | |
406 </rule> | |
407 <rule pattern="~[A-Z]<"> | |
408 <token type="LiteralStringOther"/> | |
409 <push state="ab-no-intp"/> | |
410 </rule> | |
411 <rule pattern="~[a-z]/"> | |
412 <token type="LiteralStringOther"/> | |
413 <push state="slas-intp"/> | |
414 </rule> | |
415 <rule pattern="~[A-Z]/"> | |
416 <token type="LiteralStringOther"/> | |
417 <push state="slas-no-intp"/> | |
418 </rule> | |
419 <rule pattern="~[a-z]\|"> | |
420 <token type="LiteralStringOther"/> | |
421 <push state="pipe-intp"/> | |
422 </rule> | |
423 <rule pattern="~[A-Z]\|"> | |
424 <token type="LiteralStringOther"/> | |
425 <push state="pipe-no-intp"/> | |
426 </rule> | |
427 <rule pattern="~[a-z]""> | |
428 <token type="LiteralStringOther"/> | |
429 <push state="quot-intp"/> | |
430 </rule> | |
431 <rule pattern="~[A-Z]""> | |
432 <token type="LiteralStringOther"/> | |
433 <push state="quot-no-intp"/> | |
434 </rule> | |
435 <rule pattern="~[a-z]'"> | |
436 <token type="LiteralStringOther"/> | |
437 <push state="apos-intp"/> | |
438 </rule> | |
439 <rule pattern="~[A-Z]'"> | |
440 <token type="LiteralStringOther"/> | |
441 <push state="apos-no-intp"/> | |
442 </rule> | |
443 </state> | |
444 <state name="triapos-intp"> | |
445 <rule pattern="^\s*'''"> | |
446 <token type="LiteralStringHeredoc"/> | |
447 <pop depth="1"/> | |
448 </rule> | |
449 <rule> | |
450 <include state="heredoc_interpol"/> | |
451 </rule> | |
452 </state> | |
453 <state name="string_single_atom"> | |
454 <rule pattern="[^#'\\]+"> | |
455 <token type="LiteralStringSymbol"/> | |
456 </rule> | |
457 <rule> | |
458 <include state="escapes"/> | |
459 </rule> | |
460 <rule pattern="\\."> | |
461 <token type="LiteralStringSymbol"/> | |
462 </rule> | |
463 <rule pattern="(')"> | |
464 <bygroups> | |
465 <token type="LiteralStringSymbol"/> | |
466 </bygroups> | |
467 <pop depth="1"/> | |
468 </rule> | |
469 <rule> | |
470 <include state="interpol"/> | |
471 </rule> | |
472 </state> | |
473 <state name="quot-intp"> | |
474 <rule pattern="[^#"\\]+"> | |
475 <token type="LiteralStringOther"/> | |
476 </rule> | |
477 <rule> | |
478 <include state="escapes"/> | |
479 </rule> | |
480 <rule pattern="\\."> | |
481 <token type="LiteralStringOther"/> | |
482 </rule> | |
483 <rule pattern=""[a-zA-Z]*"> | |
484 <token type="LiteralStringOther"/> | |
485 <pop depth="1"/> | |
486 </rule> | |
487 <rule> | |
488 <include state="interpol"/> | |
489 </rule> | |
490 </state> | |
491 <state name="sb-no-intp"> | |
492 <rule pattern="[^\]\\]+"> | |
493 <token type="LiteralStringOther"/> | |
494 </rule> | |
495 <rule pattern="\\."> | |
496 <token type="LiteralStringOther"/> | |
497 </rule> | |
498 <rule pattern="\][a-zA-Z]*"> | |
499 <token type="LiteralStringOther"/> | |
500 <pop depth="1"/> | |
501 </rule> | |
502 </state> | |
503 <state name="slas-intp"> | |
504 <rule pattern="[^#/\\]+"> | |
505 <token type="LiteralStringOther"/> | |
506 </rule> | |
507 <rule> | |
508 <include state="escapes"/> | |
509 </rule> | |
510 <rule pattern="\\."> | |
511 <token type="LiteralStringOther"/> | |
512 </rule> | |
513 <rule pattern="/[a-zA-Z]*"> | |
514 <token type="LiteralStringOther"/> | |
515 <pop depth="1"/> | |
516 </rule> | |
517 <rule> | |
518 <include state="interpol"/> | |
519 </rule> | |
520 </state> | |
521 <state name="sb-intp"> | |
522 <rule pattern="[^#\]\\]+"> | |
523 <token type="LiteralStringOther"/> | |
524 </rule> | |
525 <rule> | |
526 <include state="escapes"/> | |
527 </rule> | |
528 <rule pattern="\\."> | |
529 <token type="LiteralStringOther"/> | |
530 </rule> | |
531 <rule pattern="\][a-zA-Z]*"> | |
532 <token type="LiteralStringOther"/> | |
533 <pop depth="1"/> | |
534 </rule> | |
535 <rule> | |
536 <include state="interpol"/> | |
537 </rule> | |
538 </state> | |
539 <state name="heredoc_no_interpol"> | |
540 <rule pattern="[^\\\n]+"> | |
541 <token type="LiteralStringHeredoc"/> | |
542 </rule> | |
543 <rule pattern="\\."> | |
544 <token type="LiteralStringHeredoc"/> | |
545 </rule> | |
546 <rule pattern="\n+"> | |
547 <token type="LiteralStringHeredoc"/> | |
548 </rule> | |
549 </state> | |
550 <state name="pipe-intp"> | |
551 <rule pattern="[^#\|\\]+"> | |
552 <token type="LiteralStringOther"/> | |
553 </rule> | |
554 <rule> | |
555 <include state="escapes"/> | |
556 </rule> | |
557 <rule pattern="\\."> | |
558 <token type="LiteralStringOther"/> | |
559 </rule> | |
560 <rule pattern="\|[a-zA-Z]*"> | |
561 <token type="LiteralStringOther"/> | |
562 <pop depth="1"/> | |
563 </rule> | |
564 <rule> | |
565 <include state="interpol"/> | |
566 </rule> | |
567 </state> | |
568 <state name="map_val"> | |
569 <rule> | |
570 <include state="root"/> | |
571 </rule> | |
572 <rule pattern=","> | |
573 <token type="Punctuation"/> | |
574 <pop depth="1"/> | |
575 </rule> | |
576 <rule pattern="(?=\})"> | |
577 <token type="Punctuation"/> | |
578 <pop depth="1"/> | |
579 </rule> | |
580 </state> | |
581 <state name="heredoc_single"> | |
582 <rule pattern="^\s*'''"> | |
583 <token type="LiteralStringHeredoc"/> | |
584 <pop depth="1"/> | |
585 </rule> | |
586 <rule> | |
587 <include state="heredoc_interpol"/> | |
588 </rule> | |
589 </state> | |
590 <state name="heredoc_interpol"> | |
591 <rule pattern="[^#\\\n]+"> | |
592 <token type="LiteralStringHeredoc"/> | |
593 </rule> | |
594 <rule> | |
595 <include state="escapes"/> | |
596 </rule> | |
597 <rule pattern="\\."> | |
598 <token type="LiteralStringHeredoc"/> | |
599 </rule> | |
600 <rule pattern="\n+"> | |
601 <token type="LiteralStringHeredoc"/> | |
602 </rule> | |
603 <rule> | |
604 <include state="interpol"/> | |
605 </rule> | |
606 </state> | |
607 <state name="string_single"> | |
608 <rule pattern="[^#'\\]+"> | |
609 <token type="LiteralStringSingle"/> | |
610 </rule> | |
611 <rule> | |
612 <include state="escapes"/> | |
613 </rule> | |
614 <rule pattern="\\."> | |
615 <token type="LiteralStringSingle"/> | |
616 </rule> | |
617 <rule pattern="(')"> | |
618 <bygroups> | |
619 <token type="LiteralStringSingle"/> | |
620 </bygroups> | |
621 <pop depth="1"/> | |
622 </rule> | |
623 <rule> | |
624 <include state="interpol"/> | |
625 </rule> | |
626 </state> | |
627 <state name="string_double_atom"> | |
628 <rule pattern="[^#"\\]+"> | |
629 <token type="LiteralStringSymbol"/> | |
630 </rule> | |
631 <rule> | |
632 <include state="escapes"/> | |
633 </rule> | |
634 <rule pattern="\\."> | |
635 <token type="LiteralStringSymbol"/> | |
636 </rule> | |
637 <rule pattern="(")"> | |
638 <bygroups> | |
639 <token type="LiteralStringSymbol"/> | |
640 </bygroups> | |
641 <pop depth="1"/> | |
642 </rule> | |
643 <rule> | |
644 <include state="interpol"/> | |
645 </rule> | |
646 </state> | |
647 <state name="ab-no-intp"> | |
648 <rule pattern="[^>\\]+"> | |
649 <token type="LiteralStringOther"/> | |
650 </rule> | |
651 <rule pattern="\\."> | |
652 <token type="LiteralStringOther"/> | |
653 </rule> | |
654 <rule pattern=">[a-zA-Z]*"> | |
655 <token type="LiteralStringOther"/> | |
656 <pop depth="1"/> | |
657 </rule> | |
658 </state> | |
659 <state name="ab-intp"> | |
660 <rule pattern="[^#>\\]+"> | |
661 <token type="LiteralStringOther"/> | |
662 </rule> | |
663 <rule> | |
664 <include state="escapes"/> | |
665 </rule> | |
666 <rule pattern="\\."> | |
667 <token type="LiteralStringOther"/> | |
668 </rule> | |
669 <rule pattern=">[a-zA-Z]*"> | |
670 <token type="LiteralStringOther"/> | |
671 <pop depth="1"/> | |
672 </rule> | |
673 <rule> | |
674 <include state="interpol"/> | |
675 </rule> | |
676 </state> | |
677 <state name="quot-no-intp"> | |
678 <rule pattern="[^"\\]+"> | |
679 <token type="LiteralStringOther"/> | |
680 </rule> | |
681 <rule pattern="\\."> | |
682 <token type="LiteralStringOther"/> | |
683 </rule> | |
684 <rule pattern=""[a-zA-Z]*"> | |
685 <token type="LiteralStringOther"/> | |
686 <pop depth="1"/> | |
687 </rule> | |
688 </state> | |
689 <state name="triapos-no-intp"> | |
690 <rule pattern="^\s*'''"> | |
691 <token type="LiteralStringHeredoc"/> | |
692 <pop depth="1"/> | |
693 </rule> | |
694 <rule> | |
695 <include state="heredoc_no_interpol"/> | |
696 </rule> | |
697 </state> | |
698 <state name="string_double"> | |
699 <rule pattern="[^#"\\]+"> | |
700 <token type="LiteralStringDouble"/> | |
701 </rule> | |
702 <rule> | |
703 <include state="escapes"/> | |
704 </rule> | |
705 <rule pattern="\\."> | |
706 <token type="LiteralStringDouble"/> | |
707 </rule> | |
708 <rule pattern="(")"> | |
709 <bygroups> | |
710 <token type="LiteralStringDouble"/> | |
711 </bygroups> | |
712 <pop depth="1"/> | |
713 </rule> | |
714 <rule> | |
715 <include state="interpol"/> | |
716 </rule> | |
717 </state> | |
718 <state name="escapes"> | |
719 <rule pattern="(\\x\{)([\da-fA-F]+)(\})"> | |
720 <bygroups> | |
721 <token type="LiteralStringEscape"/> | |
722 <token type="LiteralNumberHex"/> | |
723 <token type="LiteralStringEscape"/> | |
724 </bygroups> | |
725 </rule> | |
726 <rule pattern="(\\x[\da-fA-F]{1,2})"> | |
727 <token type="LiteralStringEscape"/> | |
728 </rule> | |
729 <rule pattern="(\\[abdefnrstv])"> | |
730 <token type="LiteralStringEscape"/> | |
731 </rule> | |
732 </state> | |
733 <state name="triquot-no-intp"> | |
734 <rule pattern="^\s*""""> | |
735 <token type="LiteralStringHeredoc"/> | |
736 <pop depth="1"/> | |
737 </rule> | |
738 <rule> | |
739 <include state="heredoc_no_interpol"/> | |
740 </rule> | |
741 </state> | |
742 </rules> | |
743 </lexer> |