Mercurial > yakumo_izuru > aya
comparison vendor/github.com/alecthomas/chroma/v2/lexers/embedded/python.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>Python</name> | |
4 <alias>python</alias> | |
5 <alias>py</alias> | |
6 <alias>sage</alias> | |
7 <alias>python3</alias> | |
8 <alias>py3</alias> | |
9 <filename>*.py</filename> | |
10 <filename>*.pyi</filename> | |
11 <filename>*.pyw</filename> | |
12 <filename>*.jy</filename> | |
13 <filename>*.sage</filename> | |
14 <filename>*.sc</filename> | |
15 <filename>SConstruct</filename> | |
16 <filename>SConscript</filename> | |
17 <filename>*.bzl</filename> | |
18 <filename>BUCK</filename> | |
19 <filename>BUILD</filename> | |
20 <filename>BUILD.bazel</filename> | |
21 <filename>WORKSPACE</filename> | |
22 <filename>*.tac</filename> | |
23 <mime_type>text/x-python</mime_type> | |
24 <mime_type>application/x-python</mime_type> | |
25 <mime_type>text/x-python3</mime_type> | |
26 <mime_type>application/x-python3</mime_type> | |
27 </config> | |
28 <rules> | |
29 <state name="numbers"> | |
30 <rule pattern="(\d(?:_?\d)*\.(?:\d(?:_?\d)*)?|(?:\d(?:_?\d)*)?\.\d(?:_?\d)*)([eE][+-]?\d(?:_?\d)*)?"> | |
31 <token type="LiteralNumberFloat"/> | |
32 </rule> | |
33 <rule pattern="\d(?:_?\d)*[eE][+-]?\d(?:_?\d)*j?"> | |
34 <token type="LiteralNumberFloat"/> | |
35 </rule> | |
36 <rule pattern="0[oO](?:_?[0-7])+"> | |
37 <token type="LiteralNumberOct"/> | |
38 </rule> | |
39 <rule pattern="0[bB](?:_?[01])+"> | |
40 <token type="LiteralNumberBin"/> | |
41 </rule> | |
42 <rule pattern="0[xX](?:_?[a-fA-F0-9])+"> | |
43 <token type="LiteralNumberHex"/> | |
44 </rule> | |
45 <rule pattern="\d(?:_?\d)*"> | |
46 <token type="LiteralNumberInteger"/> | |
47 </rule> | |
48 </state> | |
49 <state name="expr"> | |
50 <rule pattern="(?i)(rf|fr)(""")"> | |
51 <bygroups> | |
52 <token type="LiteralStringAffix"/> | |
53 <token type="LiteralStringDouble"/> | |
54 </bygroups> | |
55 <combined state="rfstringescape" state="tdqf"/> | |
56 </rule> | |
57 <rule pattern="(?i)(rf|fr)(''')"> | |
58 <bygroups> | |
59 <token type="LiteralStringAffix"/> | |
60 <token type="LiteralStringSingle"/> | |
61 </bygroups> | |
62 <combined state="rfstringescape" state="tsqf"/> | |
63 </rule> | |
64 <rule pattern="(?i)(rf|fr)(")"> | |
65 <bygroups> | |
66 <token type="LiteralStringAffix"/> | |
67 <token type="LiteralStringDouble"/> | |
68 </bygroups> | |
69 <combined state="rfstringescape" state="dqf"/> | |
70 </rule> | |
71 <rule pattern="(?i)(rf|fr)(')"> | |
72 <bygroups> | |
73 <token type="LiteralStringAffix"/> | |
74 <token type="LiteralStringSingle"/> | |
75 </bygroups> | |
76 <combined state="rfstringescape" state="sqf"/> | |
77 </rule> | |
78 <rule pattern="([fF])(""")"> | |
79 <bygroups> | |
80 <token type="LiteralStringAffix"/> | |
81 <token type="LiteralStringDouble"/> | |
82 </bygroups> | |
83 <combined state="fstringescape" state="tdqf"/> | |
84 </rule> | |
85 <rule pattern="([fF])(''')"> | |
86 <bygroups> | |
87 <token type="LiteralStringAffix"/> | |
88 <token type="LiteralStringSingle"/> | |
89 </bygroups> | |
90 <combined state="fstringescape" state="tsqf"/> | |
91 </rule> | |
92 <rule pattern="([fF])(")"> | |
93 <bygroups> | |
94 <token type="LiteralStringAffix"/> | |
95 <token type="LiteralStringDouble"/> | |
96 </bygroups> | |
97 <combined state="fstringescape" state="dqf"/> | |
98 </rule> | |
99 <rule pattern="([fF])(')"> | |
100 <bygroups> | |
101 <token type="LiteralStringAffix"/> | |
102 <token type="LiteralStringSingle"/> | |
103 </bygroups> | |
104 <combined state="fstringescape" state="sqf"/> | |
105 </rule> | |
106 <rule pattern="(?i)(rb|br|r)(""")"> | |
107 <bygroups> | |
108 <token type="LiteralStringAffix"/> | |
109 <token type="LiteralStringDouble"/> | |
110 </bygroups> | |
111 <push state="tdqs"/> | |
112 </rule> | |
113 <rule pattern="(?i)(rb|br|r)(''')"> | |
114 <bygroups> | |
115 <token type="LiteralStringAffix"/> | |
116 <token type="LiteralStringSingle"/> | |
117 </bygroups> | |
118 <push state="tsqs"/> | |
119 </rule> | |
120 <rule pattern="(?i)(rb|br|r)(")"> | |
121 <bygroups> | |
122 <token type="LiteralStringAffix"/> | |
123 <token type="LiteralStringDouble"/> | |
124 </bygroups> | |
125 <push state="dqs"/> | |
126 </rule> | |
127 <rule pattern="(?i)(rb|br|r)(')"> | |
128 <bygroups> | |
129 <token type="LiteralStringAffix"/> | |
130 <token type="LiteralStringSingle"/> | |
131 </bygroups> | |
132 <push state="sqs"/> | |
133 </rule> | |
134 <rule pattern="([uUbB]?)(""")"> | |
135 <bygroups> | |
136 <token type="LiteralStringAffix"/> | |
137 <token type="LiteralStringDouble"/> | |
138 </bygroups> | |
139 <combined state="stringescape" state="tdqs"/> | |
140 </rule> | |
141 <rule pattern="([uUbB]?)(''')"> | |
142 <bygroups> | |
143 <token type="LiteralStringAffix"/> | |
144 <token type="LiteralStringSingle"/> | |
145 </bygroups> | |
146 <combined state="stringescape" state="tsqs"/> | |
147 </rule> | |
148 <rule pattern="([uUbB]?)(")"> | |
149 <bygroups> | |
150 <token type="LiteralStringAffix"/> | |
151 <token type="LiteralStringDouble"/> | |
152 </bygroups> | |
153 <combined state="stringescape" state="dqs"/> | |
154 </rule> | |
155 <rule pattern="([uUbB]?)(')"> | |
156 <bygroups> | |
157 <token type="LiteralStringAffix"/> | |
158 <token type="LiteralStringSingle"/> | |
159 </bygroups> | |
160 <combined state="stringescape" state="sqs"/> | |
161 </rule> | |
162 <rule pattern="[^\S\n]+"> | |
163 <token type="Text"/> | |
164 </rule> | |
165 <rule> | |
166 <include state="numbers"/> | |
167 </rule> | |
168 <rule pattern="!=|==|<<|>>|:=|[-~+/*%=<>&^|.]"> | |
169 <token type="Operator"/> | |
170 </rule> | |
171 <rule pattern="[]{}:(),;[]"> | |
172 <token type="Punctuation"/> | |
173 </rule> | |
174 <rule pattern="(in|is|and|or|not)\b"> | |
175 <token type="OperatorWord"/> | |
176 </rule> | |
177 <rule> | |
178 <include state="expr-keywords"/> | |
179 </rule> | |
180 <rule> | |
181 <include state="builtins"/> | |
182 </rule> | |
183 <rule> | |
184 <include state="magicfuncs"/> | |
185 </rule> | |
186 <rule> | |
187 <include state="magicvars"/> | |
188 </rule> | |
189 <rule> | |
190 <include state="name"/> | |
191 </rule> | |
192 </state> | |
193 <state name="fstrings-double"> | |
194 <rule pattern="\}"> | |
195 <token type="LiteralStringInterpol"/> | |
196 </rule> | |
197 <rule pattern="\{"> | |
198 <token type="LiteralStringInterpol"/> | |
199 <push state="expr-inside-fstring"/> | |
200 </rule> | |
201 <rule pattern="[^\\\'"{}\n]+"> | |
202 <token type="LiteralStringDouble"/> | |
203 </rule> | |
204 <rule pattern="[\'"\\]"> | |
205 <token type="LiteralStringDouble"/> | |
206 </rule> | |
207 </state> | |
208 <state name="keywords"> | |
209 <rule pattern="(yield from|nonlocal|continue|finally|except|lambda|assert|global|return|raise|yield|while|break|await|async|pass|else|elif|with|try|for|del|as|if)\b"> | |
210 <token type="Keyword"/> | |
211 </rule> | |
212 <rule pattern="(False|True|None)\b"> | |
213 <token type="KeywordConstant"/> | |
214 </rule> | |
215 </state> | |
216 <state name="dqs"> | |
217 <rule pattern="""> | |
218 <token type="LiteralStringDouble"/> | |
219 <pop depth="1"/> | |
220 </rule> | |
221 <rule pattern="\\\\|\\"|\\\n"> | |
222 <token type="LiteralStringEscape"/> | |
223 </rule> | |
224 <rule> | |
225 <include state="strings-double"/> | |
226 </rule> | |
227 </state> | |
228 <state name="fromimport"> | |
229 <rule pattern="(\s+)(import)\b"> | |
230 <bygroups> | |
231 <token type="Text"/> | |
232 <token type="KeywordNamespace"/> | |
233 </bygroups> | |
234 <pop depth="1"/> | |
235 </rule> | |
236 <rule pattern="\."> | |
237 <token type="NameNamespace"/> | |
238 </rule> | |
239 <rule pattern="None\b"> | |
240 <token type="NameBuiltinPseudo"/> | |
241 <pop depth="1"/> | |
242 </rule> | |
243 <rule pattern="[_\p{L}][_\p{L}\p{N}]*"> | |
244 <token type="NameNamespace"/> | |
245 </rule> | |
246 <rule> | |
247 <pop depth="1"/> | |
248 </rule> | |
249 </state> | |
250 <state name="builtins"> | |
251 <rule pattern="(?<!\.)(staticmethod|classmethod|memoryview|__import__|issubclass|isinstance|frozenset|bytearray|enumerate|reversed|property|compile|complex|delattr|hasattr|setattr|globals|getattr|divmod|filter|locals|format|object|sorted|slice|print|bytes|range|input|tuple|round|super|float|eval|list|dict|repr|type|vars|hash|next|bool|open|iter|oct|pow|min|zip|max|map|bin|len|set|any|dir|all|abs|str|sum|chr|int|hex|ord|id)\b"> | |
252 <token type="NameBuiltin"/> | |
253 </rule> | |
254 <rule pattern="(?<!\.)(self|Ellipsis|NotImplemented|cls)\b"> | |
255 <token type="NameBuiltinPseudo"/> | |
256 </rule> | |
257 <rule pattern="(?<!\.)(PendingDeprecationWarning|ConnectionAbortedError|ConnectionRefusedError|UnicodeTranslateError|ConnectionResetError|ModuleNotFoundError|NotImplementedError|FloatingPointError|StopAsyncIteration|UnicodeDecodeError|DeprecationWarning|UnicodeEncodeError|NotADirectoryError|ProcessLookupError|ZeroDivisionError|IsADirectoryError|FileNotFoundError|UnboundLocalError|KeyboardInterrupt|ChildProcessError|EnvironmentError|IndentationError|InterruptedError|BlockingIOError|ArithmeticError|ConnectionError|BrokenPipeError|FileExistsError|ResourceWarning|PermissionError|RuntimeWarning|ReferenceError|AttributeError|AssertionError|UnicodeWarning|RecursionError|StopIteration|BaseException|OverflowError|SyntaxWarning|FutureWarning|GeneratorExit|ImportWarning|UnicodeError|TimeoutError|WindowsError|RuntimeError|BytesWarning|SystemError|UserWarning|MemoryError|ImportError|LookupError|BufferError|SyntaxError|SystemExit|ValueError|IndexError|NameError|Exception|TypeError|TabError|EOFError|KeyError|VMSError|Warning|OSError|IOError)\b"> | |
258 <token type="NameException"/> | |
259 </rule> | |
260 </state> | |
261 <state name="classname"> | |
262 <rule pattern="[_\p{L}][_\p{L}\p{N}]*"> | |
263 <token type="NameClass"/> | |
264 <pop depth="1"/> | |
265 </rule> | |
266 </state> | |
267 <state name="import"> | |
268 <rule pattern="(\s+)(as)(\s+)"> | |
269 <bygroups> | |
270 <token type="Text"/> | |
271 <token type="Keyword"/> | |
272 <token type="Text"/> | |
273 </bygroups> | |
274 </rule> | |
275 <rule pattern="\."> | |
276 <token type="NameNamespace"/> | |
277 </rule> | |
278 <rule pattern="[_\p{L}][_\p{L}\p{N}]*"> | |
279 <token type="NameNamespace"/> | |
280 </rule> | |
281 <rule pattern="(\s*)(,)(\s*)"> | |
282 <bygroups> | |
283 <token type="Text"/> | |
284 <token type="Operator"/> | |
285 <token type="Text"/> | |
286 </bygroups> | |
287 </rule> | |
288 <rule> | |
289 <pop depth="1"/> | |
290 </rule> | |
291 </state> | |
292 <state name="tsqs"> | |
293 <rule pattern="'''"> | |
294 <token type="LiteralStringSingle"/> | |
295 <pop depth="1"/> | |
296 </rule> | |
297 <rule> | |
298 <include state="strings-single"/> | |
299 </rule> | |
300 <rule pattern="\n"> | |
301 <token type="LiteralStringSingle"/> | |
302 </rule> | |
303 </state> | |
304 <state name="strings-double"> | |
305 <rule pattern="%(\(\w+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[E-GXc-giorsaux%]"> | |
306 <token type="LiteralStringInterpol"/> | |
307 </rule> | |
308 <rule pattern="\{((\w+)((\.\w+)|(\[[^\]]+\]))*)?(\![sra])?(\:(.?[<>=\^])?[-+ ]?#?0?(\d+)?,?(\.\d+)?[E-GXb-gnosx%]?)?\}"> | |
309 <token type="LiteralStringInterpol"/> | |
310 </rule> | |
311 <rule pattern="[^\\\'"%{\n]+"> | |
312 <token type="LiteralStringDouble"/> | |
313 </rule> | |
314 <rule pattern="[\'"\\]"> | |
315 <token type="LiteralStringDouble"/> | |
316 </rule> | |
317 <rule pattern="%|(\{{1,2})"> | |
318 <token type="LiteralStringDouble"/> | |
319 </rule> | |
320 </state> | |
321 <state name="tdqf"> | |
322 <rule pattern="""""> | |
323 <token type="LiteralStringDouble"/> | |
324 <pop depth="1"/> | |
325 </rule> | |
326 <rule> | |
327 <include state="fstrings-double"/> | |
328 </rule> | |
329 <rule pattern="\n"> | |
330 <token type="LiteralStringDouble"/> | |
331 </rule> | |
332 </state> | |
333 <state name="expr-inside-fstring-inner"> | |
334 <rule pattern="[{([]"> | |
335 <token type="Punctuation"/> | |
336 <push state="expr-inside-fstring-inner"/> | |
337 </rule> | |
338 <rule pattern="[])}]"> | |
339 <token type="Punctuation"/> | |
340 <pop depth="1"/> | |
341 </rule> | |
342 <rule pattern="\s+"> | |
343 <token type="Text"/> | |
344 </rule> | |
345 <rule> | |
346 <include state="expr"/> | |
347 </rule> | |
348 </state> | |
349 <state name="sqs"> | |
350 <rule pattern="'"> | |
351 <token type="LiteralStringSingle"/> | |
352 <pop depth="1"/> | |
353 </rule> | |
354 <rule pattern="\\\\|\\'|\\\n"> | |
355 <token type="LiteralStringEscape"/> | |
356 </rule> | |
357 <rule> | |
358 <include state="strings-single"/> | |
359 </rule> | |
360 </state> | |
361 <state name="funcname"> | |
362 <rule> | |
363 <include state="magicfuncs"/> | |
364 </rule> | |
365 <rule pattern="[_\p{L}][_\p{L}\p{N}]*"> | |
366 <token type="NameFunction"/> | |
367 <pop depth="1"/> | |
368 </rule> | |
369 <rule> | |
370 <pop depth="1"/> | |
371 </rule> | |
372 </state> | |
373 <state name="expr-keywords"> | |
374 <rule pattern="(yield from|async for|lambda|yield|await|else|for|if)\b"> | |
375 <token type="Keyword"/> | |
376 </rule> | |
377 <rule pattern="(False|True|None)\b"> | |
378 <token type="KeywordConstant"/> | |
379 </rule> | |
380 </state> | |
381 <state name="name"> | |
382 <rule pattern="@[_\p{L}][_\p{L}\p{N}]*"> | |
383 <token type="NameDecorator"/> | |
384 </rule> | |
385 <rule pattern="@"> | |
386 <token type="Operator"/> | |
387 </rule> | |
388 <rule pattern="[_\p{L}][_\p{L}\p{N}]*"> | |
389 <token type="Name"/> | |
390 </rule> | |
391 </state> | |
392 <state name="magicfuncs"> | |
393 <rule pattern="(__instancecheck__|__subclasscheck__|__getattribute__|__length_hint__|__rfloordiv__|__ifloordiv__|__itruediv__|__contains__|__floordiv__|__rtruediv__|__reversed__|__setitem__|__complex__|__rdivmod__|__delattr__|__rmatmul__|__ilshift__|__prepare__|__delitem__|__rrshift__|__imatmul__|__rlshift__|__setattr__|__truediv__|__getitem__|__missing__|__getattr__|__irshift__|__rshift__|__format__|__invert__|__matmul__|__divmod__|__delete__|__aenter__|__lshift__|__await__|__bytes__|__anext__|__aiter__|__aexit__|__round__|__float__|__enter__|__index__|__iadd__|__ipow__|__rpow__|__iter__|__init__|__ixor__|__rmul__|__rmod__|__imul__|__imod__|__iand__|__hash__|__rsub__|__exit__|__rxor__|__bool__|__call__|__rand__|__next__|__radd__|__isub__|__repr__|__set__|__add__|__new__|__neg__|__xor__|__and__|__mul__|__mod__|__sub__|__len__|__str__|__ror__|__ior__|__pos__|__del__|__get__|__dir__|__abs__|__int__|__pow__|__eq__|__gt__|__le__|__lt__|__ne__|__or__|__ge__)\b"> | |
394 <token type="NameFunctionMagic"/> | |
395 </rule> | |
396 </state> | |
397 <state name="root"> | |
398 <rule pattern="\n"> | |
399 <token type="Text"/> | |
400 </rule> | |
401 <rule pattern="^(\s*)([rRuUbB]{,2})("""(?:.|\n)*?""")"> | |
402 <bygroups> | |
403 <token type="Text"/> | |
404 <token type="LiteralStringAffix"/> | |
405 <token type="LiteralStringDoc"/> | |
406 </bygroups> | |
407 </rule> | |
408 <rule pattern="^(\s*)([rRuUbB]{,2})('''(?:.|\n)*?''')"> | |
409 <bygroups> | |
410 <token type="Text"/> | |
411 <token type="LiteralStringAffix"/> | |
412 <token type="LiteralStringDoc"/> | |
413 </bygroups> | |
414 </rule> | |
415 <rule pattern="\A#!.+$"> | |
416 <token type="CommentHashbang"/> | |
417 </rule> | |
418 <rule pattern="#.*$"> | |
419 <token type="CommentSingle"/> | |
420 </rule> | |
421 <rule pattern="\\\n"> | |
422 <token type="Text"/> | |
423 </rule> | |
424 <rule pattern="\\"> | |
425 <token type="Text"/> | |
426 </rule> | |
427 <rule> | |
428 <include state="keywords"/> | |
429 </rule> | |
430 <rule pattern="(def)((?:\s|\\\s)+)"> | |
431 <bygroups> | |
432 <token type="Keyword"/> | |
433 <token type="Text"/> | |
434 </bygroups> | |
435 <push state="funcname"/> | |
436 </rule> | |
437 <rule pattern="(class)((?:\s|\\\s)+)"> | |
438 <bygroups> | |
439 <token type="Keyword"/> | |
440 <token type="Text"/> | |
441 </bygroups> | |
442 <push state="classname"/> | |
443 </rule> | |
444 <rule pattern="(from)((?:\s|\\\s)+)"> | |
445 <bygroups> | |
446 <token type="KeywordNamespace"/> | |
447 <token type="Text"/> | |
448 </bygroups> | |
449 <push state="fromimport"/> | |
450 </rule> | |
451 <rule pattern="(import)((?:\s|\\\s)+)"> | |
452 <bygroups> | |
453 <token type="KeywordNamespace"/> | |
454 <token type="Text"/> | |
455 </bygroups> | |
456 <push state="import"/> | |
457 </rule> | |
458 <rule> | |
459 <include state="expr"/> | |
460 </rule> | |
461 </state> | |
462 <state name="fstrings-single"> | |
463 <rule pattern="\}"> | |
464 <token type="LiteralStringInterpol"/> | |
465 </rule> | |
466 <rule pattern="\{"> | |
467 <token type="LiteralStringInterpol"/> | |
468 <push state="expr-inside-fstring"/> | |
469 </rule> | |
470 <rule pattern="[^\\\'"{}\n]+"> | |
471 <token type="LiteralStringSingle"/> | |
472 </rule> | |
473 <rule pattern="[\'"\\]"> | |
474 <token type="LiteralStringSingle"/> | |
475 </rule> | |
476 </state> | |
477 <state name="magicvars"> | |
478 <rule pattern="(__annotations__|__kwdefaults__|__qualname__|__objclass__|__defaults__|__closure__|__globals__|__weakref__|__module__|__class__|__bases__|__slots__|__file__|__code__|__name__|__func__|__dict__|__self__|__mro__|__doc__)\b"> | |
479 <token type="NameVariableMagic"/> | |
480 </rule> | |
481 </state> | |
482 <state name="tsqf"> | |
483 <rule pattern="'''"> | |
484 <token type="LiteralStringSingle"/> | |
485 <pop depth="1"/> | |
486 </rule> | |
487 <rule> | |
488 <include state="fstrings-single"/> | |
489 </rule> | |
490 <rule pattern="\n"> | |
491 <token type="LiteralStringSingle"/> | |
492 </rule> | |
493 </state> | |
494 <state name="strings-single"> | |
495 <rule pattern="%(\(\w+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[E-GXc-giorsaux%]"> | |
496 <token type="LiteralStringInterpol"/> | |
497 </rule> | |
498 <rule pattern="\{((\w+)((\.\w+)|(\[[^\]]+\]))*)?(\![sra])?(\:(.?[<>=\^])?[-+ ]?#?0?(\d+)?,?(\.\d+)?[E-GXb-gnosx%]?)?\}"> | |
499 <token type="LiteralStringInterpol"/> | |
500 </rule> | |
501 <rule pattern="[^\\\'"%{\n]+"> | |
502 <token type="LiteralStringSingle"/> | |
503 </rule> | |
504 <rule pattern="[\'"\\]"> | |
505 <token type="LiteralStringSingle"/> | |
506 </rule> | |
507 <rule pattern="%|(\{{1,2})"> | |
508 <token type="LiteralStringSingle"/> | |
509 </rule> | |
510 </state> | |
511 <state name="rfstringescape"> | |
512 <rule pattern="\{\{"> | |
513 <token type="LiteralStringEscape"/> | |
514 </rule> | |
515 <rule pattern="\}\}"> | |
516 <token type="LiteralStringEscape"/> | |
517 </rule> | |
518 </state> | |
519 <state name="sqf"> | |
520 <rule pattern="'"> | |
521 <token type="LiteralStringSingle"/> | |
522 <pop depth="1"/> | |
523 </rule> | |
524 <rule pattern="\\\\|\\'|\\\n"> | |
525 <token type="LiteralStringEscape"/> | |
526 </rule> | |
527 <rule> | |
528 <include state="fstrings-single"/> | |
529 </rule> | |
530 </state> | |
531 <state name="dqf"> | |
532 <rule pattern="""> | |
533 <token type="LiteralStringDouble"/> | |
534 <pop depth="1"/> | |
535 </rule> | |
536 <rule pattern="\\\\|\\"|\\\n"> | |
537 <token type="LiteralStringEscape"/> | |
538 </rule> | |
539 <rule> | |
540 <include state="fstrings-double"/> | |
541 </rule> | |
542 </state> | |
543 <state name="expr-inside-fstring"> | |
544 <rule pattern="[{([]"> | |
545 <token type="Punctuation"/> | |
546 <push state="expr-inside-fstring-inner"/> | |
547 </rule> | |
548 <rule pattern="(=\s*)?(\![sraf])?\}"> | |
549 <token type="LiteralStringInterpol"/> | |
550 <pop depth="1"/> | |
551 </rule> | |
552 <rule pattern="(=\s*)?(\![sraf])?:"> | |
553 <token type="LiteralStringInterpol"/> | |
554 <pop depth="1"/> | |
555 </rule> | |
556 <rule pattern="\s+"> | |
557 <token type="Text"/> | |
558 </rule> | |
559 <rule> | |
560 <include state="expr"/> | |
561 </rule> | |
562 </state> | |
563 <state name="tdqs"> | |
564 <rule pattern="""""> | |
565 <token type="LiteralStringDouble"/> | |
566 <pop depth="1"/> | |
567 </rule> | |
568 <rule> | |
569 <include state="strings-double"/> | |
570 </rule> | |
571 <rule pattern="\n"> | |
572 <token type="LiteralStringDouble"/> | |
573 </rule> | |
574 </state> | |
575 <state name="fstringescape"> | |
576 <rule> | |
577 <include state="rfstringescape"/> | |
578 </rule> | |
579 <rule> | |
580 <include state="stringescape"/> | |
581 </rule> | |
582 </state> | |
583 <state name="stringescape"> | |
584 <rule pattern="\\([\\abfnrtv"\']|\n|N\{.*?\}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|x[a-fA-F0-9]{2}|[0-7]{1,3})"> | |
585 <token type="LiteralStringEscape"/> | |
586 </rule> | |
587 </state> | |
588 </rules> | |
589 </lexer> |