astro-vscode 0.29.6 → 0.29.8

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,39 @@
1
+ {
2
+ "page_html": {
3
+ "prefix": "page_html",
4
+ "isFileTemplate": true,
5
+ "scope": "astro",
6
+ "body": [
7
+ "---",
8
+ "$1",
9
+ "---",
10
+ "",
11
+ "<html lang=\"en\">",
12
+ "\t<head>",
13
+ "\t\t<meta charset=\"utf-8\" />",
14
+ "\t\t<meta name=\"viewport\" content=\"width=device-width\" />",
15
+ "\t\t<meta name=\"generator\" content={Astro.generator} />",
16
+ "\t\t<title>${2:Document}</title>",
17
+ "\t</head>",
18
+ "\t<body>",
19
+ "\t\t$0",
20
+ "\t</body>",
21
+ "</html>"
22
+ ],
23
+ "description": "Page with full HTML"
24
+ },
25
+ "page_layout": {
26
+ "prefix": "page_layout",
27
+ "isFileTemplate": true,
28
+ "scope": "astro",
29
+ "body": ["---", "import ${1:Layout} from \"../layouts/$1.astro\"", "---", "", "<$1>", "\t$0", "</$1>"],
30
+ "description": "Page from Layout"
31
+ },
32
+ "component": {
33
+ "prefix": "component",
34
+ "isFileTemplate": true,
35
+ "scope": "astro",
36
+ "body": ["---", "$1", "---", "", "$0"],
37
+ "description": "Component"
38
+ }
39
+ }
package/package.json CHANGED
@@ -20,10 +20,10 @@
20
20
  "icon": "assets/icon.png",
21
21
  "type": "commonjs",
22
22
  "galleryBanner": {
23
- "color": "#FFBE2D",
23
+ "color": "#17191E",
24
24
  "theme": "dark"
25
25
  },
26
- "version": "0.29.6",
26
+ "version": "0.29.8",
27
27
  "author": "withastro",
28
28
  "license": "MIT",
29
29
  "publisher": "astro-build",
@@ -35,14 +35,14 @@
35
35
  "workspaceContains:astro.config.*"
36
36
  ],
37
37
  "dependencies": {
38
- "@astrojs/compiler": "^1.1.1",
38
+ "@astrojs/compiler": "^1.3.2",
39
39
  "synckit": "0.8.4",
40
- "@astrojs/ts-plugin": "0.4.4",
41
- "prettier": "^2.7.1",
42
- "prettier-plugin-astro": "^0.7.0"
40
+ "@astrojs/ts-plugin": "0.4.5",
41
+ "prettier": "^2.8.8",
42
+ "prettier-plugin-astro": "^0.8.0"
43
43
  },
44
44
  "devDependencies": {
45
- "@astrojs/language-server": "0.29.6",
45
+ "@astrojs/language-server": "0.29.8",
46
46
  "@types/mocha": "^9.1.0",
47
47
  "@types/vscode": "^1.67.0",
48
48
  "@vscode/test-electron": "^2.1.3",
@@ -70,6 +70,12 @@
70
70
  "directory": "packages/vscode"
71
71
  },
72
72
  "contributes": {
73
+ "snippets": [
74
+ {
75
+ "scope": "astro",
76
+ "path": "./languages/astro.code-snippets"
77
+ }
78
+ ],
73
79
  "typescriptServerPlugins": [
74
80
  {
75
81
  "name": "@astrojs/ts-plugin",
@@ -330,8 +336,8 @@
330
336
  ],
331
337
  "configuration": "./languages/astro-language-configuration.json",
332
338
  "icon": {
333
- "light": "./assets/lang-icon.svg",
334
- "dark": "./assets/lang-icon.svg"
339
+ "light": "./assets/lang-icon-light.svg",
340
+ "dark": "./assets/lang-icon-dark.svg"
335
341
  }
336
342
  }
337
343
  ],
