1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3<plist version="1.0">
4<dict>
5 <key>fileTypes</key>
6 <array>
7 <string>astro</string>
8 </array>
9 <key>foldingStartMarker</key>
10 <string>(?x)
11(&lt;(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|li|form|dl)\b.*?&gt;
12|&lt;!--(?!.*--\s*&gt;)
13|^&lt;!--\ \#tminclude\ (?&gt;.*?--&gt;)$
14|&lt;\?(?:php)?.*\b(if|for(each)?|while)\b.+:
15|\{\{?(if|foreach|capture|literal|foreach|php|section|strip)
16|\{\s*($|\?&gt;\s*$|//|/\*(.*\*/\s*$|(?!.*?\*/)))
17)</string>
18 <key>foldingStopMarker</key>
19 <string>(?x)
20(&lt;/(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|li|form|dl)&gt;
21|^(?!.*?&lt;!--).*?--\s*&gt;
22|^&lt;!--\ end\ tminclude\ --&gt;$
23|&lt;\?(?:php)?.*\bend(if|for(each)?|while)\b
24|\{\{?/(if|foreach|capture|literal|foreach|php|section|strip)
25|^[^{]*\}
26)</string>
27 <key>keyEquivalent</key>
28 <string>^~H</string>
29 <key>name</key>
30 <string>Astro</string>
31 <key>patterns</key>
32 <array>
33 <dict>
34 <key>include</key>
35 <string>#astro-markdown</string>
36 </dict>
37 <dict>
38 <key>include</key>
39 <string>#astro-expressions</string>
40 </dict>
41 <dict>
42 <key>begin</key>
43 <string>(&lt;)([a-zA-Z0-9:-]++)(?=[^&gt;]*&gt;&lt;/\2&gt;)</string>
44 <key>beginCaptures</key>
45 <dict>
46 <key>1</key>
47 <dict>
48 <key>name</key>
49 <string>punctuation.definition.tag.begin.html</string>
50 </dict>
51 <key>2</key>
52 <dict>
53 <key>name</key>
54 <string>entity.name.tag.html</string>
55 </dict>
56 </dict>
57 <key>end</key>
58 <string>(&gt;)(&lt;)(/)(\2)(&gt;)</string>
59 <key>endCaptures</key>
60 <dict>
61 <key>1</key>
62 <dict>
63 <key>name</key>
64 <string>punctuation.definition.tag.end.html</string>
65 </dict>
66 <key>2</key>
67 <dict>
68 <key>name</key>
69 <string>punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html</string>
70 </dict>
71 <key>3</key>
72 <dict>
73 <key>name</key>
74 <string>punctuation.definition.tag.begin.html</string>
75 </dict>
76 <key>4</key>
77 <dict>
78 <key>name</key>
79 <string>entity.name.tag.html</string>
80 </dict>
81 <key>5</key>
82 <dict>
83 <key>name</key>
84 <string>punctuation.definition.tag.end.html</string>
85 </dict>
86 </dict>
87 <key>name</key>
88 <string>meta.tag.any.html</string>
89 <key>patterns</key>
90 <array>
91 <dict>
92 <key>include</key>
93 <string>#tag-stuff</string>
94 </dict>
95 </array>
96 </dict>
97 <dict>
98 <key>begin</key>
99 <string>(&lt;\?)(xml)</string>
100 <key>captures</key>
101 <dict>
102 <key>1</key>
103 <dict>
104 <key>name</key>
105 <string>punctuation.definition.tag.html</string>
106 </dict>
107 <key>2</key>
108 <dict>
109 <key>name</key>
110 <string>entity.name.tag.xml.html</string>
111 </dict>
112 </dict>
113 <key>end</key>
114 <string>(\?&gt;)</string>
115 <key>name</key>
116 <string>meta.tag.preprocessor.xml.html</string>
117 <key>patterns</key>
118 <array>
119 <dict>
120 <key>include</key>
121 <string>#tag-generic-attribute</string>
122 </dict>
123 <dict>
124 <key>include</key>
125 <string>#string-double-quoted</string>
126 </dict>
127 <dict>
128 <key>include</key>
129 <string>#string-single-quoted</string>
130 </dict>
131 </array>
132 </dict>
133 <dict>
134 <key>begin</key>
135 <string>&lt;!--</string>
136 <key>captures</key>
137 <array>
138 <dict>
139 <key>name</key>
140 <string>punctuation.definition.comment.html</string>
141 </dict>
142 </array>
143 <key>end</key>
144 <string>--\s*&gt;</string>
145 <key>name</key>
146 <string>comment.block.html</string>
147 <key>patterns</key>
148 <array>
149 <dict>
150 <key>match</key>
151 <string>--</string>
152 <key>name</key>
153 <string>invalid.illegal.bad-comments-or-CDATA.html</string>
154 </dict>
155 </array>
156 </dict>
157 <dict>
158 <key>begin</key>
159 <string>&lt;!</string>
160 <key>captures</key>
161 <array>
162 <dict>
163 <key>name</key>
164 <string>punctuation.definition.tag.html</string>
165 </dict>
166 </array>
167 <key>end</key>
168 <string>&gt;</string>
169 <key>name</key>
170 <string>meta.tag.sgml.html</string>
171 <key>patterns</key>
172 <array>
173 <dict>
174 <key>begin</key>
175 <string>(?i:DOCTYPE|doctype)</string>
176 <key>captures</key>
177 <dict>
178 <key>1</key>
179 <dict>
180 <key>name</key>
181 <string>entity.name.tag.doctype.html</string>
182 </dict>
183 </dict>
184 <key>end</key>
185 <string>(?=&gt;)</string>
186 <key>name</key>
187 <string>meta.tag.sgml.doctype.html</string>
188 <key>patterns</key>
189 <array>
190 <dict>
191 <key>match</key>
192 <string>"[^"&gt;]*"</string>
193 <key>name</key>
194 <string>string.quoted.double.doctype.identifiers-and-DTDs.html</string>
195 </dict>
196 </array>
197 </dict>
198 <dict>
199 <key>begin</key>
200 <string>\[CDATA\[</string>
201 <key>end</key>
202 <string>]](?=&gt;)</string>
203 <key>name</key>
204 <string>constant.other.inline-data.html</string>
205 </dict>
206 <dict>
207 <key>match</key>
208 <string>(\s*)(?!--|&gt;)\S(\s*)</string>
209 <key>name</key>
210 <string>invalid.illegal.bad-comments-or-CDATA.html</string>
211 </dict>
212 </array>
213 </dict>
214 <dict>
215 <key>begin</key>
216 <string>(?:^\s+)?(&lt;)((?i:style))\b(?=[^&gt;]*lang=(['"])css\1?)</string>
217 <key>captures</key>
218 <dict>
219 <key>1</key>
220 <dict>
221 <key>name</key>
222 <string>punctuation.definition.tag.begin.html</string>
223 </dict>
224 <key>2</key>
225 <dict>
226 <key>name</key>
227 <string>entity.name.tag.style.html</string>
228 </dict>
229 <key>3</key>
230 <dict>
231 <key>name</key>
232 <string>punctuation.definition.tag.html</string>
233 </dict>
234 </dict>
235 <key>end</key>
236 <string>(&lt;/)((?i:style))(&gt;)(?:\s*\n)?</string>
237 <key>name</key>
238 <string>source.css.embedded.html</string>
239 <key>patterns</key>
240 <array>
241 <dict>
242 <key>include</key>
243 <string>#tag-stuff</string>
244 </dict>
245 <dict>
246 <key>begin</key>
247 <string>(&gt;)</string>
248 <key>beginCaptures</key>
249 <dict>
250 <key>1</key>
251 <dict>
252 <key>name</key>
253 <string>punctuation.definition.tag.end.html</string>
254 </dict>
255 </dict>
256 <key>end</key>
257 <string>(?=&lt;/(?i:style))</string>
258 <key>patterns</key>
259 <array>
260 <dict>
261 <key>include</key>
262 <string>source.css</string>
263 </dict>
264 </array>
265 </dict>
266 </array>
267 </dict>
268 <dict>
269 <key>begin</key>
270 <string>(?:^\s+)?(&lt;)((?i:style))\b(?=[^&gt;]*lang=(['"])sass\1?)</string>
271 <key>captures</key>
272 <dict>
273 <key>1</key>
274 <dict>
275 <key>name</key>
276 <string>punctuation.definition.tag.begin.html</string>
277 </dict>
278 <key>2</key>
279 <dict>
280 <key>name</key>
281 <string>entity.name.tag.style.html</string>
282 </dict>
283 <key>3</key>
284 <dict>
285 <key>name</key>
286 <string>punctuation.definition.tag.html</string>
287 </dict>
288 </dict>
289 <key>end</key>
290 <string>(&lt;/)((?i:style))(&gt;)(?:\s*\n)?</string>
291 <key>name</key>
292 <string>source.sass.embedded.html</string>
293 <key>patterns</key>
294 <array>
295 <dict>
296 <key>include</key>
297 <string>#tag-stuff</string>
298 </dict>
299 <dict>
300 <key>begin</key>
301 <string>(&gt;)</string>
302 <key>beginCaptures</key>
303 <dict>
304 <key>1</key>
305 <dict>
306 <key>name</key>
307 <string>punctuation.definition.tag.end.html</string>
308 </dict>
309 </dict>
310 <key>end</key>
311 <string>(?=&lt;/(?i:style))</string>
312 <key>patterns</key>
313 <array>
314 <dict>
315 <key>include</key>
316 <string>source.sass</string>
317 </dict>
318 </array>
319 </dict>
320 </array>
321 </dict>
322 <dict>
323 <key>begin</key>
324 <string>(?:^\s+)?(&lt;)((?i:style))\b(?=[^&gt;]*lang=(['"])scss\1?)</string>
325 <key>captures</key>
326 <dict>
327 <key>1</key>
328 <dict>
329 <key>name</key>
330 <string>punctuation.definition.tag.begin.html</string>
331 </dict>
332 <key>2</key>
333 <dict>
334 <key>name</key>
335 <string>entity.name.tag.style.html</string>
336 </dict>
337 <key>3</key>
338 <dict>
339 <key>name</key>
340 <string>punctuation.definition.tag.html</string>
341 </dict>
342 </dict>
343 <key>end</key>
344 <string>(&lt;/)((?i:style))(&gt;)(?:\s*\n)?</string>
345 <key>name</key>
346 <string>source.scss.embedded.html</string>
347 <key>patterns</key>
348 <array>
349 <dict>
350 <key>include</key>
351 <string>#tag-stuff</string>
352 </dict>
353 <dict>
354 <key>begin</key>
355 <string>(&gt;)</string>
356 <key>beginCaptures</key>
357 <dict>
358 <key>1</key>
359 <dict>
360 <key>name</key>
361 <string>punctuation.definition.tag.end.html</string>
362 </dict>
363 </dict>
364 <key>end</key>
365 <string>(?=&lt;/(?i:style))</string>
366 <key>patterns</key>
367 <array>
368 <dict>
369 <key>include</key>
370 <string>source.css.scss</string>
371 </dict>
372 </array>
373 </dict>
374 </array>
375 </dict>
376 <dict>
377 <key>begin</key>
378 <string>(?:^\s+)?(&lt;)((?i:style))\b(?![^&gt;]*/&gt;)</string>
379 <key>captures</key>
380 <dict>
381 <key>1</key>
382 <dict>
383 <key>name</key>
384 <string>punctuation.definition.tag.begin.html</string>
385 </dict>
386 <key>2</key>
387 <dict>
388 <key>name</key>
389 <string>entity.name.tag.style.html</string>
390 </dict>
391 <key>3</key>
392 <dict>
393 <key>name</key>
394 <string>punctuation.definition.tag.html</string>
395 </dict>
396 </dict>
397 <key>end</key>
398 <string>(&lt;/)((?i:style))(&gt;)(?:\s*\n)?</string>
399 <key>name</key>
400 <string>source.css.embedded.html</string>
401 <key>patterns</key>
402 <array>
403 <dict>
404 <key>include</key>
405 <string>#tag-stuff</string>
406 </dict>
407 <dict>
408 <key>begin</key>
409 <string>(&gt;)</string>
410 <key>beginCaptures</key>
411 <dict>
412 <key>1</key>
413 <dict>
414 <key>name</key>
415 <string>punctuation.definition.tag.end.html</string>
416 </dict>
417 </dict>
418 <key>end</key>
419 <string>(?=&lt;/(?i:style))</string>
420 <key>patterns</key>
421 <array>
422 <dict>
423 <key>include</key>
424 <string>source.css</string>
425 </dict>
426 </array>
427 </dict>
428 </array>
429 </dict>
430 <dict>
431 <key>begin</key>
432 <string>(?:^\s+)?(&lt;)((?i:script))\b(?=[^&gt;]*lang=(['"])tsx\1?)</string>
433 <key>beginCaptures</key>
434 <dict>
435 <key>1</key>
436 <dict>
437 <key>name</key>
438 <string>punctuation.definition.tag.begin.html</string>
439 </dict>
440 <key>2</key>
441 <dict>
442 <key>name</key>
443 <string>entity.name.tag.script.html</string>
444 </dict>
445 </dict>
446 <key>end</key>
447 <string>(?&lt;=&lt;/(script|SCRIPT))(&gt;)(?:\s*\n)?</string>
448 <key>endCaptures</key>
449 <dict>
450 <key>2</key>
451 <dict>
452 <key>name</key>
453 <string>punctuation.definition.tag.html</string>
454 </dict>
455 </dict>
456 <key>name</key>
457 <string>source.tsx.embedded.html</string>
458 <key>patterns</key>
459 <array>
460 <dict>
461 <key>include</key>
462 <string>#tag-stuff</string>
463 </dict>
464 <dict>
465 <key>begin</key>
466 <string>(?&lt;!&lt;/(?:script|SCRIPT))(&gt;)</string>
467 <key>captures</key>
468 <dict>
469 <key>1</key>
470 <dict>
471 <key>name</key>
472 <string>punctuation.definition.tag.begin.html</string>
473 </dict>
474 <key>2</key>
475 <dict>
476 <key>name</key>
477 <string>entity.name.tag.script.html</string>
478 </dict>
479 </dict>
480 <key>end</key>
481 <string>(&lt;/)((?i:script))</string>
482 <key>patterns</key>
483 <array>
484 <dict>
485 <key>include</key>
486 <string>source.tsx</string>
487 </dict>
488 </array>
489 </dict>
490 </array>
491 </dict>
492 <dict>
493 <key>begin</key>
494 <string>(?:^\s+)?(&lt;)((?i:script))\b(?=[^&gt;]*lang=(['"])ts\1?)</string>
495 <key>beginCaptures</key>
496 <dict>
497 <key>1</key>
498 <dict>
499 <key>name</key>
500 <string>punctuation.definition.tag.begin.html</string>
501 </dict>
502 <key>2</key>
503 <dict>
504 <key>name</key>
505 <string>entity.name.tag.script.html</string>
506 </dict>
507 </dict>
508 <key>end</key>
509 <string>(?&lt;=&lt;/(script|SCRIPT))(&gt;)(?:\s*\n)?</string>
510 <key>endCaptures</key>
511 <dict>
512 <key>2</key>
513 <dict>
514 <key>name</key>
515 <string>punctuation.definition.tag.html</string>
516 </dict>
517 </dict>
518 <key>name</key>
519 <string>source.tsx.embedded.html</string>
520 <key>patterns</key>
521 <array>
522 <dict>
523 <key>include</key>
524 <string>#tag-stuff</string>
525 </dict>
526 <dict>
527 <key>begin</key>
528 <string>(?&lt;!&lt;/(?:script|SCRIPT))(&gt;)</string>
529 <key>captures</key>
530 <dict>
531 <key>1</key>
532 <dict>
533 <key>name</key>
534 <string>punctuation.definition.tag.begin.html</string>
535 </dict>
536 <key>2</key>
537 <dict>
538 <key>name</key>
539 <string>entity.name.tag.script.html</string>
540 </dict>
541 </dict>
542 <key>end</key>
543 <string>(&lt;/)((?i:script))</string>
544 <key>patterns</key>
545 <array>
546 <dict>
547 <key>include</key>
548 <string>source.tsx</string>
549 </dict>
550 </array>
551 </dict>
552 </array>
553 </dict>
554 <dict>
555 <key>begin</key>
556 <string>(&lt;)((?i:script))\b(?![^&gt;]*/&gt;)(?![^&gt;]*(?i:type.?=.?text/((?!javascript|babel|ecmascript).*)))</string>
557 <key>beginCaptures</key>
558 <dict>
559 <key>1</key>
560 <dict>
561 <key>name</key>
562 <string>punctuation.definition.tag.begin.html</string>
563 </dict>
564 <key>2</key>
565 <dict>
566 <key>name</key>
567 <string>entity.name.tag.script.html</string>
568 </dict>
569 </dict>
570 <key>end</key>
571 <string>(?&lt;=&lt;/(script|SCRIPT))(&gt;)(?:\s*\n)?</string>
572 <key>endCaptures</key>
573 <dict>
574 <key>2</key>
575 <dict>
576 <key>name</key>
577 <string>punctuation.definition.tag.html</string>
578 </dict>
579 </dict>
580 <key>name</key>
581 <string>source.tsx.embedded.html</string>
582 <key>patterns</key>
583 <array>
584 <dict>
585 <key>include</key>
586 <string>#tag-stuff</string>
587 </dict>
588 <dict>
589 <key>begin</key>
590 <string>(?&lt;!&lt;/(?:script|SCRIPT))(&gt;)</string>
591 <key>captures</key>
592 <dict>
593 <key>1</key>
594 <dict>
595 <key>name</key>
596 <string>punctuation.definition.tag.begin.html</string>
597 </dict>
598 <key>2</key>
599 <dict>
600 <key>name</key>
601 <string>entity.name.tag.script.html</string>
602 </dict>
603 </dict>
604 <key>end</key>
605 <string>(&lt;/)((?i:script))</string>
606 <key>patterns</key>
607 <array>
608 <dict>
609 <key>captures</key>
610 <dict>
611 <key>1</key>
612 <dict>
613 <key>name</key>
614 <string>punctuation.definition.comment.js</string>
615 </dict>
616 </dict>
617 <key>match</key>
618 <string>(//).*?((?=&lt;/script)|$\n?)</string>
619 <key>name</key>
620 <string>comment.line.double-slash.js</string>
621 </dict>
622 <dict>
623 <key>begin</key>
624 <string>/\*</string>
625 <key>captures</key>
626 <array>
627 <dict>
628 <key>name</key>
629 <string>punctuation.definition.comment.js</string>
630 </dict>
631 </array>
632 <key>end</key>
633 <string>\*/|(?=&lt;/script)</string>
634 <key>name</key>
635 <string>comment.block.js</string>
636 </dict>
637 <dict>
638 <key>include</key>
639 <string>source.tsx</string>
640 </dict>
641 </array>
642 </dict>
643 </array>
644 </dict>
645 <dict>
646 <key>begin</key>
647 <string>(&lt;/?)((?i:body|head|html)\b)</string>
648 <key>captures</key>
649 <dict>
650 <key>1</key>
651 <dict>
652 <key>name</key>
653 <string>punctuation.definition.tag.begin.html</string>
654 </dict>
655 <key>2</key>
656 <dict>
657 <key>name</key>
658 <string>entity.name.tag.structure.any.html</string>
659 </dict>
660 </dict>
661 <key>end</key>
662 <string>(&gt;)</string>
663 <key>endCaptures</key>
664 <dict>
665 <key>1</key>
666 <dict>
667 <key>name</key>
668 <string>punctuation.definition.tag.end.html</string>
669 </dict>
670 </dict>
671 <key>name</key>
672 <string>meta.tag.structure.any.html</string>
673 <key>patterns</key>
674 <array>
675 <dict>
676 <key>include</key>
677 <string>#tag-stuff</string>
678 </dict>
679 </array>
680 </dict>
681 <dict>
682 <key>begin</key>
683 <string>(&lt;/?)((?i:address|blockquote|dd|div|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre)\b)</string>
684 <key>beginCaptures</key>
685 <dict>
686 <key>1</key>
687 <dict>
688 <key>name</key>
689 <string>punctuation.definition.tag.begin.html</string>
690 </dict>
691 <key>2</key>
692 <dict>
693 <key>name</key>
694 <string>entity.name.tag.block.any.html</string>
695 </dict>
696 </dict>
697 <key>end</key>
698 <string>(&gt;)</string>
699 <key>endCaptures</key>
700 <dict>
701 <key>1</key>
702 <dict>
703 <key>name</key>
704 <string>punctuation.definition.tag.end.html</string>
705 </dict>
706 </dict>
707 <key>name</key>
708 <string>meta.tag.block.any.html</string>
709 <key>patterns</key>
710 <array>
711 <dict>
712 <key>include</key>
713 <string>#tag-stuff</string>
714 </dict>
715 </array>
716 </dict>
717 <dict>
718 <key>begin</key>
719 <string>(&lt;/?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)\b)</string>
720 <key>beginCaptures</key>
721 <dict>
722 <key>1</key>
723 <dict>
724 <key>name</key>
725 <string>punctuation.definition.tag.begin.html</string>
726 </dict>
727 <key>2</key>
728 <dict>
729 <key>name</key>
730 <string>entity.name.tag.inline.any.html</string>
731 </dict>
732 </dict>
733 <key>end</key>
734 <string>((?: ?/)?&gt;)</string>
735 <key>endCaptures</key>
736 <dict>
737 <key>1</key>
738 <dict>
739 <key>name</key>
740 <string>punctuation.definition.tag.end.html</string>
741 </dict>
742 </dict>
743 <key>name</key>
744 <string>meta.tag.inline.any.html</string>
745 <key>patterns</key>
746 <array>
747 <dict>
748 <key>include</key>
749 <string>#tag-stuff</string>
750 </dict>
751 </array>
752 </dict>
753 <dict>
754 <key>begin</key>
755 <string>(&lt;/?)([A-Z][a-zA-Z0-9-\.]*|[a-z]+\.[a-zA-Z0-9-]+)(\:(load|idle|visible))?</string>
756 <key>beginCaptures</key>
757 <dict>
758 <key>1</key>
759 <dict>
760 <key>name</key>
761 <string>punctuation.definition.tag.begin.html</string>
762 </dict>
763 <key>2</key>
764 <dict>
765 <key>name</key>
766 <string>entity.name.tag.component.astro</string>
767 </dict>
768 <key>3</key>
769 <dict>
770 <key>name</key>
771 <string>keyword.control.loading.astro</string>
772 </dict>
773 </dict>
774 <key>end</key>
775 <string>(/?&gt;)</string>
776 <key>endCaptures</key>
777 <dict>
778 <key>1</key>
779 <dict>
780 <key>name</key>
781 <string>punctuation.definition.tag.end.html</string>
782 </dict>
783 </dict>
784 <key>name</key>
785 <string>meta.tag.component.astro</string>
786 <key>patterns</key>
787 <array>
788 <dict>
789 <key>include</key>
790 <string>#tag-stuff</string>
791 </dict>
792 </array>
793 </dict>
794 <dict>
795 <key>begin</key>
796 <string>(&lt;/?)([a-zA-Z0-9:-]+)</string>
797 <key>beginCaptures</key>
798 <dict>
799 <key>1</key>
800 <dict>
801 <key>name</key>
802 <string>punctuation.definition.tag.begin.html</string>
803 </dict>
804 <key>2</key>
805 <dict>
806 <key>name</key>
807 <string>entity.name.tag.other.html</string>
808 </dict>
809 </dict>
810 <key>end</key>
811 <string>(/?&gt;)</string>
812 <key>endCaptures</key>
813 <dict>
814 <key>1</key>
815 <dict>
816 <key>name</key>
817 <string>punctuation.definition.tag.end.html</string>
818 </dict>
819 </dict>
820 <key>name</key>
821 <string>meta.tag.other.html</string>
822 <key>patterns</key>
823 <array>
824 <dict>
825 <key>include</key>
826 <string>#tag-stuff</string>
827 </dict>
828 </array>
829 </dict>
830 <dict>
831 <key>include</key>
832 <string>#entities</string>
833 </dict>
834 <dict>
835 <key>include</key>
836 <string>#frontmatter</string>
837 </dict>
838 <dict>
839 <key>match</key>
840 <string>&lt;&gt;</string>
841 <key>name</key>
842 <string>invalid.illegal.incomplete.html</string>
843 </dict>
844 <dict>
845 <key>match</key>
846 <string>&lt;</string>
847 <key>name</key>
848 <string>invalid.illegal.bad-angle-bracket.html</string>
849 </dict>
850 </array>
851 <key>repository</key>
852 <dict>
853 <key>astro-expressions</key>
854 <dict>
855 <key>patterns</key>
856 <array>
857 <dict>
858 <key>begin</key>
859 <string>\{</string>
860 <key>beginCaptures</key>
861 <array>
862 <dict>
863 <key>name</key>
864 <string>punctuation.definition.generic.begin.html</string>
865 </dict>
866 </array>
867 <key>end</key>
868 <string>\}</string>
869 <key>endCaptures</key>
870 <array>
871 <dict>
872 <key>name</key>
873 <string>punctuation.definition.generic.end.html</string>
874 </dict>
875 </array>
876 <key>name</key>
877 <string>expression.embbeded.astro</string>
878 <key>patterns</key>
879 <array>
880 <dict>
881 <key>include</key>
882 <string>source.tsx</string>
883 </dict>
884 </array>
885 </dict>
886 </array>
887 </dict>
888 <key>astro-markdown</key>
889 <dict>
890 <key>begin</key>
891 <string>(&lt;)(Markdown)(&gt;)</string>
892 <key>beginCaptures</key>
893 <dict>
894 <key>1</key>
895 <dict>
896 <key>name</key>
897 <string>punctuation.definition.tag.begin.html</string>
898 </dict>
899 <key>2</key>
900 <dict>
901 <key>name</key>
902 <string>entity.name.tag.html</string>
903 </dict>
904 <key>3</key>
905 <dict>
906 <key>name</key>
907 <string>punctuation.definition.tag.end.html</string>
908 </dict>
909 </dict>
910 <key>end</key>
911 <string>(&lt;/)(Markdown)(&gt;)</string>
912 <key>endCaptures</key>
913 <dict>
914 <key>1</key>
915 <dict>
916 <key>name</key>
917 <string>punctuation.definition.tag.begin.html</string>
918 </dict>
919 <key>2</key>
920 <dict>
921 <key>name</key>
922 <string>entity.name.tag.html</string>
923 </dict>
924 <key>3</key>
925 <dict>
926 <key>name</key>
927 <string>punctuation.definition.tag.end.html</string>
928 </dict>
929 </dict>
930 <key>name</key>
931 <string>text.html.astro.markdown</string>
932 <key>patterns</key>
933 <array>
934 <dict>
935 <key>include</key>
936 <string>text.html.markdown.astro</string>
937 </dict>
938 </array>
939 </dict>
940 <key>entities</key>
941 <dict>
942 <key>patterns</key>
943 <array>
944 <dict>
945 <key>captures</key>
946 <dict>
947 <key>1</key>
948 <dict>
949 <key>name</key>
950 <string>punctuation.definition.entity.html</string>
951 </dict>
952 <key>3</key>
953 <dict>
954 <key>name</key>
955 <string>punctuation.definition.entity.html</string>
956 </dict>
957 </dict>
958 <key>match</key>
959 <string>(&amp;)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)</string>
960 <key>name</key>
961 <string>constant.character.entity.html</string>
962 </dict>
963 <dict>
964 <key>match</key>
965 <string>&amp;</string>
966 <key>name</key>
967 <string>invalid.illegal.bad-ampersand.html</string>
968 </dict>
969 </array>
970 </dict>
971 <key>frontmatter</key>
972 <dict>
973 <key>begin</key>
974 <string>\A(-{3})\s*$</string>
975 <key>beginCaptures</key>
976 <dict>
977 <key>1</key>
978 <dict>
979 <key>name</key>
980 <string>comment.block.html</string>
981 </dict>
982 </dict>
983 <key>contentName</key>
984 <string>meta.embedded.block.frontmatter</string>
985 <key>end</key>
986 <string>(^|\G)(-{3})|\.{3}\s*$</string>
987 <key>endCaptures</key>
988 <dict>
989 <key>2</key>
990 <dict>
991 <key>name</key>
992 <string>comment.block.html</string>
993 </dict>
994 </dict>
995 <key>patterns</key>
996 <array>
997 <dict>
998 <key>include</key>
999 <string>source.tsx</string>
1000 </dict>
1001 </array>
1002 </dict>
1003 <key>string-double-quoted</key>
1004 <dict>
1005 <key>begin</key>
1006 <string>"</string>
1007 <key>beginCaptures</key>
1008 <array>
1009 <dict>
1010 <key>name</key>
1011 <string>punctuation.definition.string.begin.html</string>
1012 </dict>
1013 </array>
1014 <key>end</key>
1015 <string>"</string>
1016 <key>endCaptures</key>
1017 <array>
1018 <dict>
1019 <key>name</key>
1020 <string>punctuation.definition.string.end.html</string>
1021 </dict>
1022 </array>
1023 <key>name</key>
1024 <string>string.quoted.double.html</string>
1025 <key>patterns</key>
1026 <array>
1027 <dict>
1028 <key>include</key>
1029 <string>#entities</string>
1030 </dict>
1031 </array>
1032 </dict>
1033 <key>string-single-quoted</key>
1034 <dict>
1035 <key>begin</key>
1036 <string>'</string>
1037 <key>beginCaptures</key>
1038 <array>
1039 <dict>
1040 <key>name</key>
1041 <string>punctuation.definition.string.begin.html</string>
1042 </dict>
1043 </array>
1044 <key>end</key>
1045 <string>'</string>
1046 <key>endCaptures</key>
1047 <array>
1048 <dict>
1049 <key>name</key>
1050 <string>punctuation.definition.string.end.html</string>
1051 </dict>
1052 </array>
1053 <key>name</key>
1054 <string>string.quoted.single.html</string>
1055 <key>patterns</key>
1056 <array>
1057 <dict>
1058 <key>include</key>
1059 <string>#entities</string>
1060 </dict>
1061 </array>
1062 </dict>
1063 <key>tag-generic-attribute</key>
1064 <dict>
1065 <key>match</key>
1066 <string>\b([a-zA-Z\-:]+)</string>
1067 <key>name</key>
1068 <string>entity.other.attribute-name.html</string>
1069 </dict>
1070 <key>tag-id-attribute</key>
1071 <dict>
1072 <key>begin</key>
1073 <string>\b(id)\b\s*(=)</string>
1074 <key>captures</key>
1075 <dict>
1076 <key>1</key>
1077 <dict>
1078 <key>name</key>
1079 <string>entity.other.attribute-name.id.html</string>
1080 </dict>
1081 <key>2</key>
1082 <dict>
1083 <key>name</key>
1084 <string>punctuation.separator.key-value.html</string>
1085 </dict>
1086 </dict>
1087 <key>end</key>
1088 <string>(?&lt;='|")</string>
1089 <key>name</key>
1090 <string>meta.attribute-with-value.id.html</string>
1091 <key>patterns</key>
1092 <array>
1093 <dict>
1094 <key>begin</key>
1095 <string>"</string>
1096 <key>beginCaptures</key>
1097 <array>
1098 <dict>
1099 <key>name</key>
1100 <string>punctuation.definition.string.begin.html</string>
1101 </dict>
1102 </array>
1103 <key>contentName</key>
1104 <string>meta.toc-list.id.html</string>
1105 <key>end</key>
1106 <string>"</string>
1107 <key>endCaptures</key>
1108 <array>
1109 <dict>
1110 <key>name</key>
1111 <string>punctuation.definition.string.end.html</string>
1112 </dict>
1113 </array>
1114 <key>name</key>
1115 <string>string.quoted.double.html</string>
1116 <key>patterns</key>
1117 <array>
1118 <dict>
1119 <key>include</key>
1120 <string>#astro-expressions</string>
1121 </dict>
1122 <dict>
1123 <key>include</key>
1124 <string>#entities</string>
1125 </dict>
1126 </array>
1127 </dict>
1128 <dict>
1129 <key>begin</key>
1130 <string>'</string>
1131 <key>beginCaptures</key>
1132 <array>
1133 <dict>
1134 <key>name</key>
1135 <string>punctuation.definition.string.begin.html</string>
1136 </dict>
1137 </array>
1138 <key>contentName</key>
1139 <string>meta.toc-list.id.html</string>
1140 <key>end</key>
1141 <string>'</string>
1142 <key>endCaptures</key>
1143 <array>
1144 <dict>
1145 <key>name</key>
1146 <string>punctuation.definition.string.end.html</string>
1147 </dict>
1148 </array>
1149 <key>name</key>
1150 <string>string.quoted.single.html</string>
1151 <key>patterns</key>
1152 <array>
1153 <dict>
1154 <key>include</key>
1155 <string>#astro-expressions</string>
1156 </dict>
1157 <dict>
1158 <key>include</key>
1159 <string>#entities</string>
1160 </dict>
1161 </array>
1162 </dict>
1163 </array>
1164 </dict>
1165 <key>tag-stuff</key>
1166 <dict>
1167 <key>patterns</key>
1168 <array>
1169 <dict>
1170 <key>include</key>
1171 <string>#tag-id-attribute</string>
1172 </dict>
1173 <dict>
1174 <key>include</key>
1175 <string>#tag-generic-attribute</string>
1176 </dict>
1177 <dict>
1178 <key>include</key>
1179 <string>#string-double-quoted</string>
1180 </dict>
1181 <dict>
1182 <key>include</key>
1183 <string>#string-single-quoted</string>
1184 </dict>
1185 <dict>
1186 <key>include</key>
1187 <string>#astro-load-directive</string>
1188 </dict>
1189 <dict>
1190 <key>include</key>
1191 <string>#astro-expressions</string>
1192 </dict>
1193 <dict>
1194 <key>include</key>
1195 <string>#astro-markdown</string>
1196 </dict>
1197 </array>
1198 </dict>
1199 </dict>
1200 <key>scopeName</key>
1201 <string>text.html.astro</string>
1202</dict>
1203</plist>