@zenithbuild/language 0.6.1 → 0.6.17

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,716 +1,164 @@
1
1
  {
2
- "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
3
- "name": "Zenith",
4
- "scopeName": "text.html.zenith",
5
- "fileTypes": [
6
- "zen",
7
- "zen.html",
8
- "zenx"
9
- ],
10
- "patterns": [
11
- {
12
- "include": "#comment"
13
- },
14
- {
15
- "include": "#script-tag"
16
- },
17
- {
18
- "include": "#style-tag"
19
- },
20
- {
21
- "include": "#router-component-tag"
22
- },
23
- {
24
- "include": "#component-tag"
25
- },
26
- {
27
- "include": "#slot-tag"
28
- },
29
- {
30
- "include": "#html-tag"
31
- },
32
- {
33
- "include": "#expression"
34
- }
35
- ],
36
- "repository": {
37
- "comment": {
38
- "begin": "<!--",
39
- "end": "-->",
40
- "name": "comment.block.html.zenith",
41
- "captures": {
42
- "0": {
43
- "name": "punctuation.definition.comment.html.zenith"
44
- }
45
- }
46
- },
47
- "script-tag": {
48
- "begin": "(<)(script)(?=\\s|>)",
49
- "beginCaptures": {
50
- "1": {
51
- "name": "punctuation.definition.tag.begin.html.zenith"
52
- },
53
- "2": {
54
- "name": "entity.name.tag.script.html.zenith"
55
- }
56
- },
57
- "end": "(</)(script)\\s*(>)",
58
- "endCaptures": {
59
- "1": {
60
- "name": "punctuation.definition.tag.begin.html.zenith"
61
- },
62
- "2": {
63
- "name": "entity.name.tag.script.html.zenith"
64
- },
65
- "3": {
66
- "name": "punctuation.definition.tag.end.html.zenith"
67
- }
68
- },
69
- "name": "meta.tag.script.zenith",
70
- "patterns": [
71
- {
72
- "include": "#script-tag-open"
73
- },
74
- {
75
- "include": "#script-content"
76
- }
77
- ]
78
- },
79
- "script-tag-open": {
80
- "begin": "(?<=[tT])(?=\\s|>)",
81
- "end": "(>)",
82
- "endCaptures": {
83
- "1": {
84
- "name": "punctuation.definition.tag.end.html.zenith"
85
- }
86
- },
87
- "name": "meta.tag.script.start.html.zenith",
88
- "patterns": [
89
- {
90
- "include": "#tag-attributes"
91
- }
92
- ]
93
- },
94
- "script-content": {
95
- "begin": "(?<=>)",
96
- "end": "(?=</script)",
97
- "name": "source.ts.embedded.zenith",
98
- "patterns": [
99
- {
100
- "include": "#state-declaration"
101
- },
102
- {
103
- "include": "#lifecycle-hooks"
104
- },
105
- {
106
- "include": "#platform-primitives"
107
- },
108
- {
109
- "include": "#support-functions"
110
- },
111
- {
112
- "include": "#zenith-imports"
113
- },
114
- {
115
- "include": "source.ts"
116
- }
117
- ]
118
- },
119
- "style-tag": {
120
- "begin": "(<)(style)(?=\\s|>)",
121
- "beginCaptures": {
122
- "1": {
123
- "name": "punctuation.definition.tag.begin.html.zenith"
124
- },
125
- "2": {
126
- "name": "entity.name.tag.style.html.zenith"
127
- }
128
- },
129
- "end": "(</)(style)\\s*(>)",
130
- "endCaptures": {
131
- "1": {
132
- "name": "punctuation.definition.tag.begin.html.zenith"
133
- },
134
- "2": {
135
- "name": "entity.name.tag.style.html.zenith"
136
- },
137
- "3": {
138
- "name": "punctuation.definition.tag.end.html.zenith"
139
- }
140
- },
141
- "name": "meta.tag.style.zenith",
142
- "patterns": [
143
- {
144
- "include": "#style-tag-open"
145
- },
146
- {
147
- "include": "#style-content"
148
- }
149
- ]
150
- },
151
- "style-tag-open": {
152
- "begin": "(?<=[eE])(?=\\s|>)",
153
- "end": "(>)",
154
- "endCaptures": {
155
- "1": {
156
- "name": "punctuation.definition.tag.end.html.zenith"
157
- }
158
- },
159
- "name": "meta.tag.style.start.html.zenith",
160
- "patterns": [
161
- {
162
- "include": "#tag-attributes"
163
- }
164
- ]
165
- },
166
- "style-content": {
167
- "begin": "(?<=>)",
168
- "end": "(?=</style)",
169
- "name": "source.css.embedded.zenith",
170
- "patterns": [
171
- {
172
- "include": "source.css"
173
- }
174
- ]
175
- },
176
- "state-declaration": {
177
- "match": "(?<=^|\\s)(state)\\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\\s*(=)",
178
- "captures": {
179
- "1": {
180
- "name": "storage.type.state.zenith"
181
- },
182
- "2": {
183
- "name": "variable.other.readwrite.zenith"
184
- },
185
- "3": {
186
- "name": "keyword.operator.assignment.zenith"
187
- }
188
- }
189
- },
190
- "lifecycle-hooks": {
191
- "match": "\\b(zenMount|zenOnMount|zenOnDestroy|zenOnUpdate|zenEffect|onMount|onDestroy|onUpdate|useRoute|useRouter)\\b",
192
- "name": "support.function.lifecycle.zenith"
193
- },
194
- "platform-primitives": {
195
- "match": "\\b(zenWindow|zenDocument|zenOn|zenResize|collectRefs)\\b",
196
- "name": "support.function.platform.zenith"
197
- },
198
- "support-functions": {
199
- "match": "\\b(signal|ref)\\s*(<|\\()",
200
- "name": "support.function.zenith"
201
- },
202
- "zenith-imports": {
203
- "match": "(['\"])(zenith(?:/[a-zA-Z-]+)?|zenith:[a-zA-Z-]+)\\1",
204
- "captures": {
205
- "0": {
206
- "name": "string.quoted.module.zenith"
207
- },
208
- "2": {
209
- "name": "support.module.zenith"
210
- }
211
- }
212
- },
213
- "router-component-tag": {
214
- "patterns": [
215
- {
216
- "begin": "(<)(ZenLink)(?=\\s|/?>)",
217
- "beginCaptures": {
218
- "1": {
219
- "name": "punctuation.definition.tag.begin.html.zenith"
220
- },
221
- "2": {
222
- "name": "entity.name.tag.component.router.zenith support.class.component.zenith"
223
- }
224
- },
225
- "end": "(/?>)",
226
- "endCaptures": {
227
- "1": {
228
- "name": "punctuation.definition.tag.end.html.zenith"
229
- }
230
- },
231
- "name": "meta.tag.component.router.start.zenith",
232
- "patterns": [
233
- {
234
- "include": "#tag-attributes"
235
- }
236
- ]
237
- },
238
- {
239
- "match": "(</)(\\s*)(ZenLink)(\\s*)(>)",
240
- "captures": {
241
- "1": {
242
- "name": "punctuation.definition.tag.begin.html.zenith"
243
- },
244
- "3": {
245
- "name": "entity.name.tag.component.router.zenith support.class.component.zenith"
246
- },
247
- "5": {
248
- "name": "punctuation.definition.tag.end.html.zenith"
249
- }
250
- },
251
- "name": "meta.tag.component.router.end.zenith"
252
- }
253
- ]
254
- },
255
- "component-tag": {
256
- "patterns": [
257
- {
258
- "begin": "(<)([A-Z][a-zA-Z0-9]*)(?=\\s|/?>)",
259
- "beginCaptures": {
260
- "1": {
261
- "name": "punctuation.definition.tag.begin.html.zenith"
262
- },
263
- "2": {
264
- "name": "entity.name.tag.component.zenith support.class.component.zenith"
265
- }
266
- },
267
- "end": "(/?>)",
268
- "endCaptures": {
269
- "1": {
270
- "name": "punctuation.definition.tag.end.html.zenith"
271
- }
272
- },
273
- "name": "meta.tag.component.start.zenith",
274
- "patterns": [
275
- {
276
- "include": "#tag-attributes"
277
- }
278
- ]
279
- },
280
- {
281
- "match": "(</)(\\s*)([A-Z][a-zA-Z0-9]*)(\\s*)(>)",
282
- "captures": {
283
- "1": {
284
- "name": "punctuation.definition.tag.begin.html.zenith"
285
- },
286
- "3": {
287
- "name": "entity.name.tag.component.zenith support.class.component.zenith"
288
- },
289
- "5": {
290
- "name": "punctuation.definition.tag.end.html.zenith"
291
- }
292
- },
293
- "name": "meta.tag.component.end.zenith"
294
- }
295
- ]
296
- },
297
- "slot-tag": {
298
- "match": "(<)(slot)(\\s*)(/?>)",
299
- "captures": {
300
- "1": {
301
- "name": "punctuation.definition.tag.begin.html.zenith"
302
- },
303
- "2": {
304
- "name": "entity.name.tag.slot.zenith keyword.control.slot.zenith"
305
- },
306
- "4": {
307
- "name": "punctuation.definition.tag.end.html.zenith"
308
- }
309
- },
310
- "name": "meta.tag.slot.zenith"
311
- },
312
- "html-tag": {
313
- "patterns": [
314
- {
315
- "begin": "(<)([a-z][a-zA-Z0-9-]*)(?=\\s|/?>)",
316
- "beginCaptures": {
317
- "1": {
318
- "name": "punctuation.definition.tag.begin.html.zenith"
319
- },
320
- "2": {
321
- "name": "entity.name.tag.html.zenith"
322
- }
323
- },
324
- "end": "(/?>)",
325
- "endCaptures": {
326
- "1": {
327
- "name": "punctuation.definition.tag.end.html.zenith"
328
- }
329
- },
330
- "name": "meta.tag.html.start.zenith",
331
- "patterns": [
332
- {
333
- "include": "#tag-attributes"
334
- }
335
- ]
336
- },
337
- {
338
- "match": "(</)(\\s*)([a-z][a-zA-Z0-9-]*)(\\s*)(>)",
339
- "captures": {
340
- "1": {
341
- "name": "punctuation.definition.tag.begin.html.zenith"
342
- },
343
- "3": {
344
- "name": "entity.name.tag.html.zenith"
345
- },
346
- "5": {
347
- "name": "punctuation.definition.tag.end.html.zenith"
348
- }
349
- },
350
- "name": "meta.tag.html.end.zenith"
351
- }
352
- ]
353
- },
354
- "tag-attributes": {
355
- "patterns": [
356
- {
357
- "include": "#attribute-directive"
358
- },
359
- {
360
- "include": "#attribute-on-event"
361
- },
362
- {
363
- "include": "#attribute-at-event"
364
- },
365
- {
366
- "include": "#attribute-reactive-bind"
367
- },
368
- {
369
- "include": "#attribute-expression"
370
- },
371
- {
372
- "include": "#attribute-event-handler"
373
- },
374
- {
375
- "include": "#attribute-quoted"
376
- },
377
- {
378
- "include": "#attribute-boolean"
379
- }
380
- ]
381
- },
382
- "attribute-directive": {
383
- "begin": "(zen:(?:if|for|effect|show))\\s*(=)\\s*",
384
- "beginCaptures": {
385
- "1": {
386
- "name": "keyword.control.directive.zenith"
387
- },
388
- "2": {
389
- "name": "punctuation.separator.key-value.html.zenith"
390
- }
391
- },
392
- "end": "(?<=[\"'])|(?=\\s|/?>)",
393
- "name": "meta.attribute.directive.zenith",
394
- "patterns": [
395
- {
396
- "begin": "\"",
397
- "beginCaptures": {
398
- "0": {
399
- "name": "punctuation.definition.string.begin.html.zenith"
400
- }
401
- },
402
- "end": "\"",
403
- "endCaptures": {
404
- "0": {
405
- "name": "punctuation.definition.string.end.html.zenith"
406
- }
407
- },
408
- "name": "string.quoted.double.html.zenith",
409
- "contentName": "source.ts.embedded.zenith",
410
- "patterns": [
411
- {
412
- "include": "source.ts"
413
- }
414
- ]
415
- },
416
- {
417
- "begin": "'",
418
- "beginCaptures": {
419
- "0": {
420
- "name": "punctuation.definition.string.begin.html.zenith"
421
- }
422
- },
423
- "end": "'",
424
- "endCaptures": {
425
- "0": {
426
- "name": "punctuation.definition.string.end.html.zenith"
427
- }
428
- },
429
- "name": "string.quoted.single.html.zenith",
430
- "contentName": "source.ts.embedded.zenith",
431
- "patterns": [
432
- {
433
- "include": "source.ts"
434
- }
435
- ]
436
- }
437
- ]
438
- },
439
- "attribute-on-event": {
440
- "begin": "(on:[a-zA-Z][a-zA-Z0-9_-]*)\\s*(=)\\s*(\\{)",
441
- "beginCaptures": {
442
- "1": {
443
- "name": "entity.other.attribute-name.event.canonical.zenith"
444
- },
445
- "2": {
446
- "name": "punctuation.separator.key-value.html.zenith"
447
- },
448
- "3": {
449
- "name": "punctuation.section.embedded.begin.zenith"
450
- }
451
- },
452
- "end": "(\\})",
453
- "endCaptures": {
454
- "1": {
455
- "name": "punctuation.section.embedded.end.zenith"
456
- }
457
- },
458
- "name": "meta.attribute.event.canonical.zenith",
459
- "contentName": "source.ts.embedded.zenith",
460
- "patterns": [
461
- {
462
- "include": "source.ts"
463
- }
464
- ]
465
- },
466
- "attribute-at-event": {
467
- "begin": "(@)([a-zA-Z][a-zA-Z0-9]*)\\s*(=)\\s*(\\{)",
468
- "beginCaptures": {
469
- "1": {
470
- "name": "punctuation.definition.event.zenith"
471
- },
472
- "2": {
473
- "name": "entity.other.attribute-name.event.zenith"
474
- },
475
- "3": {
476
- "name": "punctuation.separator.key-value.html.zenith"
477
- },
478
- "4": {
479
- "name": "punctuation.section.embedded.begin.zenith"
480
- }
481
- },
482
- "end": "(\\})",
483
- "endCaptures": {
484
- "1": {
485
- "name": "punctuation.section.embedded.end.zenith"
486
- }
487
- },
488
- "name": "meta.attribute.event.legacy.zenith",
489
- "contentName": "source.ts.embedded.zenith",
490
- "patterns": [
491
- {
492
- "include": "source.ts"
493
- }
494
- ]
495
- },
496
- "attribute-reactive-bind": {
497
- "begin": "(:)([a-zA-Z_][a-zA-Z0-9_-]*)\\s*(=)\\s*",
498
- "beginCaptures": {
499
- "1": {
500
- "name": "punctuation.definition.reactive-bind.zenith"
501
- },
502
- "2": {
503
- "name": "entity.other.attribute-name.reactive.zenith"
504
- },
505
- "3": {
506
- "name": "punctuation.separator.key-value.html.zenith"
507
- }
508
- },
509
- "end": "(?<=[\"'\\}])|(?=\\s|/?>)",
510
- "name": "meta.attribute.reactive-bind.zenith",
511
- "patterns": [
512
- {
513
- "begin": "\\{",
514
- "beginCaptures": {
515
- "0": {
516
- "name": "punctuation.section.embedded.begin.zenith"
517
- }
518
- },
519
- "end": "\\}",
520
- "endCaptures": {
521
- "0": {
522
- "name": "punctuation.section.embedded.end.zenith"
523
- }
524
- },
525
- "contentName": "source.ts.embedded.zenith",
526
- "patterns": [
527
- {
528
- "include": "source.ts"
529
- }
530
- ]
531
- },
532
- {
533
- "begin": "\"",
534
- "beginCaptures": {
535
- "0": {
536
- "name": "punctuation.definition.string.begin.html.zenith"
537
- }
538
- },
539
- "end": "\"",
540
- "endCaptures": {
541
- "0": {
542
- "name": "punctuation.definition.string.end.html.zenith"
543
- }
544
- },
545
- "name": "string.quoted.double.html.zenith",
546
- "contentName": "source.ts.embedded.zenith",
547
- "patterns": [
548
- {
549
- "include": "source.ts"
550
- }
551
- ]
552
- },
553
- {
554
- "begin": "'",
555
- "beginCaptures": {
556
- "0": {
557
- "name": "punctuation.definition.string.begin.html.zenith"
558
- }
559
- },
560
- "end": "'",
561
- "endCaptures": {
562
- "0": {
563
- "name": "punctuation.definition.string.end.html.zenith"
564
- }
565
- },
566
- "name": "string.quoted.single.html.zenith",
567
- "contentName": "source.ts.embedded.zenith",
568
- "patterns": [
569
- {
570
- "include": "source.ts"
571
- }
572
- ]
573
- }
574
- ]
575
- },
576
- "attribute-expression": {
577
- "begin": "([a-zA-Z_][a-zA-Z0-9_:-]*)\\s*(=)\\s*(\\{)",
578
- "beginCaptures": {
579
- "1": {
580
- "name": "entity.other.attribute-name.html.zenith"
581
- },
582
- "2": {
583
- "name": "punctuation.separator.key-value.html.zenith"
584
- },
585
- "3": {
586
- "name": "punctuation.section.embedded.begin.zenith"
587
- }
588
- },
589
- "end": "(\\})",
590
- "endCaptures": {
591
- "1": {
592
- "name": "punctuation.section.embedded.end.zenith"
593
- }
594
- },
595
- "name": "meta.attribute.expression.zenith",
596
- "contentName": "source.ts.embedded.zenith",
597
- "patterns": [
598
- {
599
- "include": "source.ts"
600
- }
601
- ]
602
- },
603
- "attribute-event-handler": {
604
- "begin": "(on[A-Z][a-zA-Z]*|onclick|onchange|onsubmit|oninput|onkeydown|onkeyup|onmouseenter|onmouseleave)\\s*(=)\\s*(\\{)",
605
- "beginCaptures": {
606
- "1": {
607
- "name": "entity.other.attribute-name.event.html.zenith"
608
- },
609
- "2": {
610
- "name": "punctuation.separator.key-value.html.zenith"
611
- },
612
- "3": {
613
- "name": "punctuation.section.embedded.begin.zenith"
614
- }
615
- },
616
- "end": "(\\})",
617
- "endCaptures": {
618
- "1": {
619
- "name": "punctuation.section.embedded.end.zenith"
620
- }
621
- },
622
- "name": "meta.attribute.event-handler.legacy.zenith",
623
- "contentName": "source.ts.embedded.zenith",
624
- "patterns": [
625
- {
626
- "include": "source.ts"
627
- }
628
- ]
629
- },
630
- "attribute-quoted": {
631
- "begin": "([a-zA-Z_:][a-zA-Z0-9_:-]*)\\s*(=)\\s*",
632
- "beginCaptures": {
633
- "1": {
634
- "name": "entity.other.attribute-name.html.zenith"
635
- },
636
- "2": {
637
- "name": "punctuation.separator.key-value.html.zenith"
638
- }
639
- },
640
- "end": "(?<=[\"'])|(?=\\s|/?>)",
641
- "name": "meta.attribute.zenith",
642
- "patterns": [
643
- {
644
- "begin": "\"",
645
- "beginCaptures": {
646
- "0": {
647
- "name": "punctuation.definition.string.begin.html.zenith"
648
- }
649
- },
650
- "end": "\"",
651
- "endCaptures": {
652
- "0": {
653
- "name": "punctuation.definition.string.end.html.zenith"
654
- }
655
- },
656
- "name": "string.quoted.double.html.zenith",
657
- "patterns": [
658
- {
659
- "include": "#expression"
660
- }
661
- ]
662
- },
663
- {
664
- "begin": "'",
665
- "beginCaptures": {
666
- "0": {
667
- "name": "punctuation.definition.string.begin.html.zenith"
668
- }
669
- },
670
- "end": "'",
671
- "endCaptures": {
672
- "0": {
673
- "name": "punctuation.definition.string.end.html.zenith"
674
- }
675
- },
676
- "name": "string.quoted.single.html.zenith",
677
- "patterns": [
678
- {
679
- "include": "#expression"
680
- }
681
- ]
682
- }
683
- ]
684
- },
685
- "attribute-boolean": {
686
- "match": "(?<=\\s)([a-zA-Z_][a-zA-Z0-9_-]*)(?=\\s|/?>)",
687
- "captures": {
688
- "1": {
689
- "name": "entity.other.attribute-name.html.zenith"
690
- }
691
- },
692
- "name": "meta.attribute.boolean.zenith"
693
- },
694
- "expression": {
695
- "begin": "(\\{)(?!\\{)",
696
- "beginCaptures": {
697
- "1": {
698
- "name": "punctuation.section.embedded.begin.zenith"
699
- }
700
- },
701
- "end": "(\\})",
702
- "endCaptures": {
703
- "1": {
704
- "name": "punctuation.section.embedded.end.zenith"
705
- }
706
- },
707
- "name": "meta.embedded.expression.zenith",
708
- "contentName": "source.ts.embedded.zenith",
709
- "patterns": [
710
- {
711
- "include": "source.ts"
712
- }
713
- ]
714
- }
2
+ "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
3
+ "name": "Zenith",
4
+ "scopeName": "text.html.zenith",
5
+ "patterns": [
6
+ { "include": "#comment" },
7
+ { "include": "#script-typescript" },
8
+ { "include": "#style-tag" },
9
+ { "include": "#closing-tag" },
10
+ { "include": "#opening-tag" },
11
+ { "include": "#expression" }
12
+ ],
13
+ "repository": {
14
+ "comment": {
15
+ "begin": "<!--",
16
+ "end": "-->",
17
+ "name": "comment.block.zenith"
18
+ },
19
+ "script-typescript": {
20
+ "begin": "(<)(script)\\b(?=[^>]*\\blang\\s*=\\s*(['\"])(?:ts|typescript)\\3)([^>]*)(>)",
21
+ "beginCaptures": {
22
+ "1": { "name": "punctuation.definition.tag.begin.zenith" },
23
+ "2": { "name": "entity.name.tag.script.zenith" },
24
+ "4": { "name": "meta.tag.attributes.zenith" },
25
+ "5": { "name": "punctuation.definition.tag.end.zenith" }
26
+ },
27
+ "end": "(</)(script)(>)",
28
+ "endCaptures": {
29
+ "1": { "name": "punctuation.definition.tag.begin.zenith" },
30
+ "2": { "name": "entity.name.tag.script.zenith" },
31
+ "3": { "name": "punctuation.definition.tag.end.zenith" }
32
+ },
33
+ "contentName": "meta.embedded.block.typescript source.ts",
34
+ "patterns": [
35
+ { "include": "source.ts" }
36
+ ]
37
+ },
38
+ "style-tag": {
39
+ "begin": "(<)(style)\\b([^>]*)(>)",
40
+ "beginCaptures": {
41
+ "1": { "name": "punctuation.definition.tag.begin.zenith" },
42
+ "2": { "name": "entity.name.tag.style.zenith" },
43
+ "3": { "name": "meta.tag.attributes.zenith" },
44
+ "4": { "name": "punctuation.definition.tag.end.zenith" }
45
+ },
46
+ "end": "(</)(style)(>)",
47
+ "endCaptures": {
48
+ "1": { "name": "punctuation.definition.tag.begin.zenith" },
49
+ "2": { "name": "entity.name.tag.style.zenith" },
50
+ "3": { "name": "punctuation.definition.tag.end.zenith" }
51
+ },
52
+ "contentName": "meta.embedded.block.css source.css",
53
+ "patterns": [
54
+ { "include": "source.css" }
55
+ ]
56
+ },
57
+ "closing-tag": {
58
+ "match": "(</)([A-Za-z][\\w:-]*)(>)",
59
+ "captures": {
60
+ "1": { "name": "punctuation.definition.tag.begin.zenith" },
61
+ "2": { "name": "entity.name.tag.zenith" },
62
+ "3": { "name": "punctuation.definition.tag.end.zenith" }
63
+ }
64
+ },
65
+ "opening-tag": {
66
+ "begin": "(<)([A-Za-z][\\w:-]*)",
67
+ "beginCaptures": {
68
+ "1": { "name": "punctuation.definition.tag.begin.zenith" },
69
+ "2": { "name": "entity.name.tag.zenith" }
70
+ },
71
+ "end": "(/?>)",
72
+ "endCaptures": {
73
+ "1": { "name": "punctuation.definition.tag.end.zenith" }
74
+ },
75
+ "applyEndPatternLast": 1,
76
+ "patterns": [
77
+ { "include": "#event-attribute" },
78
+ { "include": "#binding-attribute" },
79
+ { "include": "#quoted-attribute" },
80
+ { "include": "#bare-attribute" }
81
+ ]
82
+ },
83
+ "quoted-attribute": {
84
+ "match": "\\b([:@A-Za-z_][\\w:.-]*)(\\s*=\\s*)(\"[^\"]*\"|'[^']*')",
85
+ "captures": {
86
+ "1": { "name": "entity.other.attribute-name.zenith" },
87
+ "2": { "name": "keyword.operator.assignment.zenith" },
88
+ "3": { "name": "string.quoted.zenith" }
89
+ }
90
+ },
91
+ "bare-attribute": {
92
+ "match": "\\b([:@A-Za-z_][\\w:.-]*)\\b",
93
+ "captures": {
94
+ "1": { "name": "entity.other.attribute-name.zenith" }
95
+ }
96
+ },
97
+ "event-attribute": {
98
+ "begin": "\\b(on:[a-z][\\w-]*)\\b\\s*=\\s*(\\{)",
99
+ "beginCaptures": {
100
+ "1": { "name": "entity.other.attribute-name.event.canonical.zenith" },
101
+ "2": { "name": "punctuation.section.embedded.begin.zenith" }
102
+ },
103
+ "end": "\\}",
104
+ "endCaptures": {
105
+ "0": { "name": "punctuation.section.embedded.end.zenith" }
106
+ },
107
+ "contentName": "meta.attribute.event-handler.zenith meta.embedded.inline.typescript source.ts",
108
+ "applyEndPatternLast": 1,
109
+ "patterns": [
110
+ { "include": "#nested-typescript" },
111
+ { "include": "source.ts" }
112
+ ]
113
+ },
114
+ "binding-attribute": {
115
+ "begin": "\\b([A-Za-z_][\\w:.-]*)\\b\\s*=\\s*(\\{)",
116
+ "beginCaptures": {
117
+ "1": { "name": "entity.other.attribute-name.binding.zenith" },
118
+ "2": { "name": "punctuation.section.embedded.begin.zenith" }
119
+ },
120
+ "end": "\\}",
121
+ "endCaptures": {
122
+ "0": { "name": "punctuation.section.embedded.end.zenith" }
123
+ },
124
+ "contentName": "meta.attribute.binding.zenith meta.embedded.inline.typescript source.ts",
125
+ "applyEndPatternLast": 1,
126
+ "patterns": [
127
+ { "include": "#nested-typescript" },
128
+ { "include": "source.ts" }
129
+ ]
130
+ },
131
+ "expression": {
132
+ "begin": "\\{",
133
+ "beginCaptures": {
134
+ "0": { "name": "punctuation.section.embedded.begin.zenith" }
135
+ },
136
+ "end": "\\}",
137
+ "endCaptures": {
138
+ "0": { "name": "punctuation.section.embedded.end.zenith" }
139
+ },
140
+ "contentName": "meta.embedded.inline.typescript source.ts",
141
+ "applyEndPatternLast": 1,
142
+ "patterns": [
143
+ { "include": "#nested-typescript" },
144
+ { "include": "source.ts" }
145
+ ]
146
+ },
147
+ "nested-typescript": {
148
+ "begin": "\\{",
149
+ "beginCaptures": {
150
+ "0": { "name": "punctuation.section.embedded.begin.zenith" }
151
+ },
152
+ "end": "\\}",
153
+ "endCaptures": {
154
+ "0": { "name": "punctuation.section.embedded.end.zenith" }
155
+ },
156
+ "contentName": "meta.embedded.inline.typescript.nested.zenith source.ts",
157
+ "applyEndPatternLast": 1,
158
+ "patterns": [
159
+ { "include": "#nested-typescript" },
160
+ { "include": "source.ts" }
161
+ ]
715
162
  }
716
- }
163
+ }
164
+ }