@tolgee/cli 1.0.2 → 1.1.0

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