@@ -0,0 +1,720 @@
1
+ {
2
+ "_comment": "NOTICE: Do not edit this file directly! This file is generated from the .yaml file of the same name, please run `pnpm run build:grammar` to build this file.",
3
+ "name": "Astro",
4
+ "scopeName": "source.astro",
5
+ "fileTypes": ["astro"],
6
+ "injections": {
7
+ "L:(meta.script.astro) (meta.lang.json) - (meta source)": {
8
+ "patterns": [
9
+ {
10
+ "begin": "(?<=>)(?!</)",
11
+ "end": "(?=</)",
12
+ "name": "meta.embedded.block.astro",
13
+ "contentName": "source.json",
14
+ "patterns": [
15
+ {
16
+ "include": "source.json"
17
+ }
18
+ ]
19
+ }
20
+ ]
21
+ },
22
+ "L:(meta.script.astro) (meta.lang.js | meta.lang.javascript | meta.lang.partytown | meta.lang.node) - (meta source)": {
23
+ "patterns": [
24
+ {
25
+ "begin": "(?<=>)(?!</)",
26
+ "end": "(?=</)",
27
+ "name": "meta.embedded.block.astro",
28
+ "contentName": "source.js",
29
+ "patterns": [
30
+ {
31
+ "include": "source.js"
32
+ }
33
+ ]
34
+ }
35
+ ]
36
+ },
37
+ "L:(meta.script.astro) (meta.lang.ts | meta.lang.typescript) - (meta source)": {
38
+ "patterns": [
39
+ {
40
+ "begin": "(?<=>)(?!</)",
41
+ "end": "(?=</)",
42
+ "name": "meta.embedded.block.astro",
43
+ "contentName": "source.ts",
44
+ "patterns": [
45
+ {
46
+ "include": "source.ts"
47
+ }
48
+ ]
49
+ }
50
+ ]
51
+ },
52
+ "L:meta.script.astro - meta.lang - (meta source)": {
53
+ "patterns": [
54
+ {
55
+ "begin": "(?<=>)(?!</)",
56
+ "end": "(?=</)",
57
+ "name": "meta.embedded.block.astro",
58
+ "contentName": "source.js",
59
+ "patterns": [
60
+ {
61
+ "include": "source.js"
62
+ }
63
+ ]
64
+ }
65
+ ]
66
+ },
67
+ "L:meta.style.astro meta.lang.stylus - (meta source)": {
68
+ "patterns": [
69
+ {
70
+ "begin": "(?<=>)(?!</)",
71
+ "end": "(?=</)",
72
+ "name": "meta.embedded.block.astro",
73
+ "contentName": "source.stylus",
74
+ "patterns": [
75
+ {
76
+ "include": "source.stylus"
77
+ }
78
+ ]
79
+ }
80
+ ]
81
+ },
82
+ "L:meta.style.astro meta.lang.sass - (meta source)": {
83
+ "patterns": [
84
+ {
85
+ "begin": "(?<=>)(?!</)",
86
+ "end": "(?=</)",
87
+ "name": "meta.embedded.block.astro",
88
+ "contentName": "source.sass",
89
+ "patterns": [
90
+ {
91
+ "include": "source.sass"
92
+ }
93
+ ]
94
+ }
95
+ ]
96
+ },
97
+ "L:meta.style.astro meta.lang.css - (meta source)": {
98
+ "patterns": [
99
+ {
100
+ "begin": "(?<=>)(?!</)",
101
+ "end": "(?=</)",
102
+ "name": "meta.embedded.block.astro",
103
+ "contentName": "source.css",
104
+ "patterns": [
105
+ {
106
+ "include": "source.css"
107
+ }
108
+ ]
109
+ }
110
+ ]
111
+ },
112
+ "L:meta.style.astro meta.lang.scss - (meta source)": {
113
+ "patterns": [
114
+ {
115
+ "begin": "(?<=>)(?!</)",
116
+ "end": "(?=</)",
117
+ "name": "meta.embedded.block.astro",
118
+ "contentName": "source.css.scss",
119
+ "patterns": [
120
+ {
121
+ "include": "source.css.scss"
122
+ }
123
+ ]
124
+ }
125
+ ]
126
+ },
127
+ "L:meta.style.astro meta.lang.less - (meta source)": {
128
+ "patterns": [
129
+ {
130
+ "begin": "(?<=>)(?!</)",
131
+ "end": "(?=</)",
132
+ "name": "meta.embedded.block.astro",
133
+ "contentName": "source.css.less",
134
+ "patterns": [
135
+ {
136
+ "include": "source.css.less"
137
+ }
138
+ ]
139
+ }
140
+ ]
141
+ },
142
+ "L:meta.style.astro meta.lang.postcss - (meta source)": {
143
+ "patterns": [
144
+ {
145
+ "begin": "(?<=>)(?!</)",
146
+ "end": "(?=</)",
147
+ "name": "meta.embedded.block.astro",
148
+ "contentName": "source.css.postcss",
149
+ "patterns": [
150
+ {
151
+ "include": "source.css.postcss"
152
+ }
153
+ ]
154
+ }
155
+ ]
156
+ },
157
+ "L:meta.style.astro - meta.lang - (meta source)": {
158
+ "patterns": [
159
+ {
160
+ "begin": "(?<=>)(?!</)",
161
+ "end": "(?=</)",
162
+ "name": "meta.embedded.block.astro",
163
+ "contentName": "source.css",
164
+ "patterns": [
165
+ {
166
+ "include": "source.css"
167
+ }
168
+ ]
169
+ }
170
+ ]
171
+ }
172
+ },
173
+ "patterns": [
174
+ {
175
+ "include": "#scope"
176
+ },
177
+ {
178
+ "include": "#frontmatter"
179
+ }
180
+ ],
181
+ "repository": {
182
+ "frontmatter": {
183
+ "begin": "\\A(-{3})\\s*$",
184
+ "end": "(^|\\G)(-{3})|\\.{3}\\s*$",
185
+ "beginCaptures": {
186
+ "1": {
187
+ "name": "comment"
188
+ }
189
+ },
190
+ "endCaptures": {
191
+ "2": {
192
+ "name": "comment"
193
+ }
194
+ },
195
+ "contentName": "source.ts",
196
+ "patterns": [
197
+ {
198
+ "include": "source.ts"
199
+ }
200
+ ]
201
+ },
202
+ "scope": {
203
+ "patterns": [
204
+ {
205
+ "include": "#comments"
206
+ },
207
+ {
208
+ "include": "#tags"
209
+ },
210
+ {
211
+ "include": "#interpolation"
212
+ },
213
+ {
214
+ "begin": "(?<=>|})",
215
+ "end": "(?=<|{)",
216
+ "name": "text.astro"
217
+ }
218
+ ]
219
+ },
220
+ "comments": {
221
+ "begin": "<!--",
222
+ "end": "-->",
223
+ "captures": {
224
+ "0": {
225
+ "name": "punctuation.definition.comment.astro"
226
+ }
227
+ },
228
+ "name": "comment.block.astro",
229
+ "patterns": [
230
+ {
231
+ "match": "\\G-?>|<!--(?!>)|<!-(?=-->)|--!>",
232
+ "name": "invalid.illegal.characters-not-allowed-here.astro"
233
+ }
234
+ ]
235
+ },
236
+ "interpolation": {
237
+ "patterns": [
238
+ {
239
+ "begin": "\\{",
240
+ "end": "\\}",
241
+ "beginCaptures": {
242
+ "0": {
243
+ "name": "punctuation.section.embedded.begin.astro"
244
+ }
245
+ },
246
+ "endCaptures": {
247
+ "0": {
248
+ "name": "punctuation.section.embedded.end.astro"
249
+ }
250
+ },
251
+ "contentName": "meta.embedded.expression.astro source.tsx",
252
+ "patterns": [
253
+ {
254
+ "begin": "\\G\\s*(?={)",
255
+ "end": "(?<=})",
256
+ "patterns": [
257
+ {
258
+ "include": "source.tsx#object-literal"
259
+ }
260
+ ]
261
+ },
262
+ {
263
+ "include": "source.tsx"
264
+ }
265
+ ]
266
+ }
267
+ ]
268
+ },
269
+ "attributes": {
270
+ "patterns": [
271
+ {
272
+ "include": "#attributes-events"
273
+ },
274
+ {
275
+ "include": "#attributes-keyvalue"
276
+ },
277
+ {
278
+ "include": "#attributes-interpolated"
279
+ }
280
+ ]
281
+ },
282
+ "attributes-events": {
283
+ "begin": "(on(s(croll|t(orage|alled)|u(spend|bmit)|e(curitypolicyviolation|ek(ing|ed)|lect))|hashchange|c(hange|o(ntextmenu|py)|u(t|echange)|l(ick|ose)|an(cel|play(through)?))|t(imeupdate|oggle)|in(put|valid)|o(nline|ffline)|d(urationchange|r(op|ag(start|over|e(n(ter|d)|xit)|leave)?)|blclick)|un(handledrejection|load)|p(opstate|lay(ing)?|a(ste|use|ge(show|hide))|rogress)|e(nded|rror|mptied)|volumechange|key(down|up|press)|focus|w(heel|aiting)|l(oad(start|e(nd|d(data|metadata)))?|anguagechange)|a(uxclick|fterprint|bort)|r(e(s(ize|et)|jectionhandled)|atechange)|m(ouse(o(ut|ver)|down|up|enter|leave|move)|essage(error)?)|b(efore(unload|print)|lur)))(?![\\\\w:-])",
284
+ "beginCaptures": {
285
+ "0": {
286
+ "patterns": [
287
+ {
288
+ "match": ".*",
289
+ "name": "entity.other.attribute-name.astro"
290
+ }
291
+ ]
292
+ }
293
+ },
294
+ "end": "(?=\\s*+[^=\\s])",
295
+ "name": "meta.attribute.$1.astro",
296
+ "patterns": [
297
+ {
298
+ "begin": "=",
299
+ "beginCaptures": {
300
+ "0": {
301
+ "name": "punctuation.separator.key-value.astro"
302
+ }
303
+ },
304
+ "end": "(?<=[^\\s=])(?!\\s*=)|(?=/?>)",
305
+ "patterns": [
306
+ {
307
+ "begin": "(?=[^\\s=<>`/]|/(?!>))",
308
+ "end": "(?!\\G)",
309
+ "name": "meta.embedded.line.js",
310
+ "patterns": [
311
+ {
312
+ "match": "(([^\\s\\\"'=<>`/]|/(?!>))+)",
313
+ "name": "string.unquoted.astro",
314
+ "captures": {
315
+ "0": {
316
+ "name": "source.js"
317
+ },
318
+ "1": {
319
+ "patterns": [
320
+ {
321
+ "include": "source.js"
322
+ }
323
+ ]
324
+ }
325
+ }
326
+ },
327
+ {
328
+ "begin": "(['\"])",
329
+ "end": "\\1",
330
+ "beginCaptures": {
331
+ "0": {
332
+ "name": "punctuation.definition.string.begin.astro"
333
+ }
334
+ },
335
+ "endCaptures": {
336
+ "0": {
337
+ "name": "punctuation.definition.string.end.astro"
338
+ }
339
+ },
340
+ "name": "string.quoted.astro",
341
+ "patterns": [
342
+ {
343
+ "match": "([^\\n\\\"/]|/(?![/*]))+",
344
+ "captures": {
345
+ "0": {
346
+ "patterns": [
347
+ {
348
+ "include": "source.js"
349
+ }
350
+ ]
351
+ }
352
+ }
353
+ },
354
+ {
355
+ "begin": "//",
356
+ "beginCaptures": {
357
+ "0": {
358
+ "name": "punctuation.definition.comment.js"
359
+ }
360
+ },
361
+ "end": "(?=\\\")|\\n",
362
+ "name": "comment.line.double-slash.js"
363
+ },
364
+ {
365
+ "begin": "/\\*",
366
+ "beginCaptures": {
367
+ "0": {
368
+ "name": "punctuation.definition.comment.begin.js"
369
+ }
370
+ },
371
+ "end": "(?=\\\")|\\*/",
372
+ "endCaptures": {
373
+ "0": {
374
+ "name": "punctuation.definition.comment.end.js"
375
+ }
376
+ },
377
+ "name": "comment.block.js"
378
+ }
379
+ ]
380
+ }
381
+ ]
382
+ }
383
+ ]
384
+ }
385
+ ]
386
+ },
387
+ "attributes-interpolated": {
388
+ "begin": "(?<!:|=)\\s*({)",
389
+ "end": "(\\})",
390
+ "contentName": "meta.embedded.expression.astro source.tsx",
391
+ "patterns": [
392
+ {
393
+ "include": "source.tsx"
394
+ }
395
+ ]
396
+ },
397
+ "attributes-keyvalue": {
398
+ "begin": "([_@$[:alpha:]][:._\\-$[:alnum:]]*)",
399
+ "beginCaptures": {
400
+ "0": {
401
+ "patterns": [
402
+ {
403
+ "match": ".*",
404
+ "name": "entity.other.attribute-name.astro"
405
+ }
406
+ ]
407
+ }
408
+ },
409
+ "end": "(?=\\s*+[^=\\s])",
410
+ "name": "meta.attribute.$1.astro",
411
+ "patterns": [
412
+ {
413
+ "begin": "=",
414
+ "beginCaptures": {
415
+ "0": {
416
+ "name": "punctuation.separator.key-value.astro"
417
+ }
418
+ },
419
+ "end": "(?<=[^\\s=])(?!\\s*=)|(?=/?>)",
420
+ "patterns": [
421
+ {
422
+ "include": "#attributes-value"
423
+ }
424
+ ]
425
+ }
426
+ ]
427
+ },
428
+ "attributes-value": {
429
+ "patterns": [
430
+ {
431
+ "include": "#interpolation"
432
+ },
433
+ {
434
+ "match": "([^\\s\"'=<>`/]|/(?!>))+",
435
+ "name": "string.unquoted.astro"
436
+ },
437
+ {
438
+ "begin": "(['\"])",
439
+ "end": "\\1",
440
+ "beginCaptures": {
441
+ "0": {
442
+ "name": "punctuation.definition.string.begin.astro"
443
+ }
444
+ },
445
+ "endCaptures": {
446
+ "0": {
447
+ "name": "punctuation.definition.string.end.astro"
448
+ }
449
+ },
450
+ "name": "string.quoted.astro"
451
+ },
452
+ {
453
+ "begin": "(`)",
454
+ "end": "\\1",
455
+ "name": "string.template.astro",
456
+ "patterns": [
457
+ {
458
+ "include": "source.tsx#template-substitution-element"
459
+ }
460
+ ]
461
+ }
462
+ ]
463
+ },
464
+ "tags": {
465
+ "patterns": [
466
+ {
467
+ "include": "#tags-raw"
468
+ },
469
+ {
470
+ "include": "#tags-lang"
471
+ },
472
+ {
473
+ "include": "#tags-void"
474
+ },
475
+ {
476
+ "include": "#tags-general-end"
477
+ },
478
+ {
479
+ "include": "#tags-general-start"
480
+ }
481
+ ]
482
+ },
483
+ "tags-name": {
484
+ "patterns": [
485
+ {
486
+ "match": "[A-Z][a-zA-Z0-9_]*",
487
+ "name": "support.class.component.astro"
488
+ },
489
+ {
490
+ "match": "[a-z][\\w0-9:]*-[\\w0-9:-]*",
491
+ "name": "meta.tag.custom.astro entity.name.tag.astro"
492
+ },
493
+ {
494
+ "match": "[a-z][\\w0-9:-]*",
495
+ "name": "entity.name.tag.astro"
496
+ }
497
+ ]
498
+ },
499
+ "tags-start-attributes": {
500
+ "begin": "\\G",
501
+ "end": "(?=/?>)",
502
+ "name": "meta.tag.start.astro",
503
+ "patterns": [
504
+ {
505
+ "include": "#attributes"
506
+ }
507
+ ]
508
+ },
509
+ "tags-lang-start-attributes": {
510
+ "begin": "\\G",
511
+ "end": "(?=/>)|>",
512
+ "endCaptures": {
513
+ "0": {
514
+ "name": "punctuation.definition.tag.end.astro"
515
+ }
516
+ },
517
+ "name": "meta.tag.start.astro",
518
+ "patterns": [
519
+ {
520
+ "include": "#attributes"
521
+ }
522
+ ]
523
+ },
524
+ "tags-start-node": {
525
+ "match": "(<)([^/\\s>/]*)",
526
+ "captures": {
527
+ "1": {
528
+ "name": "punctuation.definition.tag.begin.astro"
529
+ },
530
+ "2": {
531
+ "patterns": [
532
+ {
533
+ "include": "#tags-name"
534
+ }
535
+ ]
536
+ }
537
+ },
538
+ "name": "meta.tag.start.astro"
539
+ },
540
+ "tags-end-node": {
541
+ "match": "(</)(.*?)\\s*(>)|(/>)",
542
+ "captures": {
543
+ "1": {
544
+ "name": "meta.tag.end.astro punctuation.definition.tag.begin.astro"
545
+ },
546
+ "2": {
547
+ "name": "meta.tag.end.astro",
548
+ "patterns": [
549
+ {
550
+ "include": "#tags-name"
551
+ }
552
+ ]
553
+ },
554
+ "3": {
555
+ "name": "meta.tag.end.astro punctuation.definition.tag.end.astro"
556
+ },
557
+ "4": {
558
+ "name": "meta.tag.start.astro punctuation.definition.tag.end.astro"
559
+ }
560
+ }
561
+ },
562
+ "tags-raw": {
563
+ "begin": "<([^/?!\\s<>]+)(?=[^>]+is:raw).*?",
564
+ "beginCaptures": {
565
+ "0": {
566
+ "patterns": [
567
+ {
568
+ "include": "#tags-start-node"
569
+ }
570
+ ]
571
+ }
572
+ },
573
+ "end": "</\\1\\s*>|/>",
574
+ "endCaptures": {
575
+ "0": {
576
+ "patterns": [
577
+ {
578
+ "include": "#tags-end-node"
579
+ }
580
+ ]
581
+ }
582
+ },
583
+ "name": "meta.scope.tag.$1.astro meta.raw.astro",
584
+ "contentName": "source.unknown",
585
+ "patterns": [
586
+ {
587
+ "include": "#tags-lang-start-attributes"
588
+ }
589
+ ]
590
+ },
591
+ "tags-lang": {
592
+ "begin": "<(script|style)",
593
+ "end": "</\\1\\s*>|/>",
594
+ "beginCaptures": {
595
+ "0": {
596
+ "patterns": [
597
+ {
598
+ "include": "#tags-start-node"
599
+ }
600
+ ]
601
+ }
602
+ },
603
+ "endCaptures": {
604
+ "0": {
605
+ "patterns": [
606
+ {
607
+ "include": "#tags-end-node"
608
+ }
609
+ ]
610
+ }
611
+ },
612
+ "name": "meta.scope.tag.$1.astro meta.$1.astro",
613
+ "patterns": [
614
+ {
615
+ "begin": "\\G(?=\\s*[^>]*?(type|lang)\\s*=\\s*(['\"]|)(?:text\\/)?(application\\/ld\\+json)\\2)",
616
+ "end": "(?=</|/>)",
617
+ "name": "meta.lang.json.astro",
618
+ "patterns": [
619
+ {
620
+ "include": "#tags-lang-start-attributes"
621
+ }
622
+ ]
623
+ },
624
+ {
625
+ "begin": "\\G(?=\\s*[^>]*?(type|lang)\\s*=\\s*(['\"]|)(module)\\2)",
626
+ "end": "(?=</|/>)",
627
+ "name": "meta.lang.javascript.astro",
628
+ "patterns": [
629
+ {
630
+ "include": "#tags-lang-start-attributes"
631
+ }
632
+ ]
633
+ },
634
+ {
635
+ "begin": "\\G(?=\\s*[^>]*?(type|lang)\\s*=\\s*(['\"]|)(?:text/|application/)?([\\w\\/+]+)\\2)",
636
+ "end": "(?=</|/>)",
637
+ "name": "meta.lang.$3.astro",
638
+ "patterns": [
639
+ {
640
+ "include": "#tags-lang-start-attributes"
641
+ }
642
+ ]
643
+ },
644
+ {
645
+ "include": "#tags-lang-start-attributes"
646
+ }
647
+ ]
648
+ },
649
+ "tags-void": {
650
+ "begin": "(<)(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)(?=\\s|/?>)",
651
+ "beginCaptures": {
652
+ "1": {
653
+ "name": "punctuation.definition.tag.begin.astro"
654
+ },
655
+ "2": {
656
+ "name": "entity.name.tag.astro"
657
+ }
658
+ },
659
+ "end": "/?>",
660
+ "endCaptures": {
661
+ "0": {
662
+ "name": "punctuation.definition.tag.begin.astro"
663
+ }
664
+ },
665
+ "name": "meta.tag.void.astro",
666
+ "patterns": [
667
+ {
668
+ "include": "#attributes"
669
+ }
670
+ ]
671
+ },
672
+ "tags-general-start": {
673
+ "begin": "(<)([^/\\s>/]*)",
674
+ "end": "(/?>)",
675
+ "beginCaptures": {
676
+ "0": {
677
+ "patterns": [
678
+ {
679
+ "include": "#tags-start-node"
680
+ }
681
+ ]
682
+ }
683
+ },
684
+ "endCaptures": {
685
+ "1": {
686
+ "name": "meta.tag.start.astro punctuation.definition.tag.end.astro"
687
+ }
688
+ },
689
+ "name": "meta.scope.tag.$2.astro",
690
+ "patterns": [
691
+ {
692
+ "include": "#tags-start-attributes"
693
+ }
694
+ ]
695
+ },
696
+ "tags-general-end": {
697
+ "begin": "(</)([^/\\s>]*)",
698
+ "end": "(>)",
699
+ "beginCaptures": {
700
+ "1": {
701
+ "name": "meta.tag.end.astro punctuation.definition.tag.begin.astro"
702
+ },
703
+ "2": {
704
+ "name": "meta.tag.end.astro",
705
+ "patterns": [
706
+ {
707
+ "include": "#tags-name"
708
+ }
709
+ ]
710
+ }
711
+ },
712
+ "endCaptures": {
713
+ "1": {
714
+ "name": "meta.tag.end.astro punctuation.definition.tag.end.astro"
715
+ }
716
+ },
717
+ "name": "meta.scope.tag.$2.astro"
718
+ }
719
+ }
720
+ }
@@ -263,8 +263,8 @@ repository:
263
263
  - match: (([^\s\"'=<>`/]|/(?!>))+)
264
264
  name: string.unquoted.astro
265
265
  captures:
266
- - 0: { name: source.js }
267
- - 1: { patterns: [{ include: source.js }] }
266
+ 0: { name: source.js }
267
+ 1: { patterns: [{ include: source.js }] }
268
268
  - begin: (['"])
269
269
  end: \1
270
270
  beginCaptures: { 0: { name: punctuation.definition.string.begin.astro } }