@tolgee/cli 2.1.6 → 2.1.7

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.
@@ -1,1263 +1 @@
1
- {
2
- "//": "Modified grammar from https://raw.githubusercontent.com/vuejs/language-tools/master/packages/vscode-vue/syntaxes/vue.tmLanguage.json",
3
- "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
4
- "name": "Vue",
5
- "scopeName": "source.vue",
6
- "patterns": [
7
- {
8
- "include": "text.html.basic#comment"
9
- },
10
- {
11
- "include": "#self-closing-tag"
12
- },
13
- {
14
- "begin": "(<)",
15
- "beginCaptures": {
16
- "1": {
17
- "name": "punctuation.definition.tag.begin.html.vue"
18
- }
19
- },
20
- "end": "(>)",
21
- "endCaptures": {
22
- "1": {
23
- "name": "punctuation.definition.tag.end.html.vue"
24
- }
25
- },
26
- "patterns": [
27
- {
28
- "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)md\\b\\2)",
29
- "beginCaptures": {
30
- "1": {
31
- "name": "entity.name.tag.$1.html.vue"
32
- }
33
- },
34
- "end": "(</)(\\1)\\s*(?=>)",
35
- "endCaptures": {
36
- "1": {
37
- "name": "punctuation.definition.tag.begin.html.vue"
38
- },
39
- "2": {
40
- "name": "entity.name.tag.$2.html.vue"
41
- }
42
- },
43
- "patterns": [
44
- {
45
- "include": "#tag-stuff"
46
- },
47
- {
48
- "begin": "(?<=>)",
49
- "end": "(?=<\\/)",
50
- "name": "text.html.markdown",
51
- "patterns": [
52
- {
53
- "include": "text.html.markdown"
54
- }
55
- ]
56
- }
57
- ]
58
- },
59
- {
60
- "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)html\\b\\2)",
61
- "beginCaptures": {
62
- "1": {
63
- "name": "entity.name.tag.$1.html.vue"
64
- }
65
- },
66
- "end": "(</)(\\1)\\s*(?=>)",
67
- "endCaptures": {
68
- "1": {
69
- "name": "punctuation.definition.tag.begin.html.vue"
70
- },
71
- "2": {
72
- "name": "entity.name.tag.$2.html.vue"
73
- }
74
- },
75
- "patterns": [
76
- {
77
- "include": "#tag-stuff"
78
- },
79
- {
80
- "begin": "(?<=>)",
81
- "end": "(?=<\\/)",
82
- "name": "text.html.derivative",
83
- "patterns": [
84
- {
85
- "include": "#html-stuff"
86
- }
87
- ]
88
- }
89
- ]
90
- },
91
- {
92
- "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)pug\\b\\2)",
93
- "beginCaptures": {
94
- "1": {
95
- "name": "entity.name.tag.$1.html.vue"
96
- }
97
- },
98
- "end": "(</)(\\1)\\s*(?=>)",
99
- "endCaptures": {
100
- "1": {
101
- "name": "punctuation.definition.tag.begin.html.vue"
102
- },
103
- "2": {
104
- "name": "entity.name.tag.$2.html.vue"
105
- }
106
- },
107
- "patterns": [
108
- {
109
- "include": "#tag-stuff"
110
- },
111
- {
112
- "begin": "(?<=>)",
113
- "end": "(?=<\\/)",
114
- "name": "text.pug",
115
- "patterns": [
116
- {
117
- "include": "text.pug"
118
- }
119
- ]
120
- }
121
- ]
122
- },
123
- {
124
- "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)stylus\\b\\2)",
125
- "beginCaptures": {
126
- "1": {
127
- "name": "entity.name.tag.$1.html.vue"
128
- }
129
- },
130
- "end": "(</)(\\1)\\s*(?=>)",
131
- "endCaptures": {
132
- "1": {
133
- "name": "punctuation.definition.tag.begin.html.vue"
134
- },
135
- "2": {
136
- "name": "entity.name.tag.$2.html.vue"
137
- }
138
- },
139
- "patterns": [
140
- {
141
- "include": "#tag-stuff"
142
- },
143
- {
144
- "begin": "(?<=>)",
145
- "end": "(?=<\\/)",
146
- "name": "source.stylus",
147
- "patterns": [
148
- {
149
- "include": "source.stylus"
150
- }
151
- ]
152
- }
153
- ]
154
- },
155
- {
156
- "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)postcss\\b\\2)",
157
- "beginCaptures": {
158
- "1": {
159
- "name": "entity.name.tag.$1.html.vue"
160
- }
161
- },
162
- "end": "(</)(\\1)\\s*(?=>)",
163
- "endCaptures": {
164
- "1": {
165
- "name": "punctuation.definition.tag.begin.html.vue"
166
- },
167
- "2": {
168
- "name": "entity.name.tag.$2.html.vue"
169
- }
170
- },
171
- "patterns": [
172
- {
173
- "include": "#tag-stuff"
174
- },
175
- {
176
- "begin": "(?<=>)",
177
- "end": "(?=<\\/)",
178
- "name": "source.postcss",
179
- "patterns": [
180
- {
181
- "include": "source.postcss"
182
- }
183
- ]
184
- }
185
- ]
186
- },
187
- {
188
- "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)sass\\b\\2)",
189
- "beginCaptures": {
190
- "1": {
191
- "name": "entity.name.tag.$1.html.vue"
192
- }
193
- },
194
- "end": "(</)(\\1)\\s*(?=>)",
195
- "endCaptures": {
196
- "1": {
197
- "name": "punctuation.definition.tag.begin.html.vue"
198
- },
199
- "2": {
200
- "name": "entity.name.tag.$2.html.vue"
201
- }
202
- },
203
- "patterns": [
204
- {
205
- "include": "#tag-stuff"
206
- },
207
- {
208
- "begin": "(?<=>)",
209
- "end": "(?=<\\/)",
210
- "name": "source.sass",
211
- "patterns": [
212
- {
213
- "include": "source.sass"
214
- }
215
- ]
216
- }
217
- ]
218
- },
219
- {
220
- "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)css\\b\\2)",
221
- "beginCaptures": {
222
- "1": {
223
- "name": "entity.name.tag.$1.html.vue"
224
- }
225
- },
226
- "end": "(</)(\\1)\\s*(?=>)",
227
- "endCaptures": {
228
- "1": {
229
- "name": "punctuation.definition.tag.begin.html.vue"
230
- },
231
- "2": {
232
- "name": "entity.name.tag.$2.html.vue"
233
- }
234
- },
235
- "patterns": [
236
- {
237
- "include": "#tag-stuff"
238
- },
239
- {
240
- "begin": "(?<=>)",
241
- "end": "(?=<\\/)",
242
- "name": "source.css",
243
- "patterns": [
244
- {
245
- "include": "source.css"
246
- }
247
- ]
248
- }
249
- ]
250
- },
251
- {
252
- "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)scss\\b\\2)",
253
- "beginCaptures": {
254
- "1": {
255
- "name": "entity.name.tag.$1.html.vue"
256
- }
257
- },
258
- "end": "(</)(\\1)\\s*(?=>)",
259
- "endCaptures": {
260
- "1": {
261
- "name": "punctuation.definition.tag.begin.html.vue"
262
- },
263
- "2": {
264
- "name": "entity.name.tag.$2.html.vue"
265
- }
266
- },
267
- "patterns": [
268
- {
269
- "include": "#tag-stuff"
270
- },
271
- {
272
- "begin": "(?<=>)",
273
- "end": "(?=<\\/)",
274
- "name": "source.css.scss",
275
- "patterns": [
276
- {
277
- "include": "source.css.scss"
278
- }
279
- ]
280
- }
281
- ]
282
- },
283
- {
284
- "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)less\\b\\2)",
285
- "beginCaptures": {
286
- "1": {
287
- "name": "entity.name.tag.$1.html.vue"
288
- }
289
- },
290
- "end": "(</)(\\1)\\s*(?=>)",
291
- "endCaptures": {
292
- "1": {
293
- "name": "punctuation.definition.tag.begin.html.vue"
294
- },
295
- "2": {
296
- "name": "entity.name.tag.$2.html.vue"
297
- }
298
- },
299
- "patterns": [
300
- {
301
- "include": "#tag-stuff"
302
- },
303
- {
304
- "begin": "(?<=>)",
305
- "end": "(?=<\\/)",
306
- "name": "source.css.less",
307
- "patterns": [
308
- {
309
- "include": "source.css.less"
310
- }
311
- ]
312
- }
313
- ]
314
- },
315
- {
316
- "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)js\\b\\2)",
317
- "beginCaptures": {
318
- "1": {
319
- "name": "entity.name.tag.$1.html.vue"
320
- }
321
- },
322
- "end": "(</)(\\1)\\s*(?=>)",
323
- "endCaptures": {
324
- "1": {
325
- "name": "punctuation.definition.tag.begin.html.vue"
326
- },
327
- "2": {
328
- "name": "entity.name.tag.$2.html.vue"
329
- }
330
- },
331
- "patterns": [
332
- {
333
- "include": "#tag-stuff"
334
- },
335
- {
336
- "begin": "(?<=>)",
337
- "end": "(?=<\\/)",
338
- "name": "source.ts",
339
- "patterns": [
340
- {
341
- "include": "source.ts"
342
- }
343
- ]
344
- }
345
- ]
346
- },
347
- {
348
- "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)ts\\b\\2)",
349
- "beginCaptures": {
350
- "1": {
351
- "name": "entity.name.tag.$1.html.vue"
352
- }
353
- },
354
- "end": "(</)(\\1)\\s*(?=>)",
355
- "endCaptures": {
356
- "1": {
357
- "name": "punctuation.definition.tag.begin.html.vue"
358
- },
359
- "2": {
360
- "name": "entity.name.tag.$2.html.vue"
361
- }
362
- },
363
- "patterns": [
364
- {
365
- "include": "#tag-stuff"
366
- },
367
- {
368
- "begin": "(?<=>)",
369
- "end": "(?=<\\/)",
370
- "name": "source.ts",
371
- "patterns": [
372
- {
373
- "include": "source.ts"
374
- }
375
- ]
376
- }
377
- ]
378
- },
379
- {
380
- "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)jsx\\b\\2)",
381
- "beginCaptures": {
382
- "1": {
383
- "name": "entity.name.tag.$1.html.vue"
384
- }
385
- },
386
- "end": "(</)(\\1)\\s*(?=>)",
387
- "endCaptures": {
388
- "1": {
389
- "name": "punctuation.definition.tag.begin.html.vue"
390
- },
391
- "2": {
392
- "name": "entity.name.tag.$2.html.vue"
393
- }
394
- },
395
- "patterns": [
396
- {
397
- "include": "#tag-stuff"
398
- },
399
- {
400
- "begin": "(?<=>)",
401
- "end": "(?=<\\/)",
402
- "name": "source.tsx",
403
- "patterns": [
404
- {
405
- "include": "source.tsx"
406
- }
407
- ]
408
- }
409
- ]
410
- },
411
- {
412
- "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)tsx\\b\\2)",
413
- "beginCaptures": {
414
- "1": {
415
- "name": "entity.name.tag.$1.html.vue"
416
- }
417
- },
418
- "end": "(</)(\\1)\\s*(?=>)",
419
- "endCaptures": {
420
- "1": {
421
- "name": "punctuation.definition.tag.begin.html.vue"
422
- },
423
- "2": {
424
- "name": "entity.name.tag.$2.html.vue"
425
- }
426
- },
427
- "patterns": [
428
- {
429
- "include": "#tag-stuff"
430
- },
431
- {
432
- "begin": "(?<=>)",
433
- "end": "(?=<\\/)",
434
- "name": "source.tsx",
435
- "patterns": [
436
- {
437
- "include": "source.tsx"
438
- }
439
- ]
440
- }
441
- ]
442
- },
443
- {
444
- "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)json\\b\\2)",
445
- "beginCaptures": {
446
- "1": {
447
- "name": "entity.name.tag.$1.html.vue"
448
- }
449
- },
450
- "end": "(</)(\\1)\\s*(?=>)",
451
- "endCaptures": {
452
- "1": {
453
- "name": "punctuation.definition.tag.begin.html.vue"
454
- },
455
- "2": {
456
- "name": "entity.name.tag.$2.html.vue"
457
- }
458
- },
459
- "patterns": [
460
- {
461
- "include": "#tag-stuff"
462
- },
463
- {
464
- "begin": "(?<=>)",
465
- "end": "(?=<\\/)",
466
- "name": "source.json",
467
- "patterns": [
468
- {
469
- "include": "source.json"
470
- }
471
- ]
472
- }
473
- ]
474
- },
475
- {
476
- "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)jsonc\\b\\2)",
477
- "beginCaptures": {
478
- "1": {
479
- "name": "entity.name.tag.$1.html.vue"
480
- }
481
- },
482
- "end": "(</)(\\1)\\s*(?=>)",
483
- "endCaptures": {
484
- "1": {
485
- "name": "punctuation.definition.tag.begin.html.vue"
486
- },
487
- "2": {
488
- "name": "entity.name.tag.$2.html.vue"
489
- }
490
- },
491
- "patterns": [
492
- {
493
- "include": "#tag-stuff"
494
- },
495
- {
496
- "begin": "(?<=>)",
497
- "end": "(?=<\\/)",
498
- "name": "source.json.comments",
499
- "patterns": [
500
- {
501
- "include": "source.json.comments"
502
- }
503
- ]
504
- }
505
- ]
506
- },
507
- {
508
- "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)json5\\b\\2)",
509
- "beginCaptures": {
510
- "1": {
511
- "name": "entity.name.tag.$1.html.vue"
512
- }
513
- },
514
- "end": "(</)(\\1)\\s*(?=>)",
515
- "endCaptures": {
516
- "1": {
517
- "name": "punctuation.definition.tag.begin.html.vue"
518
- },
519
- "2": {
520
- "name": "entity.name.tag.$2.html.vue"
521
- }
522
- },
523
- "patterns": [
524
- {
525
- "include": "#tag-stuff"
526
- },
527
- {
528
- "begin": "(?<=>)",
529
- "end": "(?=<\\/)",
530
- "name": "source.json5",
531
- "patterns": [
532
- {
533
- "include": "source.json5"
534
- }
535
- ]
536
- }
537
- ]
538
- },
539
- {
540
- "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)yaml\\b\\2)",
541
- "beginCaptures": {
542
- "1": {
543
- "name": "entity.name.tag.$1.html.vue"
544
- }
545
- },
546
- "end": "(</)(\\1)\\s*(?=>)",
547
- "endCaptures": {
548
- "1": {
549
- "name": "punctuation.definition.tag.begin.html.vue"
550
- },
551
- "2": {
552
- "name": "entity.name.tag.$2.html.vue"
553
- }
554
- },
555
- "patterns": [
556
- {
557
- "include": "#tag-stuff"
558
- },
559
- {
560
- "begin": "(?<=>)",
561
- "end": "(?=<\\/)",
562
- "name": "source.yaml",
563
- "patterns": [
564
- {
565
- "include": "source.yaml"
566
- }
567
- ]
568
- }
569
- ]
570
- },
571
- {
572
- "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)toml\\b\\2)",
573
- "beginCaptures": {
574
- "1": {
575
- "name": "entity.name.tag.$1.html.vue"
576
- }
577
- },
578
- "end": "(</)(\\1)\\s*(?=>)",
579
- "endCaptures": {
580
- "1": {
581
- "name": "punctuation.definition.tag.begin.html.vue"
582
- },
583
- "2": {
584
- "name": "entity.name.tag.$2.html.vue"
585
- }
586
- },
587
- "patterns": [
588
- {
589
- "include": "#tag-stuff"
590
- },
591
- {
592
- "begin": "(?<=>)",
593
- "end": "(?=<\\/)",
594
- "name": "source.toml",
595
- "patterns": [
596
- {
597
- "include": "source.toml"
598
- }
599
- ]
600
- }
601
- ]
602
- },
603
- {
604
- "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)(gql|graphql)\\b\\2)",
605
- "beginCaptures": {
606
- "1": {
607
- "name": "entity.name.tag.$1.html.vue"
608
- }
609
- },
610
- "end": "(</)(\\1)\\s*(?=>)",
611
- "endCaptures": {
612
- "1": {
613
- "name": "punctuation.definition.tag.begin.html.vue"
614
- },
615
- "2": {
616
- "name": "entity.name.tag.$2.html.vue"
617
- }
618
- },
619
- "patterns": [
620
- {
621
- "include": "#tag-stuff"
622
- },
623
- {
624
- "begin": "(?<=>)",
625
- "end": "(?=<\\/)",
626
- "name": "source.graphql",
627
- "patterns": [
628
- {
629
- "include": "source.graphql"
630
- }
631
- ]
632
- }
633
- ]
634
- },
635
- {
636
- "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)vue\\b\\2)",
637
- "beginCaptures": {
638
- "1": {
639
- "name": "entity.name.tag.$1.html.vue"
640
- }
641
- },
642
- "end": "(</)(\\1)\\s*(?=>)",
643
- "endCaptures": {
644
- "1": {
645
- "name": "punctuation.definition.tag.begin.html.vue"
646
- },
647
- "2": {
648
- "name": "entity.name.tag.$2.html.vue"
649
- }
650
- },
651
- "patterns": [
652
- {
653
- "include": "#tag-stuff"
654
- },
655
- {
656
- "begin": "(?<=>)",
657
- "end": "(?=<\\/)",
658
- "name": "source.vue",
659
- "patterns": [
660
- {
661
- "include": "source.vue"
662
- }
663
- ]
664
- }
665
- ]
666
- },
667
- {
668
- "begin": "(template)\\b",
669
- "beginCaptures": {
670
- "1": {
671
- "name": "entity.name.tag.$1.html.vue"
672
- }
673
- },
674
- "end": "(</)(\\1)\\s*(?=>)",
675
- "endCaptures": {
676
- "1": {
677
- "name": "punctuation.definition.tag.begin.html.vue"
678
- },
679
- "2": {
680
- "name": "entity.name.tag.$2.html.vue"
681
- }
682
- },
683
- "patterns": [
684
- {
685
- "include": "#tag-stuff"
686
- },
687
- {
688
- "begin": "(?<=>)",
689
- "end": "(?=<\\/template\\b)",
690
- "name": "text.html.derivative",
691
- "patterns": [
692
- {
693
- "include": "#html-stuff"
694
- }
695
- ]
696
- }
697
- ]
698
- },
699
- {
700
- "begin": "(script)\\b",
701
- "beginCaptures": {
702
- "1": {
703
- "name": "entity.name.tag.$1.html.vue"
704
- }
705
- },
706
- "end": "(</)(\\1)\\s*(?=>)",
707
- "endCaptures": {
708
- "1": {
709
- "name": "punctuation.definition.tag.begin.html.vue"
710
- },
711
- "2": {
712
- "name": "entity.name.tag.$2.html.vue"
713
- }
714
- },
715
- "patterns": [
716
- {
717
- "include": "#tag-stuff"
718
- },
719
- {
720
- "begin": "(?<=>)",
721
- "end": "(?=<\\/script\\b)",
722
- "name": "source.ts",
723
- "patterns": [
724
- {
725
- "include": "source.ts"
726
- }
727
- ]
728
- }
729
- ]
730
- },
731
- {
732
- "begin": "(style)\\b",
733
- "beginCaptures": {
734
- "1": {
735
- "name": "entity.name.tag.$1.html.vue"
736
- }
737
- },
738
- "end": "(</)(\\1)\\s*(?=>)",
739
- "endCaptures": {
740
- "1": {
741
- "name": "punctuation.definition.tag.begin.html.vue"
742
- },
743
- "2": {
744
- "name": "entity.name.tag.$2.html.vue"
745
- }
746
- },
747
- "patterns": [
748
- {
749
- "include": "#tag-stuff"
750
- },
751
- {
752
- "begin": "(?<=>)",
753
- "end": "(?=<\\/style\\b)",
754
- "name": "source.css",
755
- "patterns": [
756
- {
757
- "include": "source.css"
758
- }
759
- ]
760
- }
761
- ]
762
- },
763
- {
764
- "begin": "([a-zA-Z0-9:-]+)",
765
- "beginCaptures": {
766
- "1": {
767
- "name": "entity.name.tag.$1.html.vue"
768
- }
769
- },
770
- "end": "(</)(\\1)\\s*(?=>)",
771
- "endCaptures": {
772
- "1": {
773
- "name": "punctuation.definition.tag.begin.html.vue"
774
- },
775
- "2": {
776
- "name": "entity.name.tag.$2.html.vue"
777
- }
778
- },
779
- "patterns": [
780
- {
781
- "include": "#tag-stuff"
782
- },
783
- {
784
- "begin": "(?<=>)",
785
- "end": "(?=<\\/)",
786
- "name": "text"
787
- }
788
- ]
789
- }
790
- ]
791
- }
792
- ],
793
- "repository": {
794
- "self-closing-tag": {
795
- "begin": "(<)([a-zA-Z0-9:-]+)(?=([^>]+/>))",
796
- "beginCaptures": {
797
- "1": {
798
- "name": "punctuation.definition.tag.begin.html.vue"
799
- },
800
- "2": {
801
- "name": "entity.name.tag.$2.html.vue"
802
- }
803
- },
804
- "end": "(/>)",
805
- "endCaptures": {
806
- "1": {
807
- "name": "punctuation.definition.tag.end.html.vue"
808
- }
809
- },
810
- "name": "self-closing-tag",
811
- "patterns": [
812
- {
813
- "include": "#tag-stuff"
814
- }
815
- ]
816
- },
817
- "template-tag": {
818
- "patterns": [
819
- {
820
- "include": "#template-tag-1"
821
- },
822
- {
823
- "include": "#template-tag-2"
824
- }
825
- ]
826
- },
827
- "template-tag-1": {
828
- "begin": "(<)(template)\\b(>)",
829
- "beginCaptures": {
830
- "1": {
831
- "name": "punctuation.definition.tag.begin.html.vue"
832
- },
833
- "2": {
834
- "name": "entity.name.tag.$2.html.vue"
835
- },
836
- "3": {
837
- "name": "punctuation.definition.tag.end.html.vue"
838
- }
839
- },
840
- "end": "(/?>)",
841
- "endCaptures": {
842
- "1": {
843
- "name": "punctuation.definition.tag.end.html.vue"
844
- }
845
- },
846
- "name": "meta.template-tag.start",
847
- "patterns": [
848
- {
849
- "begin": "\\G",
850
- "end": "(?=/>)|((</)(template)\\b)",
851
- "endCaptures": {
852
- "2": {
853
- "name": "punctuation.definition.tag.begin.html.vue"
854
- },
855
- "3": {
856
- "name": "entity.name.tag.$3.html.vue"
857
- }
858
- },
859
- "name": "meta.template-tag.end",
860
- "patterns": [
861
- {
862
- "include": "#html-stuff"
863
- }
864
- ]
865
- }
866
- ]
867
- },
868
- "template-tag-2": {
869
- "begin": "(<)(template)\\b",
870
- "beginCaptures": {
871
- "1": {
872
- "name": "punctuation.definition.tag.begin.html.vue"
873
- },
874
- "2": {
875
- "name": "entity.name.tag.$2.html.vue"
876
- }
877
- },
878
- "end": "(/?>)",
879
- "endCaptures": {
880
- "1": {
881
- "name": "punctuation.definition.tag.end.html.vue"
882
- }
883
- },
884
- "name": "meta.template-tag.start",
885
- "patterns": [
886
- {
887
- "begin": "\\G",
888
- "end": "(?=/>)|((</)(template)\\b)",
889
- "endCaptures": {
890
- "2": {
891
- "name": "punctuation.definition.tag.begin.html.vue"
892
- },
893
- "3": {
894
- "name": "entity.name.tag.$3.html.vue"
895
- }
896
- },
897
- "name": "meta.template-tag.end",
898
- "patterns": [
899
- {
900
- "include": "#tag-stuff"
901
- },
902
- {
903
- "include": "#html-stuff"
904
- }
905
- ]
906
- }
907
- ]
908
- },
909
- "html-stuff": {
910
- "patterns": [
911
- {
912
- "include": "#template-tag"
913
- },
914
- {
915
- "begin": "(<)([a-zA-Z0-9:-]+)",
916
- "beginCaptures": {
917
- "1": {
918
- "name": "punctuation.definition.tag.begin.html"
919
- },
920
- "2": {
921
- "name": "entity.name.tag.$2.html.vue"
922
- }
923
- },
924
- "end": "((/>)|(?<=>))",
925
- "endCaptures": {
926
- "1": {
927
- "name": "punctuation.definition.tag.end.html"
928
- }
929
- },
930
- "patterns": [
931
- {
932
- "include": "#tag-stuff"
933
- }
934
- ]
935
- },
936
- {
937
- "include": "#vue-interpolations"
938
- },
939
- {
940
- "include": "text.html.derivative"
941
- },
942
- {
943
- "include": "text.html.basic"
944
- }
945
- ]
946
- },
947
- "tag-stuff": {
948
- "begin": "\\G",
949
- "end": "(?=/>)|(>)",
950
- "endCaptures": {
951
- "1": {
952
- "name": "punctuation.definition.tag.end.html.vue"
953
- }
954
- },
955
- "name": "meta.tag-stuff",
956
- "patterns": [
957
- {
958
- "include": "#vue-directives"
959
- },
960
- {
961
- "include": "text.html.basic#attribute"
962
- }
963
- ]
964
- },
965
- "vue-directives": {
966
- "patterns": [
967
- {
968
- "include": "#vue-directives-control"
969
- },
970
- {
971
- "include": "#vue-directives-style-attr"
972
- },
973
- {
974
- "include": "#vue-directives-original"
975
- },
976
- {
977
- "include": "#vue-directives-generic-attr"
978
- }
979
- ]
980
- },
981
- "vue-directives-original": {
982
- "begin": "(?:\\b(v-)|(:)|(@)|(#))(\\[?)([\\w\\-]*)(\\]?)(?:\\.([\\w\\-]*))*",
983
- "beginCaptures": {
984
- "1": {
985
- "name": "entity.other.attribute-name.html.vue"
986
- },
987
- "2": {
988
- "name": "punctuation.attribute-shorthand.bind.html.vue"
989
- },
990
- "3": {
991
- "name": "punctuation.attribute-shorthand.event.html.vue"
992
- },
993
- "4": {
994
- "name": "punctuation.attribute-shorthand.slot.html.vue"
995
- },
996
- "5": {
997
- "name": "punctuation.separator.key-value.html.vue"
998
- },
999
- "6": {
1000
- "name": "entity.other.attribute-name.html.vue"
1001
- },
1002
- "7": {
1003
- "name": "punctuation.separator.key-value.html.vue"
1004
- },
1005
- "8": {
1006
- "name": "entity.other.attribute-name.html.vue"
1007
- },
1008
- "9": {
1009
- "name": "punctuation.separator.key-value.html.vue"
1010
- }
1011
- },
1012
- "end": "(?=\\s*+[^=\\s])",
1013
- "endCaptures": {
1014
- "1": {
1015
- "name": "punctuation.definition.string.end.html.vue"
1016
- }
1017
- },
1018
- "name": "meta.attribute.directive.vue",
1019
- "patterns": [
1020
- {
1021
- "include": "#vue-directives-expression"
1022
- }
1023
- ]
1024
- },
1025
- "vue-directives-control": {
1026
- "begin": "(v-for)|(v-if|v-else-if|v-else)",
1027
- "captures": {
1028
- "1": {
1029
- "name": "keyword.control.loop.vue"
1030
- },
1031
- "2": {
1032
- "name": "keyword.control.conditional.vue"
1033
- }
1034
- },
1035
- "end": "(?=\\s*+[^=\\s])",
1036
- "name": "meta.attribute.directive.control.vue",
1037
- "patterns": [
1038
- {
1039
- "include": "#vue-directives-expression"
1040
- }
1041
- ]
1042
- },
1043
- "vue-directives-expression": {
1044
- "patterns": [
1045
- {
1046
- "begin": "(=)\\s*('|\"|`)",
1047
- "beginCaptures": {
1048
- "1": {
1049
- "name": "punctuation.separator.key-value.html.vue"
1050
- },
1051
- "2": {
1052
- "name": "punctuation.definition.string.begin.html.vue"
1053
- }
1054
- },
1055
- "end": "(\\2)",
1056
- "endCaptures": {
1057
- "1": {
1058
- "name": "punctuation.definition.string.end.html.vue"
1059
- }
1060
- },
1061
- "patterns": [
1062
- {
1063
- "begin": "(?<=('|\"|`))",
1064
- "end": "(?=\\1)",
1065
- "name": "source.ts.embedded.html.vue",
1066
- "patterns": [
1067
- {
1068
- "include": "source.ts"
1069
- }
1070
- ]
1071
- }
1072
- ]
1073
- },
1074
- {
1075
- "begin": "(=)\\s*(?=[^'\"`])",
1076
- "beginCaptures": {
1077
- "1": {
1078
- "name": "punctuation.separator.key-value.html.vue"
1079
- }
1080
- },
1081
- "end": "(?=(\\s|>|\\/>))",
1082
- "patterns": [
1083
- {
1084
- "begin": "(?=[^'\"`])",
1085
- "end": "(?=(\\s|>|\\/>))",
1086
- "name": "source.ts.embedded.html.vue",
1087
- "patterns": [
1088
- {
1089
- "include": "source.ts"
1090
- }
1091
- ]
1092
- }
1093
- ]
1094
- }
1095
- ]
1096
- },
1097
- "vue-directives-style-attr": {
1098
- "begin": "\\b(style)\\s*(=)",
1099
- "captures": {
1100
- "1": {
1101
- "name": "entity.other.attribute-name.html.vue"
1102
- },
1103
- "2": {
1104
- "name": "punctuation.separator.key-value.html.vue"
1105
- }
1106
- },
1107
- "end": "(?<='|\")",
1108
- "name": "meta.attribute.style.vue",
1109
- "patterns": [
1110
- {
1111
- "comment": "Copy from source.css#rule-list-innards",
1112
- "begin": "('|\")",
1113
- "beginCaptures": {
1114
- "1": {
1115
- "name": "punctuation.definition.string.begin.html.vue"
1116
- }
1117
- },
1118
- "end": "(\\1)",
1119
- "endCaptures": {
1120
- "1": {
1121
- "name": "punctuation.definition.string.end.html.vue"
1122
- }
1123
- },
1124
- "name": "source.css.embedded.html.vue",
1125
- "patterns": [
1126
- {
1127
- "include": "source.css#comment-block"
1128
- },
1129
- {
1130
- "include": "source.css#escapes"
1131
- },
1132
- {
1133
- "include": "source.css#font-features"
1134
- },
1135
- {
1136
- "match": "(?x) (?<![\\w-])\n--\n(?:[-a-zA-Z_] | [^\\x00-\\x7F]) # First letter\n(?:[-a-zA-Z0-9_] | [^\\x00-\\x7F] # Remainder of identifier\n |\\\\(?:[0-9a-fA-F]{1,6}|.)\n)*",
1137
- "name": "variable.css"
1138
- },
1139
- {
1140
- "begin": "(?<![-a-zA-Z])(?=[-a-zA-Z])",
1141
- "end": "$|(?![-a-zA-Z])",
1142
- "name": "meta.property-name.css",
1143
- "patterns": [
1144
- {
1145
- "include": "source.css#property-names"
1146
- }
1147
- ]
1148
- },
1149
- {
1150
- "comment": "Modify end to fix #199. TODO: handle ' character.",
1151
- "begin": "(:)\\s*",
1152
- "beginCaptures": {
1153
- "1": {
1154
- "name": "punctuation.separator.key-value.css"
1155
- }
1156
- },
1157
- "end": "\\s*(;)|\\s*(?='|\")",
1158
- "endCaptures": {
1159
- "1": {
1160
- "name": "punctuation.terminator.rule.css"
1161
- }
1162
- },
1163
- "contentName": "meta.property-value.css",
1164
- "patterns": [
1165
- {
1166
- "include": "source.css#comment-block"
1167
- },
1168
- {
1169
- "include": "source.css#property-values"
1170
- }
1171
- ]
1172
- },
1173
- {
1174
- "match": ";",
1175
- "name": "punctuation.terminator.rule.css"
1176
- }
1177
- ]
1178
- }
1179
- ]
1180
- },
1181
- "vue-directives-generic-attr": {
1182
- "begin": "\\b(generic)\\s*(=)",
1183
- "captures": {
1184
- "1": {
1185
- "name": "entity.other.attribute-name.html.vue"
1186
- },
1187
- "2": {
1188
- "name": "punctuation.separator.key-value.html.vue"
1189
- }
1190
- },
1191
- "end": "(?<='|\")",
1192
- "name": "meta.attribute.generic.vue",
1193
- "patterns": [
1194
- {
1195
- "begin": "('|\")",
1196
- "beginCaptures": {
1197
- "1": {
1198
- "name": "punctuation.definition.string.begin.html.vue"
1199
- }
1200
- },
1201
- "end": "(\\1)",
1202
- "endCaptures": {
1203
- "1": {
1204
- "name": "punctuation.definition.string.end.html.vue"
1205
- }
1206
- },
1207
- "name": "meta.type.parameters.vue",
1208
- "comment": "https://github.com/microsoft/vscode/blob/fd4346210f59135fad81a8b8c4cea7bf5a9ca6b4/extensions/typescript-basics/syntaxes/TypeScript.tmLanguage.json#L4002-L4020",
1209
- "patterns": [
1210
- {
1211
- "include": "source.ts#comment"
1212
- },
1213
- {
1214
- "name": "storage.modifier.ts",
1215
- "match": "(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(extends|in|out)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"
1216
- },
1217
- {
1218
- "include": "source.ts#type"
1219
- },
1220
- {
1221
- "include": "source.ts#punctuation-comma"
1222
- },
1223
- {
1224
- "name": "keyword.operator.assignment.ts",
1225
- "match": "(=)(?!>)"
1226
- }
1227
- ]
1228
- }
1229
- ]
1230
- },
1231
- "vue-interpolations": {
1232
- "patterns": [
1233
- {
1234
- "begin": "(\\{\\{)",
1235
- "beginCaptures": {
1236
- "1": {
1237
- "name": "punctuation.definition.interpolation.begin.html.vue"
1238
- }
1239
- },
1240
- "end": "(\\}\\})",
1241
- "endCaptures": {
1242
- "1": {
1243
- "name": "punctuation.definition.interpolation.end.html.vue"
1244
- }
1245
- },
1246
- "name": "expression.embedded.vue",
1247
- "patterns": [
1248
- {
1249
- "begin": "\\G",
1250
- "end": "(?=\\}\\})",
1251
- "name": "source.ts.embedded.html.vue",
1252
- "patterns": [
1253
- {
1254
- "include": "source.ts"
1255
- }
1256
- ]
1257
- }
1258
- ]
1259
- }
1260
- ]
1261
- }
1262
- }
1263
- }
1
+ {"//": "Modified grammar from https://raw.githubusercontent.com/vuejs/language-tools/master/extensions/vscode/syntaxes/vue.tmLanguage.json","$schema":"https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json","name":"Vue","scopeName":"source.vue","patterns":[{"include":"text.html.basic#comment"},{"include":"#self-closing-tag"},{"begin":"(<)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"patterns":[{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)md\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\\/)","name":"text.html.markdown","patterns":[{"include":"text.html.markdown"}]}]},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)html\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\\/)","name":"text.html.derivative","patterns":[{"include":"#html-stuff"}]}]},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)pug\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\\/)","name":"text.pug","patterns":[{"include":"text.pug"}]}]},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)stylus\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\\/)","name":"source.stylus","patterns":[{"include":"source.stylus"}]}]},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)postcss\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\\/)","name":"source.postcss","patterns":[{"include":"source.postcss"}]}]},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)sass\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\\/)","name":"source.sass","patterns":[{"include":"source.sass"}]}]},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)css\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\\/)","name":"source.css","patterns":[{"include":"source.css"}]}]},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)scss\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\\/)","name":"source.css.scss","patterns":[{"include":"source.css.scss"}]}]},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)less\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\\/)","name":"source.css.less","patterns":[{"include":"source.css.less"}]}]},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)js\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\\/)","name":"source.ts","patterns":[{"include":"source.ts"}]}]},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)ts\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\\/)","name":"source.ts","patterns":[{"include":"source.ts"}]}]},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)jsx\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\\/)","name":"source.tsx","patterns":[{"include":"source.tsx"}]}]},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)tsx\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\\/)","name":"source.tsx","patterns":[{"include":"source.tsx"}]}]},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)coffee\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\\/)","name":"source.coffee","patterns":[{"include":"source.coffee"}]}]},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)json\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\\/)","name":"source.json","patterns":[{"include":"source.json"}]}]},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)jsonc\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\\/)","name":"source.json.comments","patterns":[{"include":"source.json.comments"}]}]},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)json5\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\\/)","name":"source.json5","patterns":[{"include":"source.json5"}]}]},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)yaml\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\\/)","name":"source.yaml","patterns":[{"include":"source.yaml"}]}]},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)toml\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\\/)","name":"source.toml","patterns":[{"include":"source.toml"}]}]},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)(gql|graphql)\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\\/)","name":"source.graphql","patterns":[{"include":"source.graphql"}]}]},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)vue\\b\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\\/)","name":"source.vue","patterns":[{"include":"source.vue"}]}]},{"begin":"(template)\\b","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\\/template\\b)","name":"text.html.derivative","patterns":[{"include":"#html-stuff"}]}]},{"begin":"(script)\\b","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\\/script\\b)","name":"source.ts","patterns":[{"include":"source.ts"}]}]},{"begin":"(style)\\b","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\\/style\\b)","name":"source.css","patterns":[{"include":"source.css"}]}]},{"begin":"([a-zA-Z0-9:-]+)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\1)\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\\/)","name":"text"}]}]}],"repository":{"self-closing-tag":{"begin":"(<)([a-zA-Z0-9:-]+)(?=([^>]+/>))","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"end":"(/>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"self-closing-tag","patterns":[{"include":"#tag-stuff"}]},"template-tag":{"patterns":[{"include":"#template-tag-1"},{"include":"#template-tag-2"}]},"template-tag-1":{"begin":"(<)(template)\\b(>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"},"3":{"name":"punctuation.definition.tag.end.html.vue"}},"end":"(/?>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.template-tag.start","patterns":[{"begin":"\\G","end":"(?=/>)|((</)(template)\\b)","endCaptures":{"2":{"name":"punctuation.definition.tag.begin.html.vue"},"3":{"name":"entity.name.tag.$3.html.vue"}},"name":"meta.template-tag.end","patterns":[{"include":"#html-stuff"}]}]},"template-tag-2":{"begin":"(<)(template)\\b","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"end":"(/?>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.template-tag.start","patterns":[{"begin":"\\G","end":"(?=/>)|((</)(template)\\b)","endCaptures":{"2":{"name":"punctuation.definition.tag.begin.html.vue"},"3":{"name":"entity.name.tag.$3.html.vue"}},"name":"meta.template-tag.end","patterns":[{"include":"#tag-stuff"},{"include":"#html-stuff"}]}]},"html-stuff":{"patterns":[{"include":"#template-tag"},{"begin":"(<)([a-zA-Z0-9:-]+)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.$2.html.vue"}},"end":"((/>)|(?<=>))","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"patterns":[{"include":"#tag-stuff"}]},{"include":"#vue-interpolations"},{"include":"text.html.derivative"},{"include":"text.html.basic"}]},"tag-stuff":{"begin":"\\G","end":"(?=/>)|(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.tag-stuff","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}]},"vue-directives":{"patterns":[{"include":"#vue-directives-control"},{"include":"#vue-directives-style-attr"},{"include":"#vue-directives-original"},{"include":"#vue-directives-generic-attr"}]},"vue-directives-original":{"begin":"(?:(?:(v-[\\w-]+)(:)?)|([:\\.])|(@)|(#))(?:(?:(\\[)([^\\]]*)(\\]))|([\\w-]+))?","beginCaptures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"},"3":{"name":"punctuation.attribute-shorthand.bind.html.vue"},"4":{"name":"punctuation.attribute-shorthand.event.html.vue"},"5":{"name":"punctuation.attribute-shorthand.slot.html.vue"},"6":{"name":"punctuation.separator.key-value.html.vue"},"7":{"name":"source.ts.embedded.html.vue","patterns":[{"include":"source.ts#expression"}]},"8":{"name":"punctuation.separator.key-value.html.vue"},"9":{"name":"entity.other.attribute-name.html.vue"}},"end":"(?=\\s*[^=\\s])","endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}},"name":"meta.attribute.directive.vue","patterns":[{"1":{"name":"punctuation.separator.key-value.html.vue"},"2":{"name":"entity.other.attribute-name.html.vue"},"match":"(\\.)([\\w-]*)"},{"include":"#vue-directives-expression"}]},"vue-directives-control":{"begin":"(v-for)|(v-if|v-else-if|v-else)","captures":{"1":{"name":"keyword.control.loop.vue"},"2":{"name":"keyword.control.conditional.vue"}},"end":"(?=\\s*+[^=\\s])","name":"meta.attribute.directive.control.vue","patterns":[{"include":"#vue-directives-expression"}]},"vue-directives-expression":{"patterns":[{"begin":"(=)\\s*('|\"|`)","beginCaptures":{"1":{"name":"punctuation.separator.key-value.html.vue"},"2":{"name":"punctuation.definition.string.begin.html.vue"}},"end":"(\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}},"patterns":[{"begin":"(?<=('|\"|`))","end":"(?=\\1)","name":"source.ts.embedded.html.vue","patterns":[{"include":"source.ts#expression"}]}]},{"begin":"(=)\\s*(?=[^'\"`])","beginCaptures":{"1":{"name":"punctuation.separator.key-value.html.vue"}},"end":"(?=(\\s|>|\\/>))","patterns":[{"begin":"(?=[^'\"`])","end":"(?=(\\s|>|\\/>))","name":"source.ts.embedded.html.vue","patterns":[{"include":"source.ts#expression"}]}]}]},"vue-directives-style-attr":{"begin":"\\b(style)\\s*(=)","captures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"}},"end":"(?<='|\")","name":"meta.attribute.style.vue","patterns":[{"comment":"Copy from source.css#rule-list-innards","begin":"('|\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.html.vue"}},"end":"(\\1)","endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}},"name":"source.css.embedded.html.vue","patterns":[{"include":"source.css#comment-block"},{"include":"source.css#escapes"},{"include":"source.css#font-features"},{"match":"(?x) (?<![\\w-])\n--\n(?:[-a-zA-Z_] | [^\\x00-\\x7F]) # First letter\n(?:[-a-zA-Z0-9_] | [^\\x00-\\x7F] # Remainder of identifier\n |\\\\(?:[0-9a-fA-F]{1,6}|.)\n)*","name":"variable.css"},{"begin":"(?<![-a-zA-Z])(?=[-a-zA-Z])","end":"$|(?![-a-zA-Z])","name":"meta.property-name.css","patterns":[{"include":"source.css#property-names"}]},{"comment":"Modify end to fix #199. TODO: handle ' character.","begin":"(:)\\s*","beginCaptures":{"1":{"name":"punctuation.separator.key-value.css"}},"end":"\\s*(;)|\\s*(?='|\")","endCaptures":{"1":{"name":"punctuation.terminator.rule.css"}},"contentName":"meta.property-value.css","patterns":[{"include":"source.css#comment-block"},{"include":"source.css#property-values"}]},{"match":";","name":"punctuation.terminator.rule.css"}]}]},"vue-directives-generic-attr":{"begin":"\\b(generic)\\s*(=)","captures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"}},"end":"(?<='|\")","name":"meta.attribute.generic.vue","patterns":[{"begin":"('|\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.html.vue"}},"end":"(\\1)","endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}},"name":"meta.type.parameters.vue","comment":"https://github.com/microsoft/vscode/blob/fd4346210f59135fad81a8b8c4cea7bf5a9ca6b4/extensions/typescript-basics/syntaxes/TypeScript.tmLanguage.json#L4002-L4020","patterns":[{"include":"source.ts#comment"},{"name":"storage.modifier.ts","match":"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(extends|in|out)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"include":"source.ts#type"},{"include":"source.ts#punctuation-comma"},{"name":"keyword.operator.assignment.ts","match":"(=)(?!>)"}]}]},"vue-interpolations":{"patterns":[{"begin":"(\\{\\{)","beginCaptures":{"1":{"name":"punctuation.definition.interpolation.begin.html.vue"}},"end":"(\\}\\})","endCaptures":{"1":{"name":"punctuation.definition.interpolation.end.html.vue"}},"name":"expression.embedded.vue","patterns":[{"begin":"\\G","end":"(?=\\}\\})","name":"source.ts.embedded.html.vue","patterns":[{"include":"source.ts#expression"}]}]}]}}}