PluginProbe
Code Block Pro – Beautiful Syntax Highlighting / 1.5.0
Code Block Pro – Beautiful Syntax Highlighting v1.5.0
1.27.1 1.27.2 1.27.3 1.27.4 1.27.5 1.27.6 1.27.7 1.28.0 1.3.0 1.4.0 1.5.0 1.5.1 1.5.2 1.6.0 1.7.0 1.8.0 1.9.0 1.9.1 1.9.2 1.9.3 trunk 1.1.0 1.10.0 1.11.0 1.11.1 All 63 releases
code-block-pro / build / shiki / languages / twig.tmLanguage.json

twig.tmLanguage.json in Code Block Pro – Beautiful Syntax Highlighting 1.5.0, at build/shiki/languages/twig.tmLanguage.json

1,351 lines 33.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 {
2 "fileTypes": ["twig", "html.twig"],
3 "firstLineMatch": "<!(?i:DOCTYPE)|<(?i:html)|<\\?(?i:php)|\\{\\{|\\{%|\\{#",
4 "foldingStartMarker": "(?x)\r\n (<(?i:body|div|dl|fieldset|form|head|li|ol|script|select|style|table|tbody|tfoot|thead|tr|ul)\\b.*?>\r\n |<!--(?!.*--\\s*>)\r\n |^<!--\\ \\#tminclude\\ (?>.*?-->)$\r\n |\\{%\\s+(autoescape|block|embed|filter|for|if|macro|raw|sandbox|set|spaceless|trans|verbatim)\r\n )",
5 "foldingStopMarker": "(?x)\r\n (</(?i:body|div|dl|fieldset|form|head|li|ol|script|select|style|table|tbody|tfoot|thead|tr|ul)>\r\n |^(?!.*?<!--).*?--\\s*>\r\n |^<!--\\ end\\ tminclude\\ -->$\r\n |\\{%\\s+end(autoescape|block|embed|filter|for|if|macro|raw|sandbox|set|spaceless|trans|verbatim)\r\n )",
6 "keyEquivalent": "^~T",
7 "name": "twig",
8 "patterns": [
9 {
10 "begin": "(<)([a-zA-Z0-9:]++)(?=[^>]*></\\2>)",
11 "beginCaptures": {
12 "1": {
13 "name": "punctuation.definition.tag.html"
14 },
15 "2": {
16 "name": "entity.name.tag.html"
17 }
18 },
19 "end": "(>(<)/)(\\2)(>)",
20 "endCaptures": {
21 "1": {
22 "name": "punctuation.definition.tag.html"
23 },
24 "2": {
25 "name": "meta.scope.between-tag-pair.html"
26 },
27 "3": {
28 "name": "entity.name.tag.html"
29 },
30 "4": {
31 "name": "punctuation.definition.tag.html"
32 }
33 },
34 "name": "meta.tag.any.html",
35 "patterns": [
36 {
37 "include": "#tag-stuff"
38 }
39 ]
40 },
41 {
42 "begin": "(<\\?)(xml)",
43 "captures": {
44 "1": {
45 "name": "punctuation.definition.tag.html"
46 },
47 "2": {
48 "name": "entity.name.tag.xml.html"
49 }
50 },
51 "end": "(\\?>)",
52 "name": "meta.tag.preprocessor.xml.html",
53 "patterns": [
54 {
55 "include": "#tag-generic-attribute"
56 },
57 {
58 "include": "#string-double-quoted"
59 },
60 {
61 "include": "#string-single-quoted"
62 }
63 ]
64 },
65 {
66 "begin": "<!--",
67 "captures": {
68 "0": {
69 "name": "punctuation.definition.comment.html"
70 }
71 },
72 "end": "--\\s*>",
73 "name": "comment.block.html",
74 "patterns": [
75 {
76 "match": "--",
77 "name": "invalid.illegal.bad-comments-or-CDATA.html"
78 },
79 {
80 "include": "#embedded-code"
81 }
82 ]
83 },
84 {
85 "begin": "<!",
86 "captures": {
87 "0": {
88 "name": "punctuation.definition.tag.html"
89 }
90 },
91 "end": ">",
92 "name": "meta.tag.sgml.html",
93 "patterns": [
94 {
95 "begin": "(?i:DOCTYPE)",
96 "captures": {
97 "1": {
98 "name": "entity.name.tag.doctype.html"
99 }
100 },
101 "end": "(?=>)",
102 "name": "meta.tag.sgml.doctype.html",
103 "patterns": [
104 {
105 "match": "\"[^\">]*\"",
106 "name": "string.quoted.double.doctype.identifiers-and-DTDs.html"
107 }
108 ]
109 },
110 {
111 "begin": "\\[CDATA\\[",
112 "end": "]](?=>)",
113 "name": "constant.other.inline-data.html"
114 },
115 {
116 "match": "(\\s*)(?!--|>)\\S(\\s*)",
117 "name": "invalid.illegal.bad-comments-or-CDATA.html"
118 }
119 ]
120 },
121 {
122 "include": "#embedded-code"
123 },
124 {
125 "begin": "(?:^\\s+)?(<)((?i:style))\\b(?![^>]*/>)",
126 "captures": {
127 "1": {
128 "name": "punctuation.definition.tag.html"
129 },
130 "2": {
131 "name": "entity.name.tag.style.html"
132 },
133 "3": {
134 "name": "punctuation.definition.tag.html"
135 }
136 },
137 "end": "(</)((?i:style))(>)(?:\\s*\\n)?",
138 "name": "source.css.embedded.html",
139 "patterns": [
140 {
141 "include": "#tag-stuff"
142 },
143 {
144 "begin": "(>)",
145 "beginCaptures": {
146 "1": {
147 "name": "punctuation.definition.tag.html"
148 }
149 },
150 "end": "(?=</(?i:style))",
151 "patterns": [
152 {
153 "include": "#embedded-code"
154 },
155 {
156 "include": "source.css"
157 }
158 ]
159 }
160 ]
161 },
162 {
163 "begin": "(?:^\\s+)?(<)((?i:script))\\b(?![^>]*/>)",
164 "beginCaptures": {
165 "1": {
166 "name": "punctuation.definition.tag.html"
167 },
168 "2": {
169 "name": "entity.name.tag.script.html"
170 }
171 },
172 "end": "(?<=</(script|SCRIPT))(>)(?:\\s*\\n)?",
173 "endCaptures": {
174 "2": {
175 "name": "punctuation.definition.tag.html"
176 }
177 },
178 "name": "source.js.embedded.html",
179 "patterns": [
180 {
181 "include": "#tag-stuff"
182 },
183 {
184 "begin": "(?<!</(?:script|SCRIPT))(>)",
185 "captures": {
186 "1": {
187 "name": "punctuation.definition.tag.html"
188 },
189 "2": {
190 "name": "entity.name.tag.script.html"
191 }
192 },
193 "end": "(</)((?i:script))",
194 "patterns": [
195 {
196 "captures": {
197 "1": {
198 "name": "punctuation.definition.comment.js"
199 }
200 },
201 "match": "(//).*?((?=</script)|$\\n?)",
202 "name": "comment.line.double-slash.js"
203 },
204 {
205 "begin": "/\\*",
206 "captures": {
207 "0": {
208 "name": "punctuation.definition.comment.js"
209 }
210 },
211 "end": "\\*/|(?=</script)",
212 "name": "comment.block.js"
213 },
214 {
215 "include": "#php"
216 },
217 {
218 "include": "#twig-print-tag"
219 },
220 {
221 "include": "#twig-statement-tag"
222 },
223 {
224 "include": "#twig-comment-tag"
225 },
226 {
227 "include": "source.js"
228 }
229 ]
230 }
231 ]
232 },
233 {
234 "begin": "(</?)((?i:body|head|html)\\b)",
235 "captures": {
236 "1": {
237 "name": "punctuation.definition.tag.html"
238 },
239 "2": {
240 "name": "entity.name.tag.structure.any.html"
241 }
242 },
243 "end": "(>)",
244 "name": "meta.tag.structure.any.html",
245 "patterns": [
246 {
247 "include": "#tag-stuff"
248 }
249 ]
250 },
251 {
252 "begin": "(</?)((?i:address|blockquote|dd|div|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre)\\b)",
253 "beginCaptures": {
254 "1": {
255 "name": "punctuation.definition.tag.begin.html"
256 },
257 "2": {
258 "name": "entity.name.tag.block.any.html"
259 }
260 },
261 "end": "(>)",
262 "endCaptures": {
263 "1": {
264 "name": "punctuation.definition.tag.end.html"
265 }
266 },
267 "name": "meta.tag.block.any.html",
268 "patterns": [
269 {
270 "include": "#tag-stuff"
271 }
272 ]
273 },
274 {
275 "begin": "(</?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)\\b)",
276 "beginCaptures": {
277 "1": {
278 "name": "punctuation.definition.tag.begin.html"
279 },
280 "2": {
281 "name": "entity.name.tag.inline.any.html"
282 }
283 },
284 "end": "((?: ?/)?>)",
285 "endCaptures": {
286 "1": {
287 "name": "punctuation.definition.tag.end.html"
288 }
289 },
290 "name": "meta.tag.inline.any.html",
291 "patterns": [
292 {
293 "include": "#tag-stuff"
294 }
295 ]
296 },
297 {
298 "begin": "(</?)([a-zA-Z0-9:]+)",
299 "beginCaptures": {
300 "1": {
301 "name": "punctuation.definition.tag.begin.html"
302 },
303 "2": {
304 "name": "entity.name.tag.other.html"
305 }
306 },
307 "end": "(>)",
308 "endCaptures": {
309 "1": {
310 "name": "punctuation.definition.tag.end.html"
311 }
312 },
313 "name": "meta.tag.other.html",
314 "patterns": [
315 {
316 "include": "#tag-stuff"
317 }
318 ]
319 },
320 {
321 "include": "#entities"
322 },
323 {
324 "match": "<>",
325 "name": "invalid.illegal.incomplete.html"
326 },
327 {
328 "match": "<",
329 "name": "invalid.illegal.bad-angle-bracket.html"
330 },
331 {
332 "include": "#twig-print-tag"
333 },
334 {
335 "include": "#twig-statement-tag"
336 },
337 {
338 "include": "#twig-comment-tag"
339 }
340 ],
341 "repository": {
342 "embedded-code": {
343 "patterns": [
344 {
345 "include": "#ruby"
346 },
347 {
348 "include": "#php"
349 },
350 {
351 "include": "#twig-print-tag"
352 },
353 {
354 "include": "#twig-statement-tag"
355 },
356 {
357 "include": "#twig-comment-tag"
358 },
359 {
360 "include": "#python"
361 }
362 ]
363 },
364 "entities": {
365 "patterns": [
366 {
367 "captures": {
368 "1": {
369 "name": "punctuation.definition.entity.html"
370 },
371 "3": {
372 "name": "punctuation.definition.entity.html"
373 }
374 },
375 "match": "(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)",
376 "name": "constant.character.entity.html"
377 },
378 {
379 "match": "&",
380 "name": "invalid.illegal.bad-ampersand.html"
381 }
382 ]
383 },
384 "twig-print-tag": {
385 "begin": "\\{\\{-?",
386 "beginCaptures": {
387 "0": {
388 "name": "punctuation.section.tag.twig"
389 }
390 },
391 "end": "-?\\}\\}",
392 "endCaptures": {
393 "0": {
394 "name": "punctuation.section.tag.twig"
395 }
396 },
397 "name": "meta.tag.template.value.twig",
398 "patterns": [
399 {
400 "include": "#twig-constants"
401 },
402 {
403 "include": "#twig-operators"
404 },
405 {
406 "include": "#twig-functions-warg"
407 },
408 {
409 "include": "#twig-functions"
410 },
411 {
412 "include": "#twig-macros"
413 },
414 {
415 "include": "#twig-objects"
416 },
417 {
418 "include": "#twig-properties"
419 },
420 {
421 "include": "#twig-filters-warg"
422 },
423 {
424 "include": "#twig-filters"
425 },
426 {
427 "include": "#twig-filters-warg-ud"
428 },
429 {
430 "include": "#twig-filters-ud"
431 },
432 {
433 "include": "#twig-strings"
434 },
435 {
436 "include": "#twig-arrays"
437 },
438 {
439 "include": "#twig-hashes"
440 }
441 ]
442 },
443 "twig-statement-tag": {
444 "begin": "\\{%-?",
445 "beginCaptures": {
446 "0": {
447 "name": "punctuation.section.tag.twig"
448 }
449 },
450 "end": "-?%\\}",
451 "endCaptures": {
452 "0": {
453 "name": "punctuation.section.tag.twig"
454 }
455 },
456 "name": "meta.tag.template.block.twig",
457 "patterns": [
458 {
459 "include": "#twig-constants"
460 },
461 {
462 "include": "#twig-keywords"
463 },
464 {
465 "include": "#twig-operators"
466 },
467 {
468 "include": "#twig-functions-warg"
469 },
470 {
471 "include": "#twig-functions"
472 },
473 {
474 "include": "#twig-macros"
475 },
476 {
477 "include": "#twig-filters-warg"
478 },
479 {
480 "include": "#twig-filters"
481 },
482 {
483 "include": "#twig-filters-warg-ud"
484 },
485 {
486 "include": "#twig-filters-ud"
487 },
488 {
489 "include": "#twig-objects"
490 },
491 {
492 "include": "#twig-properties"
493 },
494 {
495 "include": "#twig-strings"
496 },
497 {
498 "include": "#twig-arrays"
499 },
500 {
501 "include": "#twig-hashes"
502 }
503 ]
504 },
505 "twig-comment-tag": {
506 "begin": "\\{#-?",
507 "beginCaptures": {
508 "0": {
509 "name": "punctuation.definition.comment.begin.twig"
510 }
511 },
512 "end": "-?#\\}",
513 "endCaptures": {
514 "0": {
515 "name": "punctuation.definition.comment.end.twig"
516 }
517 },
518 "name": "comment.block.twig"
519 },
520 "twig-constants": {
521 "patterns": [
522 {
523 "match": "(?i)(?<=[\\s\\[\\(\\{:,])(?:true|false|null|none)(?=[\\s\\)\\]\\}\\,])",
524 "name": "constant.language.twig"
525 },
526 {
527 "match": "(?<=[\\s\\[\\(\\{:,]|\\.\\.|\\*\\*)[0-9]+(?:\\.[0-9]+)?(?=[\\s\\)\\]\\}\\,]|\\.\\.|\\*\\*)",
528 "name": "constant.numeric.twig"
529 }
530 ]
531 },
532 "twig-operators": {
533 "patterns": [
534 {
535 "captures": {
536 "1": {
537 "name": "keyword.operator.arithmetic.twig"
538 }
539 },
540 "match": "(?<=\\s)(\\+|-|//?|%|\\*\\*?)(?=\\s)"
541 },
542 {
543 "captures": {
544 "1": {
545 "name": "keyword.operator.assignment.twig"
546 }
547 },
548 "match": "(?<=\\s)(=|~)(?=\\s)"
549 },
550 {
551 "captures": {
552 "1": {
553 "name": "keyword.operator.bitwise.twig"
554 }
555 },
556 "match": "(?<=\\s)(b-(?:and|or|xor))(?=\\s)"
557 },
558 {
559 "captures": {
560 "1": {
561 "name": "keyword.operator.comparison.twig"
562 }
563 },
564 "match": "(?<=\\s)((?:!|=)=|<=?|>=?|(?:not )?in|is(?: not)?|(?:ends|starts) with|matches)(?=\\s)|%"
565 },
566 {
567 "captures": {
568 "1": {
569 "name": "keyword.operator.logical.twig"
570 }
571 },
572 "match": "(?<=\\s)(\\?|:|and|not|or)(?=\\s)"
573 },
574 {
575 "captures": {
576 "0": {
577 "name": "keyword.operator.other.twig"
578 }
579 },
580 "match": "(?<=[a-zA-Z0-9_\\x{7f}-\\x{ff}\\]\\)'\"])\\.\\.(?=[a-zA-Z0-9_\\x{7f}-\\x{ff}'\"])"
581 },
582 {
583 "captures": {
584 "0": {
585 "name": "keyword.operator.other.twig"
586 }
587 },
588 "match": "(?<=[a-zA-Z0-9_\\x{7f}-\\x{ff}\\]\\}\\)'\"])\\|(?=[a-zA-Z_\\x{7f}-\\x{ff}])"
589 }
590 ]
591 },
592 "twig-objects": {
593 "captures": {
594 "1": {
595 "name": "variable.other.twig"
596 }
597 },
598 "match": "(?<=[\\s\\{\\[\\(:,])([a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*)(?=[\\s\\}\\[\\]\\(\\)\\.\\|,:])"
599 },
600 "twig-properties": {
601 "patterns": [
602 {
603 "captures": {
604 "1": {
605 "name": "punctuation.separator.property.twig"
606 },
607 "2": {
608 "name": "variable.other.property.twig"
609 }
610 },
611 "match": "(?x) (?<=[a-zA-Z0-9_\\x{7f}-\\x{ff}])\r\n (\\.)([a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*) (?=[\\.\\s\\|\\[\\)\\]\\}:,])\r\n "
612 },
613 {
614 "begin": "(?x) (?<=[a-zA-Z0-9_\\x{7f}-\\x{ff}])\r\n (\\.)([a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*)\r\n (\\()\r\n ",
615 "beginCaptures": {
616 "1": {
617 "name": "punctuation.separator.property.twig"
618 },
619 "2": {
620 "name": "variable.other.property.twig"
621 },
622 "3": {
623 "name": "punctuation.definition.parameters.begin.twig"
624 }
625 },
626 "end": "\\)",
627 "endCaptures": {
628 "0": {
629 "name": "punctuation.definition.parameters.end.twig"
630 }
631 },
632 "patterns": [
633 {
634 "include": "#twig-constants"
635 },
636 {
637 "include": "#twig-functions-warg"
638 },
639 {
640 "include": "#twig-functions"
641 },
642 {
643 "include": "#twig-macros"
644 },
645 {
646 "include": "#twig-objects"
647 },
648 {
649 "include": "#twig-properties"
650 },
651 {
652 "include": "#twig-filters-warg"
653 },
654 {
655 "include": "#twig-filters"
656 },
657 {
658 "include": "#twig-filters-warg-ud"
659 },
660 {
661 "include": "#twig-filters-ud"
662 },
663 {
664 "include": "#twig-strings"
665 },
666 {
667 "include": "#twig-arrays"
668 }
669 ],
670 "contentName": "meta.function.arguments.twig"
671 },
672 {
673 "captures": {
674 "1": {
675 "name": "punctuation.section.array.begin.twig"
676 },
677 "2": {
678 "name": "variable.other.property.twig"
679 },
680 "3": {
681 "name": "punctuation.section.array.end.twig"
682 },
683 "4": {
684 "name": "punctuation.section.array.begin.twig"
685 },
686 "5": {
687 "name": "variable.other.property.twig"
688 },
689 "6": {
690 "name": "punctuation.section.array.end.twig"
691 },
692 "7": {
693 "name": "punctuation.section.array.begin.twig"
694 },
695 "8": {
696 "name": "variable.other.property.twig"
697 },
698 "9": {
699 "name": "punctuation.section.array.end.twig"
700 }
701 },
702 "match": "(?x) (?<=[a-zA-Z0-9_\\x{7f}-\\x{ff}\\]])\r\n (?:\r\n (\\[)('[a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*')(\\])\r\n |(\\[)(\"[a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*\")(\\])\r\n |(\\[)([a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*)(\\])\r\n )\r\n "
703 }
704 ]
705 },
706 "twig-strings": {
707 "patterns": [
708 {
709 "begin": "(?:(?<!\\\\)|(?<=\\\\\\\\))'",
710 "beginCaptures": {
711 "0": {
712 "name": "punctuation.definition.string.begin.twig"
713 }
714 },
715 "end": "(?:(?<!\\\\)|(?<=\\\\\\\\))'",
716 "endCaptures": {
717 "0": {
718 "name": "punctuation.definition.string.end.twig"
719 }
720 },
721 "name": "string.quoted.single.twig"
722 },
723 {
724 "begin": "(?:(?<!\\\\)|(?<=\\\\\\\\))\"",
725 "beginCaptures": {
726 "0": {
727 "name": "punctuation.definition.string.begin.twig"
728 }
729 },
730 "end": "(?:(?<!\\\\)|(?<=\\\\\\\\))\"",
731 "endCaptures": {
732 "0": {
733 "name": "punctuation.definition.string.end.twig"
734 }
735 },
736 "name": "string.quoted.double.twig"
737 }
738 ]
739 },
740 "twig-arrays": {
741 "begin": "(?<=[\\s\\(\\{\\[:,])\\[",
742 "beginCaptures": {
743 "0": {
744 "name": "punctuation.section.array.begin.twig"
745 }
746 },
747 "end": "\\]",
748 "endCaptures": {
749 "0": {
750 "name": "punctuation.section.array.end.twig"
751 }
752 },
753 "patterns": [
754 {
755 "include": "#twig-arrays"
756 },
757 {
758 "include": "#twig-hashes"
759 },
760 {
761 "include": "#twig-constants"
762 },
763 {
764 "include": "#twig-strings"
765 },
766 {
767 "include": "#twig-functions-warg"
768 },
769 {
770 "include": "#twig-functions"
771 },
772 {
773 "include": "#twig-macros"
774 },
775 {
776 "include": "#twig-objects"
777 },
778 {
779 "include": "#twig-properties"
780 },
781 {
782 "include": "#twig-filters-warg"
783 },
784 {
785 "include": "#twig-filters"
786 },
787 {
788 "include": "#twig-filters-warg-ud"
789 },
790 {
791 "include": "#twig-filters-ud"
792 },
793 {
794 "match": ",",
795 "name": "punctuation.separator.object.twig"
796 }
797 ],
798 "name": "meta.array.twig"
799 },
800 "twig-hashes": {
801 "begin": "(?<=[\\s\\(\\{\\[:,])\\{",
802 "beginCaptures": {
803 "0": {
804 "name": "punctuation.section.hash.begin.twig"
805 }
806 },
807 "end": "\\}",
808 "endCaptures": {
809 "0": {
810 "name": "punctuation.section.hash.end.twig"
811 }
812 },
813 "patterns": [
814 {
815 "include": "#twig-hashes"
816 },
817 {
818 "include": "#twig-arrays"
819 },
820 {
821 "include": "#twig-constants"
822 },
823 {
824 "include": "#twig-strings"
825 },
826 {
827 "include": "#twig-functions-warg"
828 },
829 {
830 "include": "#twig-functions"
831 },
832 {
833 "include": "#twig-macros"
834 },
835 {
836 "include": "#twig-objects"
837 },
838 {
839 "include": "#twig-properties"
840 },
841 {
842 "include": "#twig-filters-warg"
843 },
844 {
845 "include": "#twig-filters"
846 },
847 {
848 "include": "#twig-filters-warg-ud"
849 },
850 {
851 "include": "#twig-filters-ud"
852 },
853 {
854 "match": ":",
855 "name": "punctuation.separator.key-value.twig"
856 },
857 {
858 "match": ",",
859 "name": "punctuation.separator.object.twig"
860 }
861 ],
862 "name": "meta.hash.twig"
863 },
864 "twig-keywords": {
865 "match": "(?<=\\s)((?:end)?(?:autoescape|form_theme|humanize|yaml_encode|yaml_dump|abbr_class|abbr_method|format_args|format_args_as_text|absolute_url|relative_path|block|embed|filter|for|if|macro|raw|sandbox|set|spaceless|trans|verbatim)|as|do|else|elseif|extends|flush|from|ignore missing|import|include|only|use|with|path|render|csrf_token|url|controller|form_errors|form_rest|form_start|form_end|form_widget|form_row|asset|encore_entry_link_tags|encore_entry_script_tags)(?=\\s)",
866 "name": "keyword.control.twig"
867 },
868 "twig-functions-warg": {
869 "begin": "(?<=[\\s\\(\\[\\{:,])(attribute|form_theme|humanize|yaml_encode|yaml_dump|abbr_class|abbr_method|format_args|format_args_as_text|absolute_url|relative_path|block|constant|cycle|date|divisible by|dump|include|max|min|parent|path|render|csrf_token|url|controller|form_errors|form_rest|form_start|form_end|form_widget|form_row|asset|encore_entry_link_tags|encore_entry_script_tags|random|range|same as|source|template_from_string)(\\()",
870 "beginCaptures": {
871 "1": {
872 "name": "support.function.twig"
873 },
874 "2": {
875 "name": "punctuation.definition.parameters.begin.twig"
876 }
877 },
878 "end": "\\)",
879 "endCaptures": {
880 "0": {
881 "name": "punctuation.definition.parameters.end.twig"
882 }
883 },
884 "patterns": [
885 {
886 "include": "#twig-constants"
887 },
888 {
889 "include": "#twig-functions-warg"
890 },
891 {
892 "include": "#twig-functions"
893 },
894 {
895 "include": "#twig-macros"
896 },
897 {
898 "include": "#twig-objects"
899 },
900 {
901 "include": "#twig-properties"
902 },
903 {
904 "include": "#twig-filters-warg"
905 },
906 {
907 "include": "#twig-filters"
908 },
909 {
910 "include": "#twig-filters-warg-ud"
911 },
912 {
913 "include": "#twig-filters-ud"
914 },
915 {
916 "include": "#twig-strings"
917 },
918 {
919 "include": "#twig-arrays"
920 }
921 ],
922 "contentName": "meta.function.arguments.twig"
923 },
924 "twig-functions": {
925 "captures": {
926 "1": {
927 "name": "support.function.twig"
928 }
929 },
930 "match": "(?<=is\\s)(defined|empty|even|iterable|odd)"
931 },
932 "twig-macros": {
933 "begin": "(?x) (?<=[\\s\\(\\[\\{:,])\r\n ([a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*)\r\n (?:\r\n (\\.)([a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*)\r\n )?\r\n (\\()\r\n ",
934 "beginCaptures": {
935 "1": {
936 "name": "meta.function-call.twig"
937 },
938 "2": {
939 "name": "punctuation.separator.property.twig"
940 },
941 "3": {
942 "name": "variable.other.property.twig"
943 },
944 "4": {
945 "name": "punctuation.definition.parameters.begin.twig"
946 }
947 },
948 "end": "\\)",
949 "endCaptures": {
950 "0": {
951 "name": "punctuation.definition.parameters.end.twig"
952 }
953 },
954 "patterns": [
955 {
956 "include": "#twig-constants"
957 },
958 {
959 "include": "#twig-operators"
960 },
961 {
962 "include": "#twig-functions-warg"
963 },
964 {
965 "include": "#twig-functions"
966 },
967 {
968 "include": "#twig-macros"
969 },
970 {
971 "include": "#twig-objects"
972 },
973 {
974 "include": "#twig-properties"
975 },
976 {
977 "include": "#twig-filters-warg"
978 },
979 {
980 "include": "#twig-filters"
981 },
982 {
983 "include": "#twig-filters-warg-ud"
984 },
985 {
986 "include": "#twig-filters-ud"
987 },
988 {
989 "include": "#twig-strings"
990 },
991 {
992 "include": "#twig-arrays"
993 },
994 {
995 "include": "#twig-hashes"
996 }
997 ],
998 "contentName": "meta.function.arguments.twig"
999 },
1000 "twig-filters-warg": {
1001 "begin": "(?<=(?:[a-zA-Z0-9_\\x{7f}-\\x{ff}\\]\\)\\'\\\"]\\|)|\\{%\\sfilter\\s)(batch|convert_encoding|date|date_modify|default|e(?:scape)?|format|join|merge|number_format|replace|round|slice|split|trim)(\\()",
1002 "beginCaptures": {
1003 "1": {
1004 "name": "support.function.twig"
1005 },
1006 "2": {
1007 "name": "punctuation.definition.parameters.begin.twig"
1008 }
1009 },
1010 "end": "\\)",
1011 "endCaptures": {
1012 "0": {
1013 "name": "punctuation.definition.parameters.end.twig"
1014 }
1015 },
1016 "patterns": [
1017 {
1018 "include": "#twig-constants"
1019 },
1020 {
1021 "include": "#twig-functions-warg"
1022 },
1023 {
1024 "include": "#twig-functions"
1025 },
1026 {
1027 "include": "#twig-macros"
1028 },
1029 {
1030 "include": "#twig-objects"
1031 },
1032 {
1033 "include": "#twig-properties"
1034 },
1035 {
1036 "include": "#twig-filters-warg"
1037 },
1038 {
1039 "include": "#twig-filters"
1040 },
1041 {
1042 "include": "#twig-filters-warg-ud"
1043 },
1044 {
1045 "include": "#twig-filters-ud"
1046 },
1047 {
1048 "include": "#twig-strings"
1049 },
1050 {
1051 "include": "#twig-arrays"
1052 },
1053 {
1054 "include": "#twig-hashes"
1055 }
1056 ],
1057 "contentName": "meta.function.arguments.twig"
1058 },
1059 "twig-filters": {
1060 "captures": {
1061 "1": {
1062 "name": "support.function.twig"
1063 }
1064 },
1065 "match": "(?<=(?:[a-zA-Z0-9_\\x{7f}-\\x{ff}\\]\\)\\'\\\"]\\|)|\\{%\\sfilter\\s)(abs|capitalize|e(?:scape)?|first|join|(?:json|url)_encode|keys|last|length|lower|nl2br|number_format|raw|reverse|round|sort|striptags|title|trim|upper)(?=[\\s\\|\\]\\}\\):,]|\\.\\.|\\*\\*)"
1066 },
1067 "twig-filters-warg-ud": {
1068 "begin": "(?<=(?:[a-zA-Z0-9_\\x{7f}-\\x{ff}\\]\\)\\'\\\"]\\|)|\\{%\\sfilter\\s)([a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*)(\\()",
1069 "beginCaptures": {
1070 "1": {
1071 "name": "meta.function-call.other.twig"
1072 },
1073 "2": {
1074 "name": "punctuation.definition.parameters.begin.twig"
1075 }
1076 },
1077 "end": "\\)",
1078 "endCaptures": {
1079 "0": {
1080 "name": "punctuation.definition.parameters.end.twig"
1081 }
1082 },
1083 "patterns": [
1084 {
1085 "include": "#twig-constants"
1086 },
1087 {
1088 "include": "#twig-functions-warg"
1089 },
1090 {
1091 "include": "#twig-functions"
1092 },
1093 {
1094 "include": "#twig-macros"
1095 },
1096 {
1097 "include": "#twig-objects"
1098 },
1099 {
1100 "include": "#twig-properties"
1101 },
1102 {
1103 "include": "#twig-filters-warg"
1104 },
1105 {
1106 "include": "#twig-filters"
1107 },
1108 {
1109 "include": "#twig-filters-warg-ud"
1110 },
1111 {
1112 "include": "#twig-filters-ud"
1113 },
1114 {
1115 "include": "#twig-strings"
1116 },
1117 {
1118 "include": "#twig-arrays"
1119 },
1120 {
1121 "include": "#twig-hashes"
1122 }
1123 ],
1124 "contentName": "meta.function.arguments.twig"
1125 },
1126 "twig-filters-ud": {
1127 "captures": {
1128 "1": {
1129 "name": "meta.function-call.other.twig"
1130 }
1131 },
1132 "match": "(?<=(?:[a-zA-Z0-9_\\x{7f}-\\x{ff}\\]\\)\\'\\\"]\\|)|\\{%\\sfilter\\s)([a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*)"
1133 },
1134 "php": {
1135 "begin": "(?=(^\\s*)?<\\?)",
1136 "end": "(?!(^\\s*)?<\\?)",
1137 "patterns": [
1138 {
1139 "include": "source.php"
1140 }
1141 ]
1142 },
1143 "python": {
1144 "begin": "(?:^\\s*)<\\?python(?!.*\\?>)",
1145 "end": "\\?>(?:\\s*$\\n)?",
1146 "name": "source.python.embedded.html",
1147 "patterns": [
1148 {
1149 "include": "source.python"
1150 }
1151 ]
1152 },
1153 "ruby": {
1154 "patterns": [
1155 {
1156 "begin": "<%+#",
1157 "captures": {
1158 "0": {
1159 "name": "punctuation.definition.comment.erb"
1160 }
1161 },
1162 "end": "%>",
1163 "name": "comment.block.erb"
1164 },
1165 {
1166 "begin": "<%+(?!>)=?",
1167 "captures": {
1168 "0": {
1169 "name": "punctuation.section.embedded.ruby"
1170 }
1171 },
1172 "end": "-?%>",
1173 "name": "source.ruby.embedded.html",
1174 "patterns": [
1175 {
1176 "captures": {
1177 "1": {
1178 "name": "punctuation.definition.comment.ruby"
1179 }
1180 },
1181 "match": "(#).*?(?=-?%>)",
1182 "name": "comment.line.number-sign.ruby"
1183 },
1184 {
1185 "include": "source.ruby"
1186 }
1187 ]
1188 },
1189 {
1190 "begin": "<\\?r(?!>)=?",
1191 "captures": {
1192 "0": {
1193 "name": "punctuation.section.embedded.ruby.nitro"
1194 }
1195 },
1196 "end": "-?\\?>",
1197 "name": "source.ruby.nitro.embedded.html",
1198 "patterns": [
1199 {
1200 "captures": {
1201 "1": {
1202 "name": "punctuation.definition.comment.ruby.nitro"
1203 }
1204 },
1205 "match": "(#).*?(?=-?\\?>)",
1206 "name": "comment.line.number-sign.ruby.nitro"
1207 },
1208 {
1209 "include": "source.ruby"
1210 }
1211 ]
1212 }
1213 ]
1214 },
1215 "string-double-quoted": {
1216 "begin": "\"",
1217 "beginCaptures": {
1218 "0": {
1219 "name": "punctuation.definition.string.begin.html"
1220 }
1221 },
1222 "end": "\"",
1223 "endCaptures": {
1224 "0": {
1225 "name": "punctuation.definition.string.end.html"
1226 }
1227 },
1228 "name": "string.quoted.double.html",
1229 "patterns": [
1230 {
1231 "include": "#embedded-code"
1232 },
1233 {
1234 "include": "#entities"
1235 }
1236 ]
1237 },
1238 "string-single-quoted": {
1239 "begin": "'",
1240 "beginCaptures": {
1241 "0": {
1242 "name": "punctuation.definition.string.begin.html"
1243 }
1244 },
1245 "end": "'",
1246 "endCaptures": {
1247 "0": {
1248 "name": "punctuation.definition.string.end.html"
1249 }
1250 },
1251 "name": "string.quoted.single.html",
1252 "patterns": [
1253 {
1254 "include": "#embedded-code"
1255 },
1256 {
1257 "include": "#entities"
1258 }
1259 ]
1260 },
1261 "tag-generic-attribute": {
1262 "match": "\\b([a-zA-Z\\-:]+)",
1263 "name": "entity.other.attribute-name.html"
1264 },
1265 "tag-id-attribute": {
1266 "begin": "\\b(id)\\b\\s*(=)",
1267 "captures": {
1268 "1": {
1269 "name": "entity.other.attribute-name.id.html"
1270 },
1271 "2": {
1272 "name": "punctuation.separator.key-value.html"
1273 }
1274 },
1275 "end": "(?<='|\")",
1276 "name": "meta.attribute-with-value.id.html",
1277 "patterns": [
1278 {
1279 "begin": "\"",
1280 "beginCaptures": {
1281 "0": {
1282 "name": "punctuation.definition.string.begin.html"
1283 }
1284 },
1285 "contentName": "meta.toc-list.id.html",
1286 "end": "\"",
1287 "endCaptures": {
1288 "0": {
1289 "name": "punctuation.definition.string.end.html"
1290 }
1291 },
1292 "name": "string.quoted.double.html",
1293 "patterns": [
1294 {
1295 "include": "#embedded-code"
1296 },
1297 {
1298 "include": "#entities"
1299 }
1300 ]
1301 },
1302 {
1303 "begin": "'",
1304 "beginCaptures": {
1305 "0": {
1306 "name": "punctuation.definition.string.begin.html"
1307 }
1308 },
1309 "contentName": "meta.toc-list.id.html",
1310 "end": "'",
1311 "endCaptures": {
1312 "0": {
1313 "name": "punctuation.definition.string.end.html"
1314 }
1315 },
1316 "name": "string.quoted.single.html",
1317 "patterns": [
1318 {
1319 "include": "#embedded-code"
1320 },
1321 {
1322 "include": "#entities"
1323 }
1324 ]
1325 }
1326 ]
1327 },
1328 "tag-stuff": {
1329 "patterns": [
1330 {
1331 "include": "#tag-id-attribute"
1332 },
1333 {
1334 "include": "#tag-generic-attribute"
1335 },
1336 {
1337 "include": "#string-double-quoted"
1338 },
1339 {
1340 "include": "#string-single-quoted"
1341 },
1342 {
1343 "include": "#embedded-code"
1344 }
1345 ]
1346 }
1347 },
1348 "scopeName": "text.html.twig",
1349 "uuid": "C220B028-86FF-44CB-8A59-27937FC83730"
1350 }
1351