@tolgee/cli 1.1.1 → 1.2.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,1263 @@
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
+ }