PluginProbe
Code Block Pro – Beautiful Syntax Highlighting / 1.1.0
Code Block Pro – Beautiful Syntax Highlighting v1.1.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 / svelte.tmLanguage.json

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

1,083 lines 26.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 {
2 "name": "svelte",
3 "scopeName": "source.svelte",
4 "fileTypes": ["svelte"],
5 "uuid": "7582b62f-51d9-4a84-8c8d-fc189530faf6",
6 "injections": {
7 "L:(meta.script.svelte | meta.style.svelte) (meta.lang.js | meta.lang.javascript) - (meta source)": {
8 "patterns": [
9 {
10 "begin": "(?<=>)(?!</)",
11 "end": "(?=</)",
12 "name": "meta.embedded.block.svelte",
13 "contentName": "source.js",
14 "patterns": [
15 {
16 "include": "source.js"
17 }
18 ]
19 }
20 ]
21 },
22 "L:(meta.script.svelte | meta.style.svelte) (meta.lang.ts | meta.lang.typescript) - (meta source)": {
23 "patterns": [
24 {
25 "begin": "(?<=>)(?!</)",
26 "end": "(?=</)",
27 "name": "meta.embedded.block.svelte",
28 "contentName": "source.ts",
29 "patterns": [
30 {
31 "include": "source.ts"
32 }
33 ]
34 }
35 ]
36 },
37 "L:(meta.script.svelte | meta.style.svelte) meta.lang.coffee - (meta source)": {
38 "patterns": [
39 {
40 "begin": "(?<=>)(?!</)",
41 "end": "(?=</)",
42 "name": "meta.embedded.block.svelte",
43 "contentName": "source.coffee",
44 "patterns": [
45 {
46 "include": "source.coffee"
47 }
48 ]
49 }
50 ]
51 },
52 "L:meta.script.svelte - meta.lang - (meta source)": {
53 "patterns": [
54 {
55 "begin": "(?<=>)(?!</)",
56 "end": "(?=</)",
57 "name": "meta.embedded.block.svelte",
58 "contentName": "source.js",
59 "patterns": [
60 {
61 "include": "source.js"
62 }
63 ]
64 }
65 ]
66 },
67 "L:meta.style.svelte meta.lang.stylus - (meta source)": {
68 "patterns": [
69 {
70 "begin": "(?<=>)(?!</)",
71 "end": "(?=</)",
72 "name": "meta.embedded.block.svelte",
73 "contentName": "source.stylus",
74 "patterns": [
75 {
76 "include": "source.stylus"
77 }
78 ]
79 }
80 ]
81 },
82 "L:meta.style.svelte meta.lang.sass - (meta source)": {
83 "patterns": [
84 {
85 "begin": "(?<=>)(?!</)",
86 "end": "(?=</)",
87 "name": "meta.embedded.block.svelte",
88 "contentName": "source.sass",
89 "patterns": [
90 {
91 "include": "source.sass"
92 }
93 ]
94 }
95 ]
96 },
97 "L:meta.style.svelte meta.lang.css - (meta source)": {
98 "patterns": [
99 {
100 "begin": "(?<=>)(?!</)",
101 "end": "(?=</)",
102 "name": "meta.embedded.block.svelte",
103 "contentName": "source.css",
104 "patterns": [
105 {
106 "include": "source.css"
107 }
108 ]
109 }
110 ]
111 },
112 "L:meta.style.svelte meta.lang.scss - (meta source)": {
113 "patterns": [
114 {
115 "begin": "(?<=>)(?!</)",
116 "end": "(?=</)",
117 "name": "meta.embedded.block.svelte",
118 "contentName": "source.css.scss",
119 "patterns": [
120 {
121 "include": "source.css.scss"
122 }
123 ]
124 }
125 ]
126 },
127 "L:meta.style.svelte meta.lang.less - (meta source)": {
128 "patterns": [
129 {
130 "begin": "(?<=>)(?!</)",
131 "end": "(?=</)",
132 "name": "meta.embedded.block.svelte",
133 "contentName": "source.css.less",
134 "patterns": [
135 {
136 "include": "source.css.less"
137 }
138 ]
139 }
140 ]
141 },
142 "L:meta.style.svelte meta.lang.postcss - (meta source)": {
143 "patterns": [
144 {
145 "begin": "(?<=>)(?!</)",
146 "end": "(?=</)",
147 "name": "meta.embedded.block.svelte",
148 "contentName": "source.css.postcss",
149 "patterns": [
150 {
151 "include": "source.css.postcss"
152 }
153 ]
154 }
155 ]
156 },
157 "L:meta.style.svelte - meta.lang - (meta source)": {
158 "patterns": [
159 {
160 "begin": "(?<=>)(?!</)",
161 "end": "(?=</)",
162 "name": "meta.embedded.block.svelte",
163 "contentName": "source.css",
164 "patterns": [
165 {
166 "include": "source.css"
167 }
168 ]
169 }
170 ]
171 },
172 "L:meta.template.svelte meta.lang.pug - (meta source)": {
173 "patterns": [
174 {
175 "begin": "(?<=>)(?!</)",
176 "end": "(?=</)",
177 "name": "meta.embedded.block.svelte",
178 "contentName": "text.pug",
179 "patterns": [
180 {
181 "include": "text.pug"
182 }
183 ]
184 }
185 ]
186 },
187 "L:meta.template.svelte - meta.lang - (meta source)": {
188 "patterns": [
189 {
190 "begin": "(?<=>)\\s",
191 "end": "(?=</template)",
192 "patterns": [
193 {
194 "include": "#scope"
195 }
196 ]
197 }
198 ]
199 },
200 "L:(source.ts, source.js, source.coffee)": {
201 "patterns": [
202 {
203 "match": "(?<![_$[:alnum:]])\\$(?=[_[:alpha:]][_$[:alnum:]]*)",
204 "name": "punctuation.definition.variable.svelte"
205 },
206 {
207 "match": "(?<![_$[:alnum:]])(\\$\\$)(?=props|restProps|slots)",
208 "name": "punctuation.definition.variable.svelte"
209 }
210 ]
211 }
212 },
213 "patterns": [
214 {
215 "include": "#scope"
216 }
217 ],
218 "repository": {
219 "scope": {
220 "patterns": [
221 {
222 "include": "#comments"
223 },
224 {
225 "include": "#special-tags"
226 },
227 {
228 "include": "#tags"
229 },
230 {
231 "include": "#interpolation"
232 },
233 {
234 "begin": "(?<=>|})",
235 "end": "(?=<|{)",
236 "name": "text.svelte"
237 }
238 ]
239 },
240 "comments": {
241 "begin": "<!--",
242 "end": "-->",
243 "captures": {
244 "0": {
245 "name": "punctuation.definition.comment.svelte"
246 }
247 },
248 "name": "comment.block.svelte",
249 "patterns": [
250 {
251 "begin": "(@)(component)",
252 "beginCaptures": {
253 "1": {
254 "name": "punctuation.definition.keyword.svelte"
255 },
256 "2": {
257 "name": "storage.type.class.component.svelte keyword.declaration.class.component.svelte"
258 }
259 },
260 "end": "(?=-->)",
261 "contentName": "comment.block.documentation.svelte",
262 "patterns": [
263 {
264 "match": ".*?(?=-->)",
265 "captures": {
266 "0": {
267 "patterns": [
268 {
269 "include": "text.html.markdown"
270 }
271 ]
272 }
273 }
274 },
275 {
276 "include": "text.html.markdown"
277 }
278 ]
279 },
280 {
281 "match": "\\G-?>|<!--(?!>)|<!-(?=-->)|--!>",
282 "name": "invalid.illegal.characters-not-allowed-here.svelte"
283 }
284 ]
285 },
286 "destructuring": {
287 "patterns": [
288 {
289 "begin": "(?={)",
290 "end": "(?<=})",
291 "name": "meta.embedded.expression.svelte source.ts",
292 "patterns": [
293 {
294 "include": "source.ts#object-binding-pattern"
295 }
296 ]
297 },
298 {
299 "begin": "(?=\\[)",
300 "end": "(?<=\\])",
301 "name": "meta.embedded.expression.svelte source.ts",
302 "patterns": [
303 {
304 "include": "source.ts#array-binding-pattern"
305 }
306 ]
307 }
308 ]
309 },
310 "interpolation": {
311 "patterns": [
312 {
313 "begin": "\\{",
314 "end": "\\}",
315 "beginCaptures": {
316 "0": {
317 "name": "punctuation.section.embedded.begin.svelte"
318 }
319 },
320 "endCaptures": {
321 "0": {
322 "name": "punctuation.section.embedded.end.svelte"
323 }
324 },
325 "contentName": "meta.embedded.expression.svelte source.ts",
326 "patterns": [
327 {
328 "begin": "\\G\\s*(?={)",
329 "end": "(?<=})",
330 "patterns": [
331 {
332 "include": "source.ts#object-literal"
333 }
334 ]
335 },
336 {
337 "include": "source.ts"
338 }
339 ]
340 }
341 ]
342 },
343 "special-tags": {
344 "patterns": [
345 {
346 "include": "#special-tags-void"
347 },
348 {
349 "include": "#special-tags-block-begin"
350 },
351 {
352 "include": "#special-tags-block-end"
353 }
354 ]
355 },
356 "special-tags-keywords": {
357 "match": "([#@/:])(else\\s+if|[a-z]*)",
358 "captures": {
359 "1": {
360 "name": "punctuation.definition.keyword.svelte"
361 },
362 "2": {
363 "patterns": [
364 {
365 "match": "if|else\\s+if|else",
366 "name": "keyword.control.conditional.svelte"
367 },
368 {
369 "match": "each|key",
370 "name": "keyword.control.svelte"
371 },
372 {
373 "match": "await|then|catch",
374 "name": "keyword.control.flow.svelte"
375 },
376 {
377 "match": "html",
378 "name": "keyword.other.svelte"
379 },
380 {
381 "match": "debug",
382 "name": "keyword.other.debugger.svelte"
383 },
384 {
385 "match": "const",
386 "name": "storage.type.svelte"
387 }
388 ]
389 }
390 }
391 },
392 "special-tags-modes": {
393 "patterns": [
394 {
395 "begin": "(?<=(if|key|then|catch|html).*?)\\G",
396 "end": "(?=})",
397 "name": "meta.embedded.expression.svelte source.ts",
398 "patterns": [
399 {
400 "include": "source.ts"
401 }
402 ]
403 },
404 {
405 "begin": "(?<=const.*?)\\G",
406 "end": "(?=})",
407 "patterns": [
408 {
409 "begin": "\\G\\s*([_$[:alpha:]][_$[:alnum:]]+)\\s*",
410 "end": "(?=\\=)",
411 "beginCaptures": {
412 "1": {
413 "name": "variable.other.constant.svelte"
414 }
415 }
416 },
417 {
418 "begin": "(?=\\=)",
419 "end": "(?=})",
420 "patterns": [
421 {
422 "include": "source.ts#variable-initializer"
423 }
424 ]
425 }
426 ]
427 },
428 {
429 "begin": "(?<=each.*?)\\G",
430 "end": "(?=})",
431 "patterns": [
432 {
433 "begin": "\\G\\s*?(?=\\S)",
434 "end": "(?=(?:^\\s*|\\s+)(as))",
435 "contentName": "meta.embedded.expression.svelte source.ts",
436 "patterns": [
437 {
438 "include": "source.ts"
439 }
440 ]
441 },
442 {
443 "begin": "(as)",
444 "beginCaptures": {
445 "1": {
446 "name": "keyword.control.as.svelte"
447 }
448 },
449 "end": "(?=})",
450 "patterns": [
451 {
452 "include": "#destructuring"
453 },
454 {
455 "begin": "\\(",
456 "end": "\\)|(?=})",
457 "captures": {
458 "0": {
459 "name": "meta.brace.round.svelte"
460 }
461 },
462 "contentName": "meta.embedded.expression.svelte source.ts",
463 "patterns": [
464 {
465 "include": "source.ts"
466 }
467 ]
468 },
469 {
470 "match": "(\\s*([_$[:alpha:]][_$[:alnum:]]*)\\s*)",
471 "captures": {
472 "1": {
473 "name": "meta.embedded.expression.svelte source.ts",
474 "patterns": [
475 {
476 "include": "source.ts"
477 }
478 ]
479 }
480 }
481 },
482 {
483 "match": ",",
484 "name": "punctuation.separator.svelte"
485 }
486 ]
487 }
488 ]
489 },
490 {
491 "begin": "(?<=await.*?)\\G",
492 "end": "(?=})",
493 "patterns": [
494 {
495 "begin": "\\G\\s*?(?=\\S)",
496 "end": "\\s+(then)|(?=})",
497 "endCaptures": {
498 "1": {
499 "name": "keyword.control.flow.svelte"
500 }
501 },
502 "contentName": "meta.embedded.expression.svelte source.ts",
503 "patterns": [
504 {
505 "include": "source.ts"
506 }
507 ]
508 },
509 {
510 "begin": "(?<=then\\b)",
511 "end": "(?=})",
512 "contentName": "meta.embedded.expression.svelte source.ts",
513 "patterns": [
514 {
515 "include": "source.ts"
516 }
517 ]
518 }
519 ]
520 },
521 {
522 "begin": "(?<=debug.*?)\\G",
523 "end": "(?=})",
524 "patterns": [
525 {
526 "match": "[_$[:alpha:]][_$[:alnum:]]*",
527 "captures": {
528 "0": {
529 "name": "meta.embedded.expression.svelte source.ts",
530 "patterns": [
531 {
532 "include": "source.ts"
533 }
534 ]
535 }
536 }
537 },
538 {
539 "match": ",",
540 "name": "punctuation.separator.svelte"
541 }
542 ]
543 }
544 ]
545 },
546 "special-tags-void": {
547 "begin": "({)\\s*((?:[@:])(else\\s+if|[a-z]*))",
548 "beginCaptures": {
549 "1": {
550 "name": "punctuation.definition.block.begin.svelte"
551 },
552 "2": {
553 "patterns": [
554 {
555 "include": "#special-tags-keywords"
556 }
557 ]
558 }
559 },
560 "end": "\\}",
561 "endCaptures": {
562 "0": {
563 "name": "punctuation.definition.block.end.svelte"
564 }
565 },
566 "name": "meta.special.$3.svelte",
567 "patterns": [
568 {
569 "include": "#special-tags-modes"
570 }
571 ]
572 },
573 "special-tags-block-begin": {
574 "begin": "({)\\s*(#([a-z]*))",
575 "end": "(})",
576 "name": "meta.special.$3.svelte meta.special.start.svelte",
577 "beginCaptures": {
578 "1": {
579 "name": "punctuation.definition.block.begin.svelte"
580 },
581 "2": {
582 "patterns": [
583 {
584 "include": "#special-tags-keywords"
585 }
586 ]
587 }
588 },
589 "endCaptures": {
590 "0": {
591 "name": "punctuation.definition.block.end.svelte"
592 }
593 },
594 "patterns": [
595 {
596 "include": "#special-tags-modes"
597 }
598 ]
599 },
600 "special-tags-block-end": {
601 "begin": "({)\\s*(/([a-z]*))",
602 "end": "(})",
603 "name": "meta.special.$3.svelte meta.special.end.svelte",
604 "beginCaptures": {
605 "1": {
606 "name": "punctuation.definition.block.begin.svelte"
607 },
608 "2": {
609 "patterns": [
610 {
611 "include": "#special-tags-keywords"
612 }
613 ]
614 }
615 },
616 "endCaptures": {
617 "1": {
618 "name": "punctuation.definition.block.end.svelte"
619 }
620 }
621 },
622 "attributes": {
623 "patterns": [
624 {
625 "include": "#attributes-directives"
626 },
627 {
628 "include": "#attributes-keyvalue"
629 },
630 {
631 "include": "#attributes-interpolated"
632 }
633 ]
634 },
635 "attributes-interpolated": {
636 "begin": "(?<!:|=)\\s*({)",
637 "end": "(\\})",
638 "captures": {
639 "1": {
640 "name": "entity.other.attribute-name.svelte"
641 }
642 },
643 "contentName": "meta.embedded.expression.svelte source.ts",
644 "patterns": [
645 {
646 "include": "source.ts"
647 }
648 ]
649 },
650 "attributes-keyvalue": {
651 "begin": "((?:--)?[_$[:alpha:]][_\\-$[:alnum:]]*)",
652 "beginCaptures": {
653 "0": {
654 "patterns": [
655 {
656 "match": "--.*",
657 "name": "support.type.property-name.svelte"
658 },
659 {
660 "match": ".*",
661 "name": "entity.other.attribute-name.svelte"
662 }
663 ]
664 }
665 },
666 "end": "(?=\\s*+[^=\\s])",
667 "name": "meta.attribute.$1.svelte",
668 "patterns": [
669 {
670 "begin": "=",
671 "beginCaptures": {
672 "0": {
673 "name": "punctuation.separator.key-value.svelte"
674 }
675 },
676 "end": "(?<=[^\\s=])(?!\\s*=)|(?=/?>)",
677 "patterns": [
678 {
679 "include": "#attributes-value"
680 }
681 ]
682 }
683 ]
684 },
685 "attributes-value": {
686 "patterns": [
687 {
688 "include": "#interpolation"
689 },
690 {
691 "match": "(?:(['\"])([0-9._]+[\\w%]{,4})(\\1))|(?:([0-9._]+[\\w%]{,4})(?=\\s|/?>))",
692 "captures": {
693 "1": {
694 "name": "punctuation.definition.string.begin.svelte"
695 },
696 "2": {
697 "name": "constant.numeric.decimal.svelte"
698 },
699 "3": {
700 "name": "punctuation.definition.string.end.svelte"
701 },
702 "4": {
703 "name": "constant.numeric.decimal.svelte"
704 }
705 }
706 },
707 {
708 "match": "([^\\s\"'=<>`/]|/(?!>))+",
709 "name": "string.unquoted.svelte",
710 "patterns": [
711 {
712 "include": "#interpolation"
713 }
714 ]
715 },
716 {
717 "begin": "(['\"])",
718 "end": "\\1",
719 "beginCaptures": {
720 "0": {
721 "name": "punctuation.definition.string.begin.svelte"
722 }
723 },
724 "endCaptures": {
725 "0": {
726 "name": "punctuation.definition.string.end.svelte"
727 }
728 },
729 "name": "string.quoted.svelte",
730 "patterns": [
731 {
732 "include": "#interpolation"
733 }
734 ]
735 }
736 ]
737 },
738 "attributes-directives-keywords": {
739 "patterns": [
740 {
741 "match": "on|use|bind",
742 "name": "keyword.control.svelte"
743 },
744 {
745 "match": "transition|in|out|animate",
746 "name": "keyword.other.animation.svelte"
747 },
748 {
749 "match": "let",
750 "name": "storage.type.svelte"
751 },
752 {
753 "match": "class|style",
754 "name": "entity.other.attribute-name.svelte"
755 }
756 ]
757 },
758 "attributes-directives-types": {
759 "patterns": [
760 {
761 "match": "(?<=(on):).*$",
762 "name": "entity.name.type.svelte"
763 },
764 {
765 "match": "(?<=(bind):).*$",
766 "name": "variable.parameter.svelte"
767 },
768 {
769 "match": "(?<=(use|transition|in|out|animate):).*$",
770 "name": "variable.function.svelte"
771 },
772 {
773 "match": "(?<=(let|class|style):).*$",
774 "name": "variable.parameter.svelte"
775 }
776 ]
777 },
778 "attributes-directives-types-assigned": {
779 "patterns": [
780 {
781 "match": "(?<=(bind):)this$",
782 "name": "variable.language.svelte"
783 },
784 {
785 "match": "(?<=(bind):).*$",
786 "name": "entity.name.type.svelte"
787 },
788 {
789 "match": "(?<=(class):).*$",
790 "name": "entity.other.attribute-name.class.svelte"
791 },
792 {
793 "match": "(?<=(style):).*$",
794 "name": "support.type.property-name.svelte"
795 },
796 {
797 "include": "#attributes-directives-types"
798 }
799 ]
800 },
801 "attributes-directives": {
802 "begin": "(?<!<)(on|use|bind|transition|in|out|animate|let|class|style)(:)(?:((?:--)?[_$[:alpha:]][_\\-$[:alnum:]]*(?=\\s*=))|((?:--)?[_$[:alpha:]][_\\-$[:alnum:]]*))((\\|\\w+)*)",
803 "beginCaptures": {
804 "1": {
805 "patterns": [
806 {
807 "include": "#attributes-directives-keywords"
808 }
809 ]
810 },
811 "2": {
812 "name": "punctuation.definition.keyword.svelte"
813 },
814 "3": {
815 "patterns": [
816 {
817 "include": "#attributes-directives-types-assigned"
818 }
819 ]
820 },
821 "4": {
822 "patterns": [
823 {
824 "include": "#attributes-directives-types"
825 }
826 ]
827 },
828 "5": {
829 "patterns": [
830 {
831 "match": "\\w+",
832 "name": "support.function.svelte"
833 },
834 {
835 "match": "\\|",
836 "name": "punctuation.separator.svelte"
837 }
838 ]
839 }
840 },
841 "end": "(?=\\s*+[^=\\s])",
842 "name": "meta.directive.$1.svelte",
843 "patterns": [
844 {
845 "begin": "=",
846 "beginCaptures": {
847 "0": {
848 "name": "punctuation.separator.key-value.svelte"
849 }
850 },
851 "end": "(?<=[^\\s=])(?!\\s*=)|(?=/?>)",
852 "patterns": [
853 {
854 "include": "#attributes-value"
855 }
856 ]
857 }
858 ]
859 },
860 "tags": {
861 "patterns": [
862 {
863 "include": "#tags-lang"
864 },
865 {
866 "include": "#tags-void"
867 },
868 {
869 "include": "#tags-general-end"
870 },
871 {
872 "include": "#tags-general-start"
873 }
874 ]
875 },
876 "tags-name": {
877 "patterns": [
878 {
879 "match": "(svelte)(:)([a-z][\\w0-9:-]*)",
880 "captures": {
881 "1": {
882 "name": "keyword.control.svelte"
883 },
884 "2": {
885 "name": "punctuation.definition.keyword.svelte"
886 },
887 "3": {
888 "name": "entity.name.tag.svelte"
889 }
890 }
891 },
892 {
893 "match": "slot",
894 "name": "keyword.control.svelte"
895 },
896 {
897 "match": "[A-Z][a-zA-Z0-9_]*",
898 "name": "support.class.component.svelte"
899 },
900 {
901 "match": "[a-z][\\w0-9:]*-[\\w0-9:-]*",
902 "name": "meta.tag.custom.svelte entity.name.tag.svelte"
903 },
904 {
905 "match": "[a-z][\\w0-9:-]*",
906 "name": "entity.name.tag.svelte"
907 }
908 ]
909 },
910 "tags-start-attributes": {
911 "begin": "\\G",
912 "end": "(?=/?>)",
913 "name": "meta.tag.start.svelte",
914 "patterns": [
915 {
916 "include": "#attributes"
917 }
918 ]
919 },
920 "tags-lang-start-attributes": {
921 "begin": "\\G",
922 "end": "(?=/>)|>",
923 "endCaptures": {
924 "0": {
925 "name": "punctuation.definition.tag.end.svelte"
926 }
927 },
928 "name": "meta.tag.start.svelte",
929 "patterns": [
930 {
931 "include": "#attributes"
932 }
933 ]
934 },
935 "tags-start-node": {
936 "match": "(<)([^/\\s>/]*)",
937 "captures": {
938 "1": {
939 "name": "punctuation.definition.tag.begin.svelte"
940 },
941 "2": {
942 "patterns": [
943 {
944 "include": "#tags-name"
945 }
946 ]
947 }
948 },
949 "name": "meta.tag.start.svelte"
950 },
951 "tags-end-node": {
952 "match": "(</)(.*?)\\s*(>)|(/>)",
953 "captures": {
954 "1": {
955 "name": "meta.tag.end.svelte punctuation.definition.tag.begin.svelte"
956 },
957 "2": {
958 "name": "meta.tag.end.svelte",
959 "patterns": [
960 {
961 "include": "#tags-name"
962 }
963 ]
964 },
965 "3": {
966 "name": "meta.tag.end.svelte punctuation.definition.tag.end.svelte"
967 },
968 "4": {
969 "name": "meta.tag.start.svelte punctuation.definition.tag.end.svelte"
970 }
971 }
972 },
973 "tags-lang": {
974 "begin": "<(script|style|template)",
975 "end": "</\\1\\s*>|/>",
976 "beginCaptures": {
977 "0": {
978 "patterns": [
979 {
980 "include": "#tags-start-node"
981 }
982 ]
983 }
984 },
985 "endCaptures": {
986 "0": {
987 "patterns": [
988 {
989 "include": "#tags-end-node"
990 }
991 ]
992 }
993 },
994 "name": "meta.$1.svelte",
995 "patterns": [
996 {
997 "begin": "\\G(?=\\s*[^>]*?(type|lang)\\s*=\\s*(['\"]|)(?:text/)?(\\w+)\\2)",
998 "end": "(?=</|/>)",
999 "name": "meta.lang.$3.svelte",
1000 "patterns": [
1001 {
1002 "include": "#tags-lang-start-attributes"
1003 }
1004 ]
1005 },
1006 {
1007 "include": "#tags-lang-start-attributes"
1008 }
1009 ]
1010 },
1011 "tags-void": {
1012 "begin": "(<)(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)(?=\\s|/?>)",
1013 "beginCaptures": {
1014 "1": {
1015 "name": "punctuation.definition.tag.begin.svelte"
1016 },
1017 "2": {
1018 "name": "entity.name.tag.svelte"
1019 }
1020 },
1021 "end": "/?>",
1022 "endCaptures": {
1023 "0": {
1024 "name": "punctuation.definition.tag.begin.svelte"
1025 }
1026 },
1027 "name": "meta.tag.void.svelte",
1028 "patterns": [
1029 {
1030 "include": "#attributes"
1031 }
1032 ]
1033 },
1034 "tags-general-start": {
1035 "begin": "(<)([^/\\s>/]*)",
1036 "end": "(/?>)",
1037 "beginCaptures": {
1038 "0": {
1039 "patterns": [
1040 {
1041 "include": "#tags-start-node"
1042 }
1043 ]
1044 }
1045 },
1046 "endCaptures": {
1047 "1": {
1048 "name": "meta.tag.start.svelte punctuation.definition.tag.end.svelte"
1049 }
1050 },
1051 "name": "meta.scope.tag.$2.svelte",
1052 "patterns": [
1053 {
1054 "include": "#tags-start-attributes"
1055 }
1056 ]
1057 },
1058 "tags-general-end": {
1059 "begin": "(</)([^/\\s>]*)",
1060 "end": "(>)",
1061 "beginCaptures": {
1062 "1": {
1063 "name": "meta.tag.end.svelte punctuation.definition.tag.begin.svelte"
1064 },
1065 "2": {
1066 "name": "meta.tag.end.svelte",
1067 "patterns": [
1068 {
1069 "include": "#tags-name"
1070 }
1071 ]
1072 }
1073 },
1074 "endCaptures": {
1075 "1": {
1076 "name": "meta.tag.end.svelte punctuation.definition.tag.end.svelte"
1077 }
1078 },
1079 "name": "meta.scope.tag.$2.svelte"
1080 }
1081 }
1082 }
1083