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>html</string>
8 <string>htm</string>
9 <string>shtml</string>
10 <string>xhtml</string>
11 <string>inc</string>
12 <string>tmpl</string>
13 <string>tpl</string>
14 </array>
15 <key>firstLineMatch</key>
16 <string>&lt;(?i:(!DOCTYPE\s*)?html)</string>
17 <key>injections</key>
18 <dict>
19 <key>R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)</key>
20 <dict>
21 <key>comment</key>
22 <string>Uses R: to ensure this matches after any other injections.</string>
23 <key>patterns</key>
24 <array>
25 <dict>
26 <key>match</key>
27 <string>&lt;</string>
28 <key>name</key>
29 <string>invalid.illegal.bad-angle-bracket.html</string>
30 </dict>
31 </array>
32 </dict>
33 </dict>
34 <key>keyEquivalent</key>
35 <string>^~H</string>
36 <key>name</key>
37 <string>HTML</string>
38 <key>patterns</key>
39 <array>
40 <dict>
41 <key>include</key>
42 <string>#xml-processing</string>
43 </dict>
44 <dict>
45 <key>include</key>
46 <string>#comment</string>
47 </dict>
48 <dict>
49 <key>include</key>
50 <string>#doctype</string>
51 </dict>
52 <dict>
53 <key>include</key>
54 <string>#cdata</string>
55 </dict>
56 <dict>
57 <key>include</key>
58 <string>#tags-valid</string>
59 </dict>
60 <dict>
61 <key>include</key>
62 <string>#tags-invalid</string>
63 </dict>
64 <dict>
65 <key>include</key>
66 <string>#entities</string>
67 </dict>
68 </array>
69 <key>repository</key>
70 <dict>
71 <key>attribute</key>
72 <dict>
73 <key>patterns</key>
74 <array>
75 <dict>
76 <key>begin</key>
77 <string>(s(hape|cope|t(ep|art)|ize(s)?|p(ellcheck|an)|elected|lot|andbox|rc(set|doc|lang)?)|h(ttp-equiv|i(dden|gh)|e(ight|aders)|ref(lang)?)|n(o(nce|validate|module)|ame)|c(h(ecked|arset)|ite|o(nt(ent(editable)?|rols)|ords|l(s(pan)?|or))|lass|rossorigin)|t(ype(mustmatch)?|itle|a(rget|bindex)|ranslate)|i(s(map)?|n(tegrity|putmode)|tem(scope|type|id|prop|ref)|d)|op(timum|en)|d(i(sabled|r(name)?)|ownload|e(coding|f(er|ault))|at(etime|a)|raggable)|usemap|p(ing|oster|la(ysinline|ceholder)|attern|reload)|enctype|value|kind|for(m(novalidate|target|enctype|action|method)?)?|w(idth|rap)|l(ist|o(op|w)|a(ng|bel))|a(s(ync)?|c(ce(sskey|pt(-charset)?)|tion)|uto(c(omplete|apitalize)|play|focus)|l(t|low(usermedia|paymentrequest|fullscreen))|bbr)|r(ows(pan)?|e(versed|quired|ferrerpolicy|l|adonly))|m(in(length)?|u(ted|ltiple)|e(thod|dia)|a(nifest|x(length)?)))(?![\w:-])</string>
78 <key>beginCaptures</key>
79 <dict>
80 <key>0</key>
81 <dict>
82 <key>name</key>
83 <string>entity.other.attribute-name.html</string>
84 </dict>
85 </dict>
86 <key>comment</key>
87 <string>HTML5 attributes, not event handlers</string>
88 <key>end</key>
89 <string>(?=\s*+[^=\s])</string>
90 <key>name</key>
91 <string>meta.attribute.$1.html</string>
92 <key>patterns</key>
93 <array>
94 <dict>
95 <key>include</key>
96 <string>#attribute-interior</string>
97 </dict>
98 </array>
99 </dict>
100 <dict>
101 <key>begin</key>
102 <string>style(?![\w:-])</string>
103 <key>beginCaptures</key>
104 <dict>
105 <key>0</key>
106 <dict>
107 <key>name</key>
108 <string>entity.other.attribute-name.html</string>
109 </dict>
110 </dict>
111 <key>comment</key>
112 <string>HTML5 style attribute</string>
113 <key>end</key>
114 <string>(?=\s*+[^=\s])</string>
115 <key>name</key>
116 <string>meta.attribute.style.html</string>
117 <key>patterns</key>
118 <array>
119 <dict>
120 <key>begin</key>
121 <string>=</string>
122 <key>beginCaptures</key>
123 <dict>
124 <key>0</key>
125 <dict>
126 <key>name</key>
127 <string>punctuation.separator.key-value.html</string>
128 </dict>
129 </dict>
130 <key>end</key>
131 <string>(?&lt;=[^\s=])(?!\s*=)|(?=/?&gt;)</string>
132 <key>patterns</key>
133 <array>
134 <dict>
135 <key>begin</key>
136 <string>(?=[^\s=&lt;&gt;`/]|/(?!&gt;))</string>
137 <key>end</key>
138 <string>(?!\G)</string>
139 <key>name</key>
140 <string>meta.embedded.line.css</string>
141 <key>patterns</key>
142 <array>
143 <dict>
144 <key>captures</key>
145 <dict>
146 <key>0</key>
147 <dict>
148 <key>name</key>
149 <string>source.css</string>
150 </dict>
151 </dict>
152 <key>match</key>
153 <string>([^\s"'=&lt;&gt;`/]|/(?!&gt;))+</string>
154 <key>name</key>
155 <string>string.unquoted.html</string>
156 </dict>
157 <dict>
158 <key>begin</key>
159 <string>"</string>
160 <key>beginCaptures</key>
161 <dict>
162 <key>0</key>
163 <dict>
164 <key>name</key>
165 <string>punctuation.definition.string.begin.html</string>
166 </dict>
167 </dict>
168 <key>contentName</key>
169 <string>source.css</string>
170 <key>end</key>
171 <string>(")</string>
172 <key>endCaptures</key>
173 <dict>
174 <key>0</key>
175 <dict>
176 <key>name</key>
177 <string>punctuation.definition.string.end.html</string>
178 </dict>
179 <key>1</key>
180 <dict>
181 <key>name</key>
182 <string>source.css</string>
183 </dict>
184 </dict>
185 <key>name</key>
186 <string>string.quoted.double.html</string>
187 <key>patterns</key>
188 <array>
189 <dict>
190 <key>include</key>
191 <string>#entities</string>
192 </dict>
193 </array>
194 </dict>
195 <dict>
196 <key>begin</key>
197 <string>'</string>
198 <key>beginCaptures</key>
199 <dict>
200 <key>0</key>
201 <dict>
202 <key>name</key>
203 <string>punctuation.definition.string.begin.html</string>
204 </dict>
205 </dict>
206 <key>contentName</key>
207 <string>source.css</string>
208 <key>end</key>
209 <string>(')</string>
210 <key>endCaptures</key>
211 <dict>
212 <key>0</key>
213 <dict>
214 <key>name</key>
215 <string>punctuation.definition.string.end.html</string>
216 </dict>
217 <key>1</key>
218 <dict>
219 <key>name</key>
220 <string>source.css</string>
221 </dict>
222 </dict>
223 <key>name</key>
224 <string>string.quoted.single.html</string>
225 <key>patterns</key>
226 <array>
227 <dict>
228 <key>include</key>
229 <string>#entities</string>
230 </dict>
231 </array>
232 </dict>
233 </array>
234 </dict>
235 <dict>
236 <key>match</key>
237 <string>=</string>
238 <key>name</key>
239 <string>invalid.illegal.unexpected-equals-sign.html</string>
240 </dict>
241 </array>
242 </dict>
243 </array>
244 </dict>
245 <dict>
246 <key>begin</key>
247 <string>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:-])</string>
248 <key>beginCaptures</key>
249 <dict>
250 <key>0</key>
251 <dict>
252 <key>name</key>
253 <string>entity.other.attribute-name.html</string>
254 </dict>
255 </dict>
256 <key>comment</key>
257 <string>HTML5 attributes, event handlers</string>
258 <key>end</key>
259 <string>(?=\s*+[^=\s])</string>
260 <key>name</key>
261 <string>meta.attribute.event-handler.$1.html</string>
262 <key>patterns</key>
263 <array>
264 <dict>
265 <key>begin</key>
266 <string>=</string>
267 <key>beginCaptures</key>
268 <dict>
269 <key>0</key>
270 <dict>
271 <key>name</key>
272 <string>punctuation.separator.key-value.html</string>
273 </dict>
274 </dict>
275 <key>end</key>
276 <string>(?&lt;=[^\s=])(?!\s*=)|(?=/?&gt;)</string>
277 <key>patterns</key>
278 <array>
279 <dict>
280 <key>begin</key>
281 <string>(?=[^\s=&lt;&gt;`/]|/(?!&gt;))</string>
282 <key>end</key>
283 <string>(?!\G)</string>
284 <key>name</key>
285 <string>meta.embedded.line.js</string>
286 <key>patterns</key>
287 <array>
288 <dict>
289 <key>captures</key>
290 <dict>
291 <key>0</key>
292 <dict>
293 <key>name</key>
294 <string>source.js</string>
295 </dict>
296 <key>1</key>
297 <dict>
298 <key>patterns</key>
299 <array>
300 <dict>
301 <key>include</key>
302 <string>source.js</string>
303 </dict>
304 </array>
305 </dict>
306 </dict>
307 <key>match</key>
308 <string>(([^\s"'=&lt;&gt;`/]|/(?!&gt;))+)</string>
309 <key>name</key>
310 <string>string.unquoted.html</string>
311 </dict>
312 <dict>
313 <key>begin</key>
314 <string>"</string>
315 <key>beginCaptures</key>
316 <dict>
317 <key>0</key>
318 <dict>
319 <key>name</key>
320 <string>punctuation.definition.string.begin.html</string>
321 </dict>
322 </dict>
323 <key>contentName</key>
324 <string>source.js</string>
325 <key>end</key>
326 <string>(")</string>
327 <key>endCaptures</key>
328 <dict>
329 <key>0</key>
330 <dict>
331 <key>name</key>
332 <string>punctuation.definition.string.end.html</string>
333 </dict>
334 <key>1</key>
335 <dict>
336 <key>name</key>
337 <string>source.js</string>
338 </dict>
339 </dict>
340 <key>name</key>
341 <string>string.quoted.double.html</string>
342 <key>patterns</key>
343 <array>
344 <dict>
345 <key>captures</key>
346 <dict>
347 <key>0</key>
348 <dict>
349 <key>patterns</key>
350 <array>
351 <dict>
352 <key>include</key>
353 <string>source.js</string>
354 </dict>
355 </array>
356 </dict>
357 </dict>
358 <key>match</key>
359 <string>([^\n"/]|/(?![/*]))+</string>
360 </dict>
361 <dict>
362 <key>begin</key>
363 <string>//</string>
364 <key>beginCaptures</key>
365 <dict>
366 <key>0</key>
367 <dict>
368 <key>name</key>
369 <string>punctuation.definition.comment.js</string>
370 </dict>
371 </dict>
372 <key>end</key>
373 <string>(?=")|\n</string>
374 <key>name</key>
375 <string>comment.line.double-slash.js</string>
376 </dict>
377 <dict>
378 <key>begin</key>
379 <string>/\*</string>
380 <key>beginCaptures</key>
381 <dict>
382 <key>0</key>
383 <dict>
384 <key>name</key>
385 <string>punctuation.definition.comment.begin.js</string>
386 </dict>
387 </dict>
388 <key>end</key>
389 <string>(?=")|\*/</string>
390 <key>endCaptures</key>
391 <dict>
392 <key>0</key>
393 <dict>
394 <key>name</key>
395 <string>punctuation.definition.comment.end.js</string>
396 </dict>
397 </dict>
398 <key>name</key>
399 <string>comment.block.js</string>
400 </dict>
401 </array>
402 </dict>
403 <dict>
404 <key>begin</key>
405 <string>'</string>
406 <key>beginCaptures</key>
407 <dict>
408 <key>0</key>
409 <dict>
410 <key>name</key>
411 <string>punctuation.definition.string.begin.html</string>
412 </dict>
413 </dict>
414 <key>contentName</key>
415 <string>source.js</string>
416 <key>end</key>
417 <string>(')</string>
418 <key>endCaptures</key>
419 <dict>
420 <key>0</key>
421 <dict>
422 <key>name</key>
423 <string>punctuation.definition.string.end.html</string>
424 </dict>
425 <key>1</key>
426 <dict>
427 <key>name</key>
428 <string>source.js</string>
429 </dict>
430 </dict>
431 <key>name</key>
432 <string>string.quoted.single.html</string>
433 <key>patterns</key>
434 <array>
435 <dict>
436 <key>captures</key>
437 <dict>
438 <key>0</key>
439 <dict>
440 <key>patterns</key>
441 <array>
442 <dict>
443 <key>include</key>
444 <string>source.js</string>
445 </dict>
446 </array>
447 </dict>
448 </dict>
449 <key>match</key>
450 <string>([^\n'/]|/(?![/*]))+</string>
451 </dict>
452 <dict>
453 <key>begin</key>
454 <string>//</string>
455 <key>beginCaptures</key>
456 <dict>
457 <key>0</key>
458 <dict>
459 <key>name</key>
460 <string>punctuation.definition.comment.js</string>
461 </dict>
462 </dict>
463 <key>end</key>
464 <string>(?=')|\n</string>
465 <key>name</key>
466 <string>comment.line.double-slash.js</string>
467 </dict>
468 <dict>
469 <key>begin</key>
470 <string>/\*</string>
471 <key>beginCaptures</key>
472 <dict>
473 <key>0</key>
474 <dict>
475 <key>name</key>
476 <string>punctuation.definition.comment.begin.js</string>
477 </dict>
478 </dict>
479 <key>end</key>
480 <string>(?=')|\*/</string>
481 <key>endCaptures</key>
482 <dict>
483 <key>0</key>
484 <dict>
485 <key>name</key>
486 <string>punctuation.definition.comment.end.js</string>
487 </dict>
488 </dict>
489 <key>name</key>
490 <string>comment.block.js</string>
491 </dict>
492 </array>
493 </dict>
494 </array>
495 </dict>
496 <dict>
497 <key>match</key>
498 <string>=</string>
499 <key>name</key>
500 <string>invalid.illegal.unexpected-equals-sign.html</string>
501 </dict>
502 </array>
503 </dict>
504 </array>
505 </dict>
506 <dict>
507 <key>begin</key>
508 <string>(data-[a-z\-]+)(?![\w:-])</string>
509 <key>beginCaptures</key>
510 <dict>
511 <key>0</key>
512 <dict>
513 <key>name</key>
514 <string>entity.other.attribute-name.html</string>
515 </dict>
516 </dict>
517 <key>comment</key>
518 <string>HTML5 attributes, data-*</string>
519 <key>end</key>
520 <string>(?=\s*+[^=\s])</string>
521 <key>name</key>
522 <string>meta.attribute.data-x.$1.html</string>
523 <key>patterns</key>
524 <array>
525 <dict>
526 <key>include</key>
527 <string>#attribute-interior</string>
528 </dict>
529 </array>
530 </dict>
531 <dict>
532 <key>begin</key>
533 <string>(align|bgcolor|border)(?![\w:-])</string>
534 <key>beginCaptures</key>
535 <dict>
536 <key>0</key>
537 <dict>
538 <key>name</key>
539 <string>invalid.deprecated.entity.other.attribute-name.html</string>
540 </dict>
541 </dict>
542 <key>comment</key>
543 <string>HTML attributes, deprecated</string>
544 <key>end</key>
545 <string>(?=\s*+[^=\s])</string>
546 <key>name</key>
547 <string>meta.attribute.$1.html</string>
548 <key>patterns</key>
549 <array>
550 <dict>
551 <key>include</key>
552 <string>#attribute-interior</string>
553 </dict>
554 </array>
555 </dict>
556 <dict>
557 <key>begin</key>
558 <string>([^\x{0020}"'&lt;&gt;/=\x{0000}-\x{001F}\x{007F}-\x{009F}\x{FDD0}-\x{FDEF}\x{FFFE}\x{FFFF}\x{1FFFE}\x{1FFFF}\x{2FFFE}\x{2FFFF}\x{3FFFE}\x{3FFFF}\x{4FFFE}\x{4FFFF}\x{5FFFE}\x{5FFFF}\x{6FFFE}\x{6FFFF}\x{7FFFE}\x{7FFFF}\x{8FFFE}\x{8FFFF}\x{9FFFE}\x{9FFFF}\x{AFFFE}\x{AFFFF}\x{BFFFE}\x{BFFFF}\x{CFFFE}\x{CFFFF}\x{DFFFE}\x{DFFFF}\x{EFFFE}\x{EFFFF}\x{FFFFE}\x{FFFFF}\x{10FFFE}\x{10FFFF}]+)</string>
559 <key>beginCaptures</key>
560 <dict>
561 <key>0</key>
562 <dict>
563 <key>name</key>
564 <string>entity.other.attribute-name.html</string>
565 </dict>
566 </dict>
567 <key>comment</key>
568 <string>Anything else that is valid</string>
569 <key>end</key>
570 <string>(?=\s*+[^=\s])</string>
571 <key>name</key>
572 <string>meta.attribute.unrecognized.$1.html</string>
573 <key>patterns</key>
574 <array>
575 <dict>
576 <key>include</key>
577 <string>#attribute-interior</string>
578 </dict>
579 </array>
580 </dict>
581 <dict>
582 <key>match</key>
583 <string>[^\s&gt;]+</string>
584 <key>name</key>
585 <string>invalid.illegal.character-not-allowed-here.html</string>
586 </dict>
587 </array>
588 </dict>
589 <key>attribute-interior</key>
590 <dict>
591 <key>patterns</key>
592 <array>
593 <dict>
594 <key>begin</key>
595 <string>=</string>
596 <key>beginCaptures</key>
597 <dict>
598 <key>0</key>
599 <dict>
600 <key>name</key>
601 <string>punctuation.separator.key-value.html</string>
602 </dict>
603 </dict>
604 <key>end</key>
605 <string>(?&lt;=[^\s=])(?!\s*=)|(?=/?&gt;)</string>
606 <key>patterns</key>
607 <array>
608 <dict>
609 <key>match</key>
610 <string>([^\s"'=&lt;&gt;`/]|/(?!&gt;))+</string>
611 <key>name</key>
612 <string>string.unquoted.html</string>
613 </dict>
614 <dict>
615 <key>begin</key>
616 <string>"</string>
617 <key>beginCaptures</key>
618 <dict>
619 <key>0</key>
620 <dict>
621 <key>name</key>
622 <string>punctuation.definition.string.begin.html</string>
623 </dict>
624 </dict>
625 <key>end</key>
626 <string>"</string>
627 <key>endCaptures</key>
628 <dict>
629 <key>0</key>
630 <dict>
631 <key>name</key>
632 <string>punctuation.definition.string.end.html</string>
633 </dict>
634 </dict>
635 <key>name</key>
636 <string>string.quoted.double.html</string>
637 <key>patterns</key>
638 <array>
639 <dict>
640 <key>include</key>
641 <string>#entities</string>
642 </dict>
643 </array>
644 </dict>
645 <dict>
646 <key>begin</key>
647 <string>'</string>
648 <key>beginCaptures</key>
649 <dict>
650 <key>0</key>
651 <dict>
652 <key>name</key>
653 <string>punctuation.definition.string.begin.html</string>
654 </dict>
655 </dict>
656 <key>end</key>
657 <string>'</string>
658 <key>endCaptures</key>
659 <dict>
660 <key>0</key>
661 <dict>
662 <key>name</key>
663 <string>punctuation.definition.string.end.html</string>
664 </dict>
665 </dict>
666 <key>name</key>
667 <string>string.quoted.single.html</string>
668 <key>patterns</key>
669 <array>
670 <dict>
671 <key>include</key>
672 <string>#entities</string>
673 </dict>
674 </array>
675 </dict>
676 <dict>
677 <key>match</key>
678 <string>=</string>
679 <key>name</key>
680 <string>invalid.illegal.unexpected-equals-sign.html</string>
681 </dict>
682 </array>
683 </dict>
684 </array>
685 </dict>
686 <key>cdata</key>
687 <dict>
688 <key>begin</key>
689 <string>&lt;!\[CDATA\[</string>
690 <key>beginCaptures</key>
691 <dict>
692 <key>0</key>
693 <dict>
694 <key>name</key>
695 <string>punctuation.definition.tag.begin.html</string>
696 </dict>
697 </dict>
698 <key>contentName</key>
699 <string>string.other.inline-data.html</string>
700 <key>end</key>
701 <string>]]&gt;</string>
702 <key>endCaptures</key>
703 <dict>
704 <key>0</key>
705 <dict>
706 <key>name</key>
707 <string>punctuation.definition.tag.end.html</string>
708 </dict>
709 </dict>
710 <key>name</key>
711 <string>meta.tag.metadata.cdata.html</string>
712 </dict>
713 <key>comment</key>
714 <dict>
715 <key>begin</key>
716 <string>&lt;!--</string>
717 <key>captures</key>
718 <dict>
719 <key>0</key>
720 <dict>
721 <key>name</key>
722 <string>punctuation.definition.comment.html</string>
723 </dict>
724 </dict>
725 <key>end</key>
726 <string>--&gt;</string>
727 <key>name</key>
728 <string>comment.block.html</string>
729 <key>patterns</key>
730 <array>
731 <dict>
732 <key>match</key>
733 <string>\G-?&gt;</string>
734 <key>name</key>
735 <string>invalid.illegal.characters-not-allowed-here.html</string>
736 </dict>
737 <dict>
738 <key>match</key>
739 <string>&lt;!--(?!&gt;)|&lt;!-(?=--&gt;)</string>
740 <key>name</key>
741 <string>invalid.illegal.characters-not-allowed-here.html</string>
742 </dict>
743 <dict>
744 <key>match</key>
745 <string>--!&gt;</string>
746 <key>name</key>
747 <string>invalid.illegal.characters-not-allowed-here.html</string>
748 </dict>
749 </array>
750 </dict>
751 <key>core-minus-invalid</key>
752 <dict>
753 <key>comment</key>
754 <string>This should be the root pattern array includes minus #tags-invalid</string>
755 <key>patterns</key>
756 <array>
757 <dict>
758 <key>include</key>
759 <string>#xml-processing</string>
760 </dict>
761 <dict>
762 <key>include</key>
763 <string>#comment</string>
764 </dict>
765 <dict>
766 <key>include</key>
767 <string>#doctype</string>
768 </dict>
769 <dict>
770 <key>include</key>
771 <string>#cdata</string>
772 </dict>
773 <dict>
774 <key>include</key>
775 <string>#tags-valid</string>
776 </dict>
777 <dict>
778 <key>include</key>
779 <string>#entities</string>
780 </dict>
781 </array>
782 </dict>
783 <key>doctype</key>
784 <dict>
785 <key>begin</key>
786 <string>&lt;!(?=(?i:DOCTYPE\s))</string>
787 <key>beginCaptures</key>
788 <dict>
789 <key>0</key>
790 <dict>
791 <key>name</key>
792 <string>punctuation.definition.tag.begin.html</string>
793 </dict>
794 </dict>
795 <key>end</key>
796 <string>&gt;</string>
797 <key>endCaptures</key>
798 <dict>
799 <key>0</key>
800 <dict>
801 <key>name</key>
802 <string>punctuation.definition.tag.end.html</string>
803 </dict>
804 </dict>
805 <key>name</key>
806 <string>meta.tag.metadata.doctype.html</string>
807 <key>patterns</key>
808 <array>
809 <dict>
810 <key>match</key>
811 <string>\G(?i:DOCTYPE)</string>
812 <key>name</key>
813 <string>entity.name.tag.html</string>
814 </dict>
815 <dict>
816 <key>begin</key>
817 <string>"</string>
818 <key>end</key>
819 <string>"</string>
820 <key>name</key>
821 <string>string.quoted.double.html</string>
822 </dict>
823 <dict>
824 <key>match</key>
825 <string>[^\s&gt;]+</string>
826 <key>name</key>
827 <string>entity.other.attribute-name.html</string>
828 </dict>
829 </array>
830 </dict>
831 <key>entities</key>
832 <dict>
833 <key>patterns</key>
834 <array>
835 <dict>
836 <key>captures</key>
837 <dict>
838 <key>1</key>
839 <dict>
840 <key>name</key>
841 <string>punctuation.definition.entity.html</string>
842 </dict>
843 <key>912</key>
844 <dict>
845 <key>name</key>
846 <string>punctuation.definition.entity.html</string>
847 </dict>
848 </dict>
849 <key>comment</key>
850 <string>Yes this is a bit ridiculous, there are quite a lot of these</string>
851 <key>match</key>
852 <string>(?x)
853 (&amp;) (?=[a-zA-Z])
854 (
855 (a(s(ymp(eq)?|cr|t)|n(d(slope|d|v|and)?|g(s(t|ph)|zarr|e|le|rt(vb(d)?)?|msd(a(h|c|d|e|f|a|g|b))?)?)|c(y|irc|d|ute|E)?|tilde|o(pf|gon)|uml|p(id|os|prox(eq)?|e|E|acir)?|elig|f(r)?|w(conint|int)|l(pha|e(ph|fsym))|acute|ring|grave|m(p|a(cr|lg))|breve)|A(s(sign|cr)|nd|MP|c(y|irc)|tilde|o(pf|gon)|uml|pplyFunction|fr|Elig|lpha|acute|ring|grave|macr|breve))
856 | (B(scr|cy|opf|umpeq|e(cause|ta|rnoullis)|fr|a(ckslash|r(v|wed))|reve)|b(s(cr|im(e)?|ol(hsub|b)?|emi)|n(ot|e(quiv)?)|c(y|ong)|ig(s(tar|qcup)|c(irc|up|ap)|triangle(down|up)|o(times|dot|plus)|uplus|vee|wedge)|o(t(tom)?|pf|wtie|x(h(d|u|D|U)?|times|H(d|u|D|U)?|d(R|l|r|L)|u(R|l|r|L)|plus|D(R|l|r|L)|v(R|h|H|l|r|L)?|U(R|l|r|L)|V(R|h|H|l|r|L)?|minus|box))|Not|dquo|u(ll(et)?|mp(e(q)?|E)?)|prime|e(caus(e)?|t(h|ween|a)|psi|rnou|mptyv)|karow|fr|l(ock|k(1(2|4)|34)|a(nk|ck(square|triangle(down|left|right)?|lozenge)))|a(ck(sim(eq)?|cong|prime|epsilon)|r(vee|wed(ge)?))|r(eve|vbar)|brk(tbrk)?))
857 | (c(s(cr|u(p(e)?|b(e)?))|h(cy|i|eck(mark)?)|ylcty|c(irc|ups(sm)?|edil|a(ps|ron))|tdot|ir(scir|c(eq|le(d(R|circ|S|dash|ast)|arrow(left|right)))?|e|fnint|E|mid)?|o(n(int|g(dot)?)|p(y(sr)?|f|rod)|lon(e(q)?)?|m(p(fn|le(xes|ment))?|ma(t)?))|dot|u(darr(l|r)|p(s|c(up|ap)|or|dot|brcap)?|e(sc|pr)|vee|wed|larr(p)?|r(vearrow(left|right)|ly(eq(succ|prec)|vee|wedge)|arr(m)?|ren))|e(nt(erdot)?|dil|mptyv)|fr|w(conint|int)|lubs(uit)?|a(cute|p(s|c(up|ap)|dot|and|brcup)?|r(on|et))|r(oss|arr))|C(scr|hi|c(irc|onint|edil|aron)|ircle(Minus|Times|Dot|Plus)|Hcy|o(n(tourIntegral|int|gruent)|unterClockwiseContourIntegral|p(f|roduct)|lon(e)?)|dot|up(Cap)?|OPY|e(nterDot|dilla)|fr|lo(seCurly(DoubleQuote|Quote)|ckwiseContourIntegral)|a(yleys|cute|p(italDifferentialD)?)|ross))
858 | (d(s(c(y|r)|trok|ol)|har(l|r)|c(y|aron)|t(dot|ri(f)?)|i(sin|e|v(ide(ontimes)?|onx)?|am(s|ond(suit)?)?|gamma)|Har|z(cy|igrarr)|o(t(square|plus|eq(dot)?|minus)?|ublebarwedge|pf|wn(harpoon(left|right)|downarrows|arrow)|llar)|d(otseq|a(rr|gger))?|u(har|arr)|jcy|e(lta|g|mptyv)|f(isht|r)|wangle|lc(orn|rop)|a(sh(v)?|leth|rr|gger)|r(c(orn|rop)|bkarow)|b(karow|lac)|Arr)|D(s(cr|trok)|c(y|aron)|Scy|i(fferentialD|a(critical(Grave|Tilde|Do(t|ubleAcute)|Acute)|mond))|o(t(Dot|Equal)?|uble(Right(Tee|Arrow)|ContourIntegral|Do(t|wnArrow)|Up(DownArrow|Arrow)|VerticalBar|L(ong(RightArrow|Left(RightArrow|Arrow))|eft(RightArrow|Tee|Arrow)))|pf|wn(Right(TeeVector|Vector(Bar)?)|Breve|Tee(Arrow)?|arrow|Left(RightVector|TeeVector|Vector(Bar)?)|Arrow(Bar|UpArrow)?))|Zcy|el(ta)?|D(otrahd)?|Jcy|fr|a(shv|rr|gger)))
859 | (e(s(cr|im|dot)|n(sp|g)|c(y|ir(c)?|olon|aron)|t(h|a)|o(pf|gon)|dot|u(ro|ml)|p(si(v|lon)?|lus|ar(sl)?)|e|D(ot|Dot)|q(s(im|lant(less|gtr))|c(irc|olon)|u(iv(DD)?|est|als)|vparsl)|f(Dot|r)|l(s(dot)?|inters|l)?|a(ster|cute)|r(Dot|arr)|g(s(dot)?|rave)?|x(cl|ist|p(onentiale|ectation))|m(sp(1(3|4))?|pty(set|v)?|acr))|E(s(cr|im)|c(y|irc|aron)|ta|o(pf|gon)|NG|dot|uml|TH|psilon|qu(ilibrium|al(Tilde)?)|fr|lement|acute|grave|x(ists|ponentialE)|m(pty(SmallSquare|VerySmallSquare)|acr)))
860 | (f(scr|nof|cy|ilig|o(pf|r(k(v)?|all))|jlig|partint|emale|f(ilig|l(ig|lig)|r)|l(tns|lig|at)|allingdotseq|r(own|a(sl|c(1(2|8|3|4|5|6)|78|2(3|5)|3(8|4|5)|45|5(8|6)))))|F(scr|cy|illed(SmallSquare|VerySmallSquare)|o(uriertrf|pf|rAll)|fr))
861 | (G(scr|c(y|irc|edil)|t|opf|dot|T|Jcy|fr|amma(d)?|reater(Greater|SlantEqual|Tilde|Equal(Less)?|FullEqual|Less)|g|breve)|g(s(cr|im(e|l)?)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|irc)|t(c(c|ir)|dot|quest|lPar|r(sim|dot|eq(qless|less)|less|a(pprox|rr)))?|imel|opf|dot|jcy|e(s(cc|dot(o(l)?)?|l(es)?)?|q(slant|q)?|l)?|v(nE|ertneqq)|fr|E(l)?|l(j|E|a)?|a(cute|p|mma(d)?)|rave|g(g)?|breve))
862 | (h(s(cr|trok|lash)|y(phen|bull)|circ|o(ok(leftarrow|rightarrow)|pf|arr|rbar|mtht)|e(llip|arts(uit)?|rcon)|ks(earow|warow)|fr|a(irsp|lf|r(dcy|r(cir|w)?)|milt)|bar|Arr)|H(s(cr|trok)|circ|ilbertSpace|o(pf|rizontalLine)|ump(DownHump|Equal)|fr|a(cek|t)|ARDcy))
863 | (i(s(cr|in(s(v)?|dot|v|E)?)|n(care|t(cal|prod|e(rcal|gers)|larhk)?|odot|fin(tie)?)?|c(y|irc)?|t(ilde)?|i(nfin|i(nt|int)|ota)?|o(cy|ta|pf|gon)|u(kcy|ml)|jlig|prod|e(cy|xcl)|quest|f(f|r)|acute|grave|m(of|ped|a(cr|th|g(part|e|line))))|I(scr|n(t(e(rsection|gral))?|visible(Comma|Times))|c(y|irc)|tilde|o(ta|pf|gon)|dot|u(kcy|ml)|Ocy|Jlig|fr|Ecy|acute|grave|m(plies|a(cr|ginaryI))?))
864 | (j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))
865 | (k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))
866 | (l(s(h|cr|trok|im(e|g)?|q(uo(r)?|b)|aquo)|h(ar(d|u(l)?)|blk)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|ub|e(il|dil)|aron)|Barr|t(hree|c(c|ir)|imes|dot|quest|larr|r(i(e|f)?|Par))?|Har|o(ng(left(arrow|rightarrow)|rightarrow|mapsto)|times|z(enge|f)?|oparrow(left|right)|p(f|lus|ar)|w(ast|bar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|r(dhar|ushar))|ur(dshar|uhar)|jcy|par(lt)?|e(s(s(sim|dot|eq(qgtr|gtr)|approx|gtr)|cc|dot(o(r)?)?|g(es)?)?|q(slant|q)?|ft(harpoon(down|up)|threetimes|leftarrows|arrow(tail)?|right(squigarrow|harpoons|arrow(s)?))|g)?|v(nE|ertneqq)|f(isht|loor|r)|E(g)?|l(hard|corner|tri|arr)?|a(ng(d|le)?|cute|t(e(s)?|ail)?|p|emptyv|quo|rr(sim|hk|tl|pl|fs|lp|b(fs)?)?|gran|mbda)|r(har(d)?|corner|tri|arr|m)|g(E)?|m(idot|oust(ache)?)|b(arr|r(k(sl(d|u)|e)|ac(e|k))|brk)|A(tail|arr|rr))|L(s(h|cr|trok)|c(y|edil|aron)|t|o(ng(RightArrow|left(arrow|rightarrow)|rightarrow|Left(RightArrow|Arrow))|pf|wer(RightArrow|LeftArrow))|T|e(ss(Greater|SlantEqual|Tilde|EqualGreater|FullEqual|Less)|ft(Right(Vector|Arrow)|Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|rightarrow|Floor|A(ngleBracket|rrow(RightArrow|Bar)?)))|Jcy|fr|l(eftarrow)?|a(ng|cute|placetrf|rr|mbda)|midot))
867 | (M(scr|cy|inusPlus|opf|u|e(diumSpace|llintrf)|fr|ap)|m(s(cr|tpos)|ho|nplus|c(y|omma)|i(nus(d(u)?|b)?|cro|d(cir|dot|ast)?)|o(dels|pf)|dash|u(ltimap|map)?|p|easuredangle|DDot|fr|l(cp|dr)|a(cr|p(sto(down|up|left)?)?|l(t(ese)?|e)|rker)))
868 | (n(s(hort(parallel|mid)|c(cue|e|r)?|im(e(q)?)?|u(cc(eq)?|p(set(eq(q)?)?|e|E)?|b(set(eq(q)?)?|e|E)?)|par|qsu(pe|be)|mid)|Rightarrow|h(par|arr|Arr)|G(t(v)?|g)|c(y|ong(dot)?|up|edil|a(p|ron))|t(ilde|lg|riangle(left(eq)?|right(eq)?)|gl)|i(s(d)?|v)?|o(t(ni(v(c|a|b))?|in(dot|v(c|a|b)|E)?)?|pf)|dash|u(m(sp|ero)?)?|jcy|p(olint|ar(sl|t|allel)?|r(cue|e(c(eq)?)?)?)|e(s(im|ear)|dot|quiv|ar(hk|r(ow)?)|xist(s)?|Arr)?|v(sim|infin|Harr|dash|Dash|l(t(rie)?|e|Arr)|ap|r(trie|Arr)|g(t|e))|fr|w(near|ar(hk|r(ow)?)|Arr)|V(dash|Dash)|l(sim|t(ri(e)?)?|dr|e(s(s)?|q(slant|q)?|ft(arrow|rightarrow))?|E|arr|Arr)|a(ng|cute|tur(al(s)?)?|p(id|os|prox|E)?|bla)|r(tri(e)?|ightarrow|arr(c|w)?|Arr)|g(sim|t(r)?|e(s|q(slant|q)?)?|E)|mid|L(t(v)?|eft(arrow|rightarrow)|l)|b(sp|ump(e)?))|N(scr|c(y|edil|aron)|tilde|o(nBreakingSpace|Break|t(R(ightTriangle(Bar|Equal)?|everseElement)|Greater(Greater|SlantEqual|Tilde|Equal|FullEqual|Less)?|S(u(cceeds(SlantEqual|Tilde|Equal)?|perset(Equal)?|bset(Equal)?)|quareSu(perset(Equal)?|bset(Equal)?))|Hump(DownHump|Equal)|Nested(GreaterGreater|LessLess)|C(ongruent|upCap)|Tilde(Tilde|Equal|FullEqual)?|DoubleVerticalBar|Precedes(SlantEqual|Equal)?|E(qual(Tilde)?|lement|xists)|VerticalBar|Le(ss(Greater|SlantEqual|Tilde|Equal|Less)?|ftTriangle(Bar|Equal)?))?|pf)|u|e(sted(GreaterGreater|LessLess)|wLine|gative(MediumSpace|Thi(nSpace|ckSpace)|VeryThinSpace))|Jcy|fr|acute))
869 | (o(s(cr|ol|lash)|h(m|bar)|c(y|ir(c)?)|ti(lde|mes(as)?)|S|int|opf|d(sold|iv|ot|ash|blac)|uml|p(erp|lus|ar)|elig|vbar|f(cir|r)|l(c(ir|ross)|t|ine|arr)|a(st|cute)|r(slope|igof|or|d(er(of)?|f|m)?|v|arr)?|g(t|on|rave)|m(i(nus|cron|d)|ega|acr))|O(s(cr|lash)|c(y|irc)|ti(lde|mes)|opf|dblac|uml|penCurly(DoubleQuote|Quote)|ver(B(ar|rac(e|ket))|Parenthesis)|fr|Elig|acute|r|grave|m(icron|ega|acr)))
870 | (p(s(cr|i)|h(i(v)?|one|mmat)|cy|i(tchfork|v)?|o(intint|und|pf)|uncsp|er(cnt|tenk|iod|p|mil)|fr|l(us(sim|cir|two|d(o|u)|e|acir|mn|b)?|an(ck(h)?|kv))|ar(s(im|l)|t|a(llel)?)?|r(sim|n(sim|E|ap)|cue|ime(s)?|o(d|p(to)?|f(surf|line|alar))|urel|e(c(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?)?|E|ap)?|m)|P(s(cr|i)|hi|cy|i|o(incareplane|pf)|fr|lusMinus|artialD|r(ime|o(duct|portion(al)?)|ecedes(SlantEqual|Tilde|Equal)?)?))
871 | (q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))
872 | (R(s(h|cr)|ho|c(y|edil|aron)|Barr|ight(Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|Floor|A(ngleBracket|rrow(Bar|LeftArrow)?))|o(undImplies|pf)|uleDelayed|e(verse(UpEquilibrium|E(quilibrium|lement)))?|fr|EG|a(ng|cute|rr(tl)?)|rightarrow)|r(s(h|cr|q(uo(r)?|b)|aquo)|h(o(v)?|ar(d|u(l)?))|nmid|c(y|ub|e(il|dil)|aron)|Barr|t(hree|imes|ri(e|f|ltri)?)|i(singdotseq|ng|ght(squigarrow|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(tail)?|rightarrows))|Har|o(times|p(f|lus|ar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|ldhar)|uluhar|p(polint|ar(gt)?)|e(ct|al(s|ine|part)?|g)|f(isht|loor|r)|l(har|arr|m)|a(ng(d|e|le)?|c(ute|e)|t(io(nals)?|ail)|dic|emptyv|quo|rr(sim|hk|c|tl|pl|fs|w|lp|ap|b(fs)?)?)|rarr|x|moust(ache)?|b(arr|r(k(sl(d|u)|e)|ac(e|k))|brk)|A(tail|arr|rr)))
873 | (s(s(cr|tarf|etmn|mile)|h(y|c(hcy|y)|ort(parallel|mid)|arp)|c(sim|y|n(sim|E|ap)|cue|irc|polint|e(dil)?|E|a(p|ron))?|t(ar(f)?|r(ns|aight(phi|epsilon)))|i(gma(v|f)?|m(ne|dot|plus|e(q)?|l(E)?|rarr|g(E)?)?)|zlig|o(pf|ftcy|l(b(ar)?)?)|dot(e|b)?|u(ng|cc(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?|p(s(im|u(p|b)|et(neq(q)?|eq(q)?)?)|hs(ol|ub)|1|n(e|E)|2|d(sub|ot)|3|plus|e(dot)?|E|larr|mult)?|m|b(s(im|u(p|b)|et(neq(q)?|eq(q)?)?)|n(e|E)|dot|plus|e(dot)?|E|rarr|mult)?)|pa(des(uit)?|r)|e(swar|ct|tm(n|inus)|ar(hk|r(ow)?)|xt|mi|Arr)|q(su(p(set(eq)?|e)?|b(set(eq)?|e)?)|c(up(s)?|ap(s)?)|u(f|ar(e|f))?)|fr(own)?|w(nwar|ar(hk|r(ow)?)|Arr)|larr|acute|rarr|m(t(e(s)?)?|i(d|le)|eparsl|a(shp|llsetminus))|bquo)|S(scr|hort(RightArrow|DownArrow|UpArrow|LeftArrow)|c(y|irc|edil|aron)?|tar|igma|H(cy|CHcy)|opf|u(c(hThat|ceeds(SlantEqual|Tilde|Equal)?)|p(set|erset(Equal)?)?|m|b(set(Equal)?)?)|OFTcy|q(uare(Su(perset(Equal)?|bset(Equal)?)|Intersection|Union)?|rt)|fr|acute|mallCircle))
874 | (t(s(hcy|c(y|r)|trok)|h(i(nsp|ck(sim|approx))|orn|e(ta(sym|v)?|re(4|fore))|k(sim|ap))|c(y|edil|aron)|i(nt|lde|mes(d|b(ar)?)?)|o(sa|p(cir|f(ork)?|bot)?|ea)|dot|prime|elrec|fr|w(ixt|ohead(leftarrow|rightarrow))|a(u|rget)|r(i(sb|time|dot|plus|e|angle(down|q|left(eq)?|right(eq)?)?|minus)|pezium|ade)|brk)|T(s(cr|trok)|RADE|h(i(nSpace|ckSpace)|e(ta|refore))|c(y|edil|aron)|S(cy|Hcy)|ilde(Tilde|Equal|FullEqual)?|HORN|opf|fr|a(u|b)|ripleDot))
875 | (u(scr|h(ar(l|r)|blk)|c(y|irc)|t(ilde|dot|ri(f)?)|Har|o(pf|gon)|d(har|arr|blac)|u(arr|ml)|p(si(h|lon)?|harpoon(left|right)|downarrow|uparrows|lus|arrow)|f(isht|r)|wangle|l(c(orn(er)?|rop)|tri)|a(cute|rr)|r(c(orn(er)?|rop)|tri|ing)|grave|m(l|acr)|br(cy|eve)|Arr)|U(scr|n(ion(Plus)?|der(B(ar|rac(e|ket))|Parenthesis))|c(y|irc)|tilde|o(pf|gon)|dblac|uml|p(si(lon)?|downarrow|Tee(Arrow)?|per(RightArrow|LeftArrow)|DownArrow|Equilibrium|arrow|Arrow(Bar|DownArrow)?)|fr|a(cute|rr(ocir)?)|ring|grave|macr|br(cy|eve)))
876 | (v(s(cr|u(pn(e|E)|bn(e|E)))|nsu(p|b)|cy|Bar(v)?|zigzag|opf|dash|prop|e(e(eq|bar)?|llip|r(t|bar))|Dash|fr|ltri|a(ngrt|r(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|t(heta|riangle(left|right))|p(hi|i|ropto)|epsilon|kappa|r(ho)?))|rtri|Arr)|V(scr|cy|opf|dash(l)?|e(e|r(yThinSpace|t(ical(Bar|Separator|Tilde|Line))?|bar))|Dash|vdash|fr|bar))
877 | (w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))
878 | (X(scr|i|opf|fr)|x(s(cr|qcup)|h(arr|Arr)|nis|c(irc|up|ap)|i|o(time|dot|p(f|lus))|dtri|u(tri|plus)|vee|fr|wedge|l(arr|Arr)|r(arr|Arr)|map))
879 | (y(scr|c(y|irc)|icy|opf|u(cy|ml)|en|fr|ac(y|ute))|Y(scr|c(y|irc)|opf|uml|Icy|Ucy|fr|acute|Acy))
880 | (z(scr|hcy|c(y|aron)|igrarr|opf|dot|e(ta|etrf)|fr|w(nj|j)|acute)|Z(scr|c(y|aron)|Hcy|opf|dot|e(ta|roWidthSpace)|fr|acute))
881 )
882 (;)
883 </string>
884 <key>name</key>
885 <string>constant.character.entity.named.$2.html</string>
886 </dict>
887 <dict>
888 <key>captures</key>
889 <dict>
890 <key>1</key>
891 <dict>
892 <key>name</key>
893 <string>punctuation.definition.entity.html</string>
894 </dict>
895 <key>3</key>
896 <dict>
897 <key>name</key>
898 <string>punctuation.definition.entity.html</string>
899 </dict>
900 </dict>
901 <key>match</key>
902 <string>(&amp;)#[0-9]+(;)</string>
903 <key>name</key>
904 <string>constant.character.entity.numeric.decimal.html</string>
905 </dict>
906 <dict>
907 <key>captures</key>
908 <dict>
909 <key>1</key>
910 <dict>
911 <key>name</key>
912 <string>punctuation.definition.entity.html</string>
913 </dict>
914 <key>3</key>
915 <dict>
916 <key>name</key>
917 <string>punctuation.definition.entity.html</string>
918 </dict>
919 </dict>
920 <key>match</key>
921 <string>(&amp;)#[xX][0-9a-fA-F]+(;)</string>
922 <key>name</key>
923 <string>constant.character.entity.numeric.hexadecimal.html</string>
924 </dict>
925 <dict>
926 <key>match</key>
927 <string>&amp;(?=[a-zA-Z0-9]+;)</string>
928 <key>name</key>
929 <string>invalid.illegal.ambiguous-ampersand.html</string>
930 </dict>
931 </array>
932 </dict>
933 <key>math</key>
934 <dict>
935 <key>patterns</key>
936 <array>
937 <dict>
938 <key>begin</key>
939 <string>(?i)(&lt;)(math)(?=\s|/?&gt;)(?:(([^"'&gt;]|"[^"]*"|'[^']*')*)(&gt;))?</string>
940 <key>beginCaptures</key>
941 <dict>
942 <key>0</key>
943 <dict>
944 <key>name</key>
945 <string>meta.tag.structure.$2.start.html</string>
946 </dict>
947 <key>1</key>
948 <dict>
949 <key>name</key>
950 <string>punctuation.definition.tag.begin.html</string>
951 </dict>
952 <key>2</key>
953 <dict>
954 <key>name</key>
955 <string>entity.name.tag.html</string>
956 </dict>
957 <key>3</key>
958 <dict>
959 <key>patterns</key>
960 <array>
961 <dict>
962 <key>include</key>
963 <string>#attribute</string>
964 </dict>
965 </array>
966 </dict>
967 <key>5</key>
968 <dict>
969 <key>name</key>
970 <string>punctuation.definition.tag.end.html</string>
971 </dict>
972 </dict>
973 <key>end</key>
974 <string>(?i)(&lt;/)(\2)\s*(&gt;)</string>
975 <key>endCaptures</key>
976 <dict>
977 <key>0</key>
978 <dict>
979 <key>name</key>
980 <string>meta.tag.structure.$2.end.html</string>
981 </dict>
982 <key>1</key>
983 <dict>
984 <key>name</key>
985 <string>punctuation.definition.tag.begin.html</string>
986 </dict>
987 <key>2</key>
988 <dict>
989 <key>name</key>
990 <string>entity.name.tag.html</string>
991 </dict>
992 <key>3</key>
993 <dict>
994 <key>name</key>
995 <string>punctuation.definition.tag.end.html</string>
996 </dict>
997 </dict>
998 <key>name</key>
999 <string>meta.element.structure.$2.html</string>
1000 <key>patterns</key>
1001 <array>
1002 <dict>
1003 <key>begin</key>
1004 <string>(?&lt;!&gt;)\G</string>
1005 <key>end</key>
1006 <string>&gt;</string>
1007 <key>endCaptures</key>
1008 <dict>
1009 <key>0</key>
1010 <dict>
1011 <key>name</key>
1012 <string>punctuation.definition.tag.end.html</string>
1013 </dict>
1014 </dict>
1015 <key>name</key>
1016 <string>meta.tag.structure.start.html</string>
1017 <key>patterns</key>
1018 <array>
1019 <dict>
1020 <key>include</key>
1021 <string>#attribute</string>
1022 </dict>
1023 </array>
1024 </dict>
1025 <dict>
1026 <key>include</key>
1027 <string>#tags</string>
1028 </dict>
1029 </array>
1030 </dict>
1031 </array>
1032 <key>repository</key>
1033 <dict>
1034 <key>attribute</key>
1035 <dict>
1036 <key>patterns</key>
1037 <array>
1038 <dict>
1039 <key>begin</key>
1040 <string>(s(hift|ymmetric|cript(sizemultiplier|level|minsize)|t(ackalign|retchy)|ide|u(pscriptshift|bscriptshift)|e(parator(s)?|lection)|rc)|h(eight|ref)|n(otation|umalign)|c(haralign|olumn(spa(n|cing)|width|lines|align)|lose|rossout)|i(n(dent(shift(first|last)?|target|align(first|last)?)|fixlinebreakstyle)|d)|o(pen|verflow)|d(i(splay(style)?|r)|e(nomalign|cimalpoint|pth))|position|e(dge|qual(columns|rows))|voffset|f(orm|ence|rame(spacing)?)|width|l(space|ine(thickness|leading|break(style|multchar)?)|o(ngdivstyle|cation)|ength|quote|argeop)|a(c(cent(under)?|tiontype)|l(t(text|img(-(height|valign|width))?)|ign(mentscope)?))|r(space|ow(spa(n|cing)|lines|align)|quote)|groupalign|x(link:href|mlns)|m(in(size|labelspacing)|ovablelimits|a(th(size|color|variant|background)|xsize))|bevelled)(?![\w:-])</string>
1041 <key>beginCaptures</key>
1042 <dict>
1043 <key>0</key>
1044 <dict>
1045 <key>name</key>
1046 <string>entity.other.attribute-name.html</string>
1047 </dict>
1048 </dict>
1049 <key>end</key>
1050 <string>(?=\s*+[^=\s])</string>
1051 <key>name</key>
1052 <string>meta.attribute.$1.html</string>
1053 <key>patterns</key>
1054 <array>
1055 <dict>
1056 <key>include</key>
1057 <string>#attribute-interior</string>
1058 </dict>
1059 </array>
1060 </dict>
1061 <dict>
1062 <key>begin</key>
1063 <string>([^\x{0020}"'&lt;&gt;/=\x{0000}-\x{001F}\x{007F}-\x{009F}\x{FDD0}-\x{FDEF}\x{FFFE}\x{FFFF}\x{1FFFE}\x{1FFFF}\x{2FFFE}\x{2FFFF}\x{3FFFE}\x{3FFFF}\x{4FFFE}\x{4FFFF}\x{5FFFE}\x{5FFFF}\x{6FFFE}\x{6FFFF}\x{7FFFE}\x{7FFFF}\x{8FFFE}\x{8FFFF}\x{9FFFE}\x{9FFFF}\x{AFFFE}\x{AFFFF}\x{BFFFE}\x{BFFFF}\x{CFFFE}\x{CFFFF}\x{DFFFE}\x{DFFFF}\x{EFFFE}\x{EFFFF}\x{FFFFE}\x{FFFFF}\x{10FFFE}\x{10FFFF}]+)</string>
1064 <key>beginCaptures</key>
1065 <dict>
1066 <key>0</key>
1067 <dict>
1068 <key>name</key>
1069 <string>entity.other.attribute-name.html</string>
1070 </dict>
1071 </dict>
1072 <key>comment</key>
1073 <string>Anything else that is valid</string>
1074 <key>end</key>
1075 <string>(?=\s*+[^=\s])</string>
1076 <key>name</key>
1077 <string>meta.attribute.unrecognized.$1.html</string>
1078 <key>patterns</key>
1079 <array>
1080 <dict>
1081 <key>include</key>
1082 <string>#attribute-interior</string>
1083 </dict>
1084 </array>
1085 </dict>
1086 <dict>
1087 <key>match</key>
1088 <string>[^\s&gt;]+</string>
1089 <key>name</key>
1090 <string>invalid.illegal.character-not-allowed-here.html</string>
1091 </dict>
1092 </array>
1093 </dict>
1094 <key>tags</key>
1095 <dict>
1096 <key>patterns</key>
1097 <array>
1098 <dict>
1099 <key>include</key>
1100 <string>#comment</string>
1101 </dict>
1102 <dict>
1103 <key>include</key>
1104 <string>#cdata</string>
1105 </dict>
1106 <dict>
1107 <key>captures</key>
1108 <dict>
1109 <key>0</key>
1110 <dict>
1111 <key>name</key>
1112 <string>meta.tag.structure.math.$2.void.html</string>
1113 </dict>
1114 <key>1</key>
1115 <dict>
1116 <key>name</key>
1117 <string>punctuation.definition.tag.begin.html</string>
1118 </dict>
1119 <key>2</key>
1120 <dict>
1121 <key>name</key>
1122 <string>entity.name.tag.html</string>
1123 </dict>
1124 <key>3</key>
1125 <dict>
1126 <key>patterns</key>
1127 <array>
1128 <dict>
1129 <key>include</key>
1130 <string>#attribute</string>
1131 </dict>
1132 </array>
1133 </dict>
1134 <key>5</key>
1135 <dict>
1136 <key>name</key>
1137 <string>punctuation.definition.tag.end.html</string>
1138 </dict>
1139 </dict>
1140 <key>match</key>
1141 <string>(?i)(&lt;)(annotation|annotation-xml|semantics|menclose|merror|mfenced|mfrac|mpadded|mphantom|mroot|mrow|msqrt|mstyle|mmultiscripts|mover|mprescripts|msub|msubsup|msup|munder|munderover|none|mlabeledtr|mtable|mtd|mtr|mlongdiv|mscarries|mscarry|msgroup|msline|msrow|mstack|maction)(?=\s|/?&gt;)(?:(([^"'&gt;]|"[^"]*"|'[^']*')*)(/&gt;))</string>
1142 <key>name</key>
1143 <string>meta.element.structure.math.$2.html</string>
1144 </dict>
1145 <dict>
1146 <key>begin</key>
1147 <string>(?i)(&lt;)(annotation|annotation-xml|semantics|menclose|merror|mfenced|mfrac|mpadded|mphantom|mroot|mrow|msqrt|mstyle|mmultiscripts|mover|mprescripts|msub|msubsup|msup|munder|munderover|none|mlabeledtr|mtable|mtd|mtr|mlongdiv|mscarries|mscarry|msgroup|msline|msrow|mstack|maction)(?=\s|/?&gt;)(?:(([^"'&gt;]|"[^"]*"|'[^']*')*)(&gt;))?</string>
1148 <key>beginCaptures</key>
1149 <dict>
1150 <key>0</key>
1151 <dict>
1152 <key>name</key>
1153 <string>meta.tag.structure.math.$2.start.html</string>
1154 </dict>
1155 <key>1</key>
1156 <dict>
1157 <key>name</key>
1158 <string>punctuation.definition.tag.begin.html</string>
1159 </dict>
1160 <key>2</key>
1161 <dict>
1162 <key>name</key>
1163 <string>entity.name.tag.html</string>
1164 </dict>
1165 <key>3</key>
1166 <dict>
1167 <key>patterns</key>
1168 <array>
1169 <dict>
1170 <key>include</key>
1171 <string>#attribute</string>
1172 </dict>
1173 </array>
1174 </dict>
1175 <key>5</key>
1176 <dict>
1177 <key>name</key>
1178 <string>punctuation.definition.tag.end.html</string>
1179 </dict>
1180 </dict>
1181 <key>end</key>
1182 <string>(?i)(&lt;/)(\2)\s*(&gt;)|(/&gt;)|(?=&lt;/\w+)</string>
1183 <key>endCaptures</key>
1184 <dict>
1185 <key>0</key>
1186 <dict>
1187 <key>name</key>
1188 <string>meta.tag.structure.math.$2.end.html</string>
1189 </dict>
1190 <key>1</key>
1191 <dict>
1192 <key>name</key>
1193 <string>punctuation.definition.tag.begin.html</string>
1194 </dict>
1195 <key>2</key>
1196 <dict>
1197 <key>name</key>
1198 <string>entity.name.tag.html</string>
1199 </dict>
1200 <key>3</key>
1201 <dict>
1202 <key>name</key>
1203 <string>punctuation.definition.tag.end.html</string>
1204 </dict>
1205 <key>4</key>
1206 <dict>
1207 <key>name</key>
1208 <string>punctuation.definition.tag.end.html</string>
1209 </dict>
1210 </dict>
1211 <key>name</key>
1212 <string>meta.element.structure.math.$2.html</string>
1213 <key>patterns</key>
1214 <array>
1215 <dict>
1216 <key>begin</key>
1217 <string>(?&lt;!&gt;)\G</string>
1218 <key>end</key>
1219 <string>(?=/&gt;)|&gt;</string>
1220 <key>endCaptures</key>
1221 <dict>
1222 <key>0</key>
1223 <dict>
1224 <key>name</key>
1225 <string>punctuation.definition.tag.end.html</string>
1226 </dict>
1227 </dict>
1228 <key>name</key>
1229 <string>meta.tag.structure.start.html</string>
1230 <key>patterns</key>
1231 <array>
1232 <dict>
1233 <key>include</key>
1234 <string>#attribute</string>
1235 </dict>
1236 </array>
1237 </dict>
1238 <dict>
1239 <key>include</key>
1240 <string>#tags</string>
1241 </dict>
1242 </array>
1243 </dict>
1244 <dict>
1245 <key>captures</key>
1246 <dict>
1247 <key>0</key>
1248 <dict>
1249 <key>name</key>
1250 <string>meta.tag.inline.math.$2.void.html</string>
1251 </dict>
1252 <key>1</key>
1253 <dict>
1254 <key>name</key>
1255 <string>punctuation.definition.tag.begin.html</string>
1256 </dict>
1257 <key>2</key>
1258 <dict>
1259 <key>name</key>
1260 <string>entity.name.tag.html</string>
1261 </dict>
1262 <key>3</key>
1263 <dict>
1264 <key>patterns</key>
1265 <array>
1266 <dict>
1267 <key>include</key>
1268 <string>#attribute</string>
1269 </dict>
1270 </array>
1271 </dict>
1272 <key>5</key>
1273 <dict>
1274 <key>name</key>
1275 <string>punctuation.definition.tag.end.html</string>
1276 </dict>
1277 </dict>
1278 <key>match</key>
1279 <string>(?i)(&lt;)(mi|mn|mo|ms|mspace|mtext|maligngroup|malignmark)(?=\s|/?&gt;)(?:(([^"'&gt;]|"[^"]*"|'[^']*')*)(/&gt;))</string>
1280 <key>name</key>
1281 <string>meta.element.inline.math.$2.html</string>
1282 </dict>
1283 <dict>
1284 <key>begin</key>
1285 <string>(?i)(&lt;)(mi|mn|mo|ms|mspace|mtext|maligngroup|malignmark)(?=\s|/?&gt;)(?:(([^"'&gt;]|"[^"]*"|'[^']*')*)(&gt;))?</string>
1286 <key>beginCaptures</key>
1287 <dict>
1288 <key>0</key>
1289 <dict>
1290 <key>name</key>
1291 <string>meta.tag.inline.math.$2.start.html</string>
1292 </dict>
1293 <key>1</key>
1294 <dict>
1295 <key>name</key>
1296 <string>punctuation.definition.tag.begin.html</string>
1297 </dict>
1298 <key>2</key>
1299 <dict>
1300 <key>name</key>
1301 <string>entity.name.tag.html</string>
1302 </dict>
1303 <key>3</key>
1304 <dict>
1305 <key>patterns</key>
1306 <array>
1307 <dict>
1308 <key>include</key>
1309 <string>#attribute</string>
1310 </dict>
1311 </array>
1312 </dict>
1313 <key>5</key>
1314 <dict>
1315 <key>name</key>
1316 <string>punctuation.definition.tag.end.html</string>
1317 </dict>
1318 </dict>
1319 <key>end</key>
1320 <string>(?i)(&lt;/)(\2)\s*(&gt;)|(/&gt;)|(?=&lt;/\w+)</string>
1321 <key>endCaptures</key>
1322 <dict>
1323 <key>0</key>
1324 <dict>
1325 <key>name</key>
1326 <string>meta.tag.inline.math.$2.end.html</string>
1327 </dict>
1328 <key>1</key>
1329 <dict>
1330 <key>name</key>
1331 <string>punctuation.definition.tag.begin.html</string>
1332 </dict>
1333 <key>2</key>
1334 <dict>
1335 <key>name</key>
1336 <string>entity.name.tag.html</string>
1337 </dict>
1338 <key>3</key>
1339 <dict>
1340 <key>name</key>
1341 <string>punctuation.definition.tag.end.html</string>
1342 </dict>
1343 <key>4</key>
1344 <dict>
1345 <key>name</key>
1346 <string>punctuation.definition.tag.end.html</string>
1347 </dict>
1348 </dict>
1349 <key>name</key>
1350 <string>meta.element.inline.math.$2.html</string>
1351 <key>patterns</key>
1352 <array>
1353 <dict>
1354 <key>begin</key>
1355 <string>(?&lt;!&gt;)\G</string>
1356 <key>end</key>
1357 <string>(?=/&gt;)|&gt;</string>
1358 <key>endCaptures</key>
1359 <dict>
1360 <key>0</key>
1361 <dict>
1362 <key>name</key>
1363 <string>punctuation.definition.tag.end.html</string>
1364 </dict>
1365 </dict>
1366 <key>name</key>
1367 <string>meta.tag.inline.start.html</string>
1368 <key>patterns</key>
1369 <array>
1370 <dict>
1371 <key>include</key>
1372 <string>#attribute</string>
1373 </dict>
1374 </array>
1375 </dict>
1376 <dict>
1377 <key>include</key>
1378 <string>#tags</string>
1379 </dict>
1380 </array>
1381 </dict>
1382 <dict>
1383 <key>captures</key>
1384 <dict>
1385 <key>0</key>
1386 <dict>
1387 <key>name</key>
1388 <string>meta.tag.object.math.$2.void.html</string>
1389 </dict>
1390 <key>1</key>
1391 <dict>
1392 <key>name</key>
1393 <string>punctuation.definition.tag.begin.html</string>
1394 </dict>
1395 <key>2</key>
1396 <dict>
1397 <key>name</key>
1398 <string>entity.name.tag.html</string>
1399 </dict>
1400 <key>3</key>
1401 <dict>
1402 <key>patterns</key>
1403 <array>
1404 <dict>
1405 <key>include</key>
1406 <string>#attribute</string>
1407 </dict>
1408 </array>
1409 </dict>
1410 <key>5</key>
1411 <dict>
1412 <key>name</key>
1413 <string>punctuation.definition.tag.end.html</string>
1414 </dict>
1415 </dict>
1416 <key>match</key>
1417 <string>(?i)(&lt;)(mglyph)(?=\s|/?&gt;)(?:(([^"'&gt;]|"[^"]*"|'[^']*')*)(/&gt;))</string>
1418 <key>name</key>
1419 <string>meta.element.object.math.$2.html</string>
1420 </dict>
1421 <dict>
1422 <key>begin</key>
1423 <string>(?i)(&lt;)(mglyph)(?=\s|/?&gt;)(?:(([^"'&gt;]|"[^"]*"|'[^']*')*)(&gt;))?</string>
1424 <key>beginCaptures</key>
1425 <dict>
1426 <key>0</key>
1427 <dict>
1428 <key>name</key>
1429 <string>meta.tag.object.math.$2.start.html</string>
1430 </dict>
1431 <key>1</key>
1432 <dict>
1433 <key>name</key>
1434 <string>punctuation.definition.tag.begin.html</string>
1435 </dict>
1436 <key>2</key>
1437 <dict>
1438 <key>name</key>
1439 <string>entity.name.tag.html</string>
1440 </dict>
1441 <key>3</key>
1442 <dict>
1443 <key>patterns</key>
1444 <array>
1445 <dict>
1446 <key>include</key>
1447 <string>#attribute</string>
1448 </dict>
1449 </array>
1450 </dict>
1451 <key>5</key>
1452 <dict>
1453 <key>name</key>
1454 <string>punctuation.definition.tag.end.html</string>
1455 </dict>
1456 </dict>
1457 <key>end</key>
1458 <string>(?i)(&lt;/)(\2)\s*(&gt;)|(/&gt;)|(?=&lt;/\w+)</string>
1459 <key>endCaptures</key>
1460 <dict>
1461 <key>0</key>
1462 <dict>
1463 <key>name</key>
1464 <string>meta.tag.object.math.$2.end.html</string>
1465 </dict>
1466 <key>1</key>
1467 <dict>
1468 <key>name</key>
1469 <string>punctuation.definition.tag.begin.html</string>
1470 </dict>
1471 <key>2</key>
1472 <dict>
1473 <key>name</key>
1474 <string>entity.name.tag.html</string>
1475 </dict>
1476 <key>3</key>
1477 <dict>
1478 <key>name</key>
1479 <string>punctuation.definition.tag.end.html</string>
1480 </dict>
1481 <key>4</key>
1482 <dict>
1483 <key>name</key>
1484 <string>punctuation.definition.tag.end.html</string>
1485 </dict>
1486 </dict>
1487 <key>name</key>
1488 <string>meta.element.object.math.$2.html</string>
1489 <key>patterns</key>
1490 <array>
1491 <dict>
1492 <key>begin</key>
1493 <string>(?&lt;!&gt;)\G</string>
1494 <key>end</key>
1495 <string>(?=/&gt;)|&gt;</string>
1496 <key>endCaptures</key>
1497 <dict>
1498 <key>0</key>
1499 <dict>
1500 <key>name</key>
1501 <string>punctuation.definition.tag.end.html</string>
1502 </dict>
1503 </dict>
1504 <key>name</key>
1505 <string>meta.tag.object.start.html</string>
1506 <key>patterns</key>
1507 <array>
1508 <dict>
1509 <key>include</key>
1510 <string>#attribute</string>
1511 </dict>
1512 </array>
1513 </dict>
1514 <dict>
1515 <key>include</key>
1516 <string>#tags</string>
1517 </dict>
1518 </array>
1519 </dict>
1520 <dict>
1521 <key>captures</key>
1522 <dict>
1523 <key>0</key>
1524 <dict>
1525 <key>name</key>
1526 <string>meta.tag.other.invalid.void.html</string>
1527 </dict>
1528 <key>1</key>
1529 <dict>
1530 <key>name</key>
1531 <string>punctuation.definition.tag.begin.html</string>
1532 </dict>
1533 <key>2</key>
1534 <dict>
1535 <key>name</key>
1536 <string>entity.name.tag.html</string>
1537 </dict>
1538 <key>3</key>
1539 <dict>
1540 <key>name</key>
1541 <string>invalid.illegal.unrecognized-tag.html</string>
1542 </dict>
1543 <key>4</key>
1544 <dict>
1545 <key>patterns</key>
1546 <array>
1547 <dict>
1548 <key>include</key>
1549 <string>#attribute</string>
1550 </dict>
1551 </array>
1552 </dict>
1553 <key>6</key>
1554 <dict>
1555 <key>name</key>
1556 <string>punctuation.definition.tag.end.html</string>
1557 </dict>
1558 </dict>
1559 <key>match</key>
1560 <string>(?i)(&lt;)(([\w:]+))(?=\s|/?&gt;)(?:(([^"'&gt;]|"[^"]*"|'[^']*')*)(/&gt;))</string>
1561 <key>name</key>
1562 <string>meta.element.other.invalid.html</string>
1563 </dict>
1564 <dict>
1565 <key>begin</key>
1566 <string>(?i)(&lt;)((\w[^\s&gt;]*))(?=\s|/?&gt;)(?:(([^"'&gt;]|"[^"]*"|'[^']*')*)(&gt;))?</string>
1567 <key>beginCaptures</key>
1568 <dict>
1569 <key>0</key>
1570 <dict>
1571 <key>name</key>
1572 <string>meta.tag.other.invalid.start.html</string>
1573 </dict>
1574 <key>1</key>
1575 <dict>
1576 <key>name</key>
1577 <string>punctuation.definition.tag.begin.html</string>
1578 </dict>
1579 <key>2</key>
1580 <dict>
1581 <key>name</key>
1582 <string>entity.name.tag.html</string>
1583 </dict>
1584 <key>3</key>
1585 <dict>
1586 <key>name</key>
1587 <string>invalid.illegal.unrecognized-tag.html</string>
1588 </dict>
1589 <key>4</key>
1590 <dict>
1591 <key>patterns</key>
1592 <array>
1593 <dict>
1594 <key>include</key>
1595 <string>#attribute</string>
1596 </dict>
1597 </array>
1598 </dict>
1599 <key>6</key>
1600 <dict>
1601 <key>name</key>
1602 <string>punctuation.definition.tag.end.html</string>
1603 </dict>
1604 </dict>
1605 <key>end</key>
1606 <string>(?i)(&lt;/)((\2))\s*(&gt;)|(/&gt;)|(?=&lt;/\w+)</string>
1607 <key>endCaptures</key>
1608 <dict>
1609 <key>0</key>
1610 <dict>
1611 <key>name</key>
1612 <string>meta.tag.other.invalid.end.html</string>
1613 </dict>
1614 <key>1</key>
1615 <dict>
1616 <key>name</key>
1617 <string>punctuation.definition.tag.begin.html</string>
1618 </dict>
1619 <key>2</key>
1620 <dict>
1621 <key>name</key>
1622 <string>entity.name.tag.html</string>
1623 </dict>
1624 <key>3</key>
1625 <dict>
1626 <key>name</key>
1627 <string>invalid.illegal.unrecognized-tag.html</string>
1628 </dict>
1629 <key>4</key>
1630 <dict>
1631 <key>name</key>
1632 <string>punctuation.definition.tag.end.html</string>
1633 </dict>
1634 <key>5</key>
1635 <dict>
1636 <key>name</key>
1637 <string>punctuation.definition.tag.end.html</string>
1638 </dict>
1639 </dict>
1640 <key>name</key>
1641 <string>meta.element.other.invalid.html</string>
1642 <key>patterns</key>
1643 <array>
1644 <dict>
1645 <key>begin</key>
1646 <string>(?&lt;!&gt;)\G</string>
1647 <key>end</key>
1648 <string>(?=/&gt;)|&gt;</string>
1649 <key>endCaptures</key>
1650 <dict>
1651 <key>0</key>
1652 <dict>
1653 <key>name</key>
1654 <string>punctuation.definition.tag.end.html</string>
1655 </dict>
1656 </dict>
1657 <key>name</key>
1658 <string>meta.tag.other.invalid.start.html</string>
1659 <key>patterns</key>
1660 <array>
1661 <dict>
1662 <key>include</key>
1663 <string>#attribute</string>
1664 </dict>
1665 </array>
1666 </dict>
1667 <dict>
1668 <key>include</key>
1669 <string>#tags</string>
1670 </dict>
1671 </array>
1672 </dict>
1673 <dict>
1674 <key>include</key>
1675 <string>#tags-invalid</string>
1676 </dict>
1677 </array>
1678 </dict>
1679 </dict>
1680 </dict>
1681 <key>svg</key>
1682 <dict>
1683 <key>patterns</key>
1684 <array>
1685 <dict>
1686 <key>begin</key>
1687 <string>(?i)(&lt;)(svg)(?=\s|/?&gt;)(?:(([^"'&gt;]|"[^"]*"|'[^']*')*)(&gt;))?</string>
1688 <key>beginCaptures</key>
1689 <dict>
1690 <key>0</key>
1691 <dict>
1692 <key>name</key>
1693 <string>meta.tag.structure.$2.start.html</string>
1694 </dict>
1695 <key>1</key>
1696 <dict>
1697 <key>name</key>
1698 <string>punctuation.definition.tag.begin.html</string>
1699 </dict>
1700 <key>2</key>
1701 <dict>
1702 <key>name</key>
1703 <string>entity.name.tag.html</string>
1704 </dict>
1705 <key>3</key>
1706 <dict>
1707 <key>patterns</key>
1708 <array>
1709 <dict>
1710 <key>include</key>
1711 <string>#attribute</string>
1712 </dict>
1713 </array>
1714 </dict>
1715 <key>5</key>
1716 <dict>
1717 <key>name</key>
1718 <string>punctuation.definition.tag.end.html</string>
1719 </dict>
1720 </dict>
1721 <key>end</key>
1722 <string>(?i)(&lt;/)(\2)\s*(&gt;)</string>
1723 <key>endCaptures</key>
1724 <dict>
1725 <key>0</key>
1726 <dict>
1727 <key>name</key>
1728 <string>meta.tag.structure.$2.end.html</string>
1729 </dict>
1730 <key>1</key>
1731 <dict>
1732 <key>name</key>
1733 <string>punctuation.definition.tag.begin.html</string>
1734 </dict>
1735 <key>2</key>
1736 <dict>
1737 <key>name</key>
1738 <string>entity.name.tag.html</string>
1739 </dict>
1740 <key>3</key>
1741 <dict>
1742 <key>name</key>
1743 <string>punctuation.definition.tag.end.html</string>
1744 </dict>
1745 </dict>
1746 <key>name</key>
1747 <string>meta.element.structure.$2.html</string>
1748 <key>patterns</key>
1749 <array>
1750 <dict>
1751 <key>begin</key>
1752 <string>(?&lt;!&gt;)\G</string>
1753 <key>end</key>
1754 <string>&gt;</string>
1755 <key>endCaptures</key>
1756 <dict>
1757 <key>0</key>
1758 <dict>
1759 <key>name</key>
1760 <string>punctuation.definition.tag.end.html</string>
1761 </dict>
1762 </dict>
1763 <key>name</key>
1764 <string>meta.tag.structure.start.html</string>
1765 <key>patterns</key>
1766 <array>
1767 <dict>
1768 <key>include</key>
1769 <string>#attribute</string>
1770 </dict>
1771 </array>
1772 </dict>
1773 <dict>
1774 <key>include</key>
1775 <string>#tags</string>
1776 </dict>
1777 </array>
1778 </dict>
1779 </array>
1780 <key>repository</key>
1781 <dict>
1782 <key>attribute</key>
1783 <dict>
1784 <key>patterns</key>
1785 <array>
1786 <dict>
1787 <key>begin</key>
1788 <string>(s(hape-rendering|ystemLanguage|cale|t(yle|itchTiles|op-(color|opacity)|dDeviation|em(h|v)|artOffset|r(i(ng|kethrough-(thickness|position))|oke(-(opacity|dash(offset|array)|width|line(cap|join)|miterlimit))?))|urfaceScale|p(e(cular(Constant|Exponent)|ed)|acing|readMethod)|eed|lope)|h(oriz-(origin-x|adv-x)|eight|anging|ref(lang)?)|y(1|2|ChannelSelector)?|n(umOctaves|ame)|c(y|o(ntentS(criptType|tyleType)|lor(-(interpolation(-filters)?|profile|rendering))?)|ursor|l(ip(-(path|rule)|PathUnits)?|ass)|a(p-height|lcMode)|x)|t(ype|o|ext(-(decoration|anchor|rendering)|Length)|a(rget(X|Y)?|b(index|leValues))|ransform)|i(n(tercept|2)?|d(eographic)?|mage-rendering)|z(oomAndPan)?|o(p(erator|acity)|ver(flow|line-(thickness|position))|ffset|r(i(ent(ation)?|gin)|der))|d(y|i(splay|visor|ffuseConstant|rection)|ominant-baseline|ur|e(scent|celerate)|x)?|u(1|n(i(code(-(range|bidi))?|ts-per-em)|derline-(thickness|position))|2)|p(ing|oint(s(At(X|Y|Z))?|er-events)|a(nose-1|t(h(Length)?|tern(ContentUnits|Transform|Units))|int-order)|r(imitiveUnits|eserveA(spectRatio|lpha)))|e(n(d|able-background)|dgeMode|levation|x(ternalResourcesRequired|ponent))|v(i(sibility|ew(Box|Target))|-(hanging|ideographic|alphabetic|mathematical)|e(ctor-effect|r(sion|t-(origin-(y|x)|adv-y)))|alues)|k(1|2|3|e(y(Splines|Times|Points)|rn(ing|el(Matrix|UnitLength)))|4)?|f(y|il(ter(Res|Units)?|l(-(opacity|rule))?)|o(nt-(s(t(yle|retch)|ize(-adjust)?)|variant|family|weight)|rmat)|lood-(color|opacity)|r(om)?|x)|w(idth(s)?|ord-spacing|riting-mode)|l(i(ghting-color|mitingConeAngle)|ocal|e(ngthAdjust|tter-spacing)|ang)|a(scent|cc(umulate|ent-height)|ttribute(Name|Type)|zimuth|dditive|utoReverse|l(ignment-baseline|phabetic|lowReorder)|rabic-form|mplitude)|r(y|otate|e(s(tart|ult)|ndering-intent|peat(Count|Dur)|quired(Extensions|Features)|f(X|Y|errerPolicy)|l)|adius|x)?|g(1|2|lyph(Ref|-(name|orientation-(horizontal|vertical)))|radient(Transform|Units))|x(1|2|ChannelSelector|-height|link:(show|href|t(ype|itle)|a(ctuate|rcrole)|role)|ml:(space|lang|base))?|m(in|ode|e(thod|dia)|a(sk(ContentUnits|Units)?|thematical|rker(Height|-(start|end|mid)|Units|Width)|x))|b(y|ias|egin|ase(Profile|line-shift|Frequency)|box))(?![\w:-])</string>
1789 <key>beginCaptures</key>
1790 <dict>
1791 <key>0</key>
1792 <dict>
1793 <key>name</key>
1794 <string>entity.other.attribute-name.html</string>
1795 </dict>
1796 </dict>
1797 <key>end</key>
1798 <string>(?=\s*+[^=\s])</string>
1799 <key>name</key>
1800 <string>meta.attribute.$1.html</string>
1801 <key>patterns</key>
1802 <array>
1803 <dict>
1804 <key>include</key>
1805 <string>#attribute-interior</string>
1806 </dict>
1807 </array>
1808 </dict>
1809 <dict>
1810 <key>begin</key>
1811 <string>([^\x{0020}"'&lt;&gt;/=\x{0000}-\x{001F}\x{007F}-\x{009F}\x{FDD0}-\x{FDEF}\x{FFFE}\x{FFFF}\x{1FFFE}\x{1FFFF}\x{2FFFE}\x{2FFFF}\x{3FFFE}\x{3FFFF}\x{4FFFE}\x{4FFFF}\x{5FFFE}\x{5FFFF}\x{6FFFE}\x{6FFFF}\x{7FFFE}\x{7FFFF}\x{8FFFE}\x{8FFFF}\x{9FFFE}\x{9FFFF}\x{AFFFE}\x{AFFFF}\x{BFFFE}\x{BFFFF}\x{CFFFE}\x{CFFFF}\x{DFFFE}\x{DFFFF}\x{EFFFE}\x{EFFFF}\x{FFFFE}\x{FFFFF}\x{10FFFE}\x{10FFFF}]+)</string>
1812 <key>beginCaptures</key>
1813 <dict>
1814 <key>0</key>
1815 <dict>
1816 <key>name</key>
1817 <string>entity.other.attribute-name.html</string>
1818 </dict>
1819 </dict>
1820 <key>comment</key>
1821 <string>Anything else that is valid</string>
1822 <key>end</key>
1823 <string>(?=\s*+[^=\s])</string>
1824 <key>name</key>
1825 <string>meta.attribute.unrecognized.$1.html</string>
1826 <key>patterns</key>
1827 <array>
1828 <dict>
1829 <key>include</key>
1830 <string>#attribute-interior</string>
1831 </dict>
1832 </array>
1833 </dict>
1834 <dict>
1835 <key>match</key>
1836 <string>[^\s&gt;]+</string>
1837 <key>name</key>
1838 <string>invalid.illegal.character-not-allowed-here.html</string>
1839 </dict>
1840 </array>
1841 </dict>
1842 <key>tags</key>
1843 <dict>
1844 <key>patterns</key>
1845 <array>
1846 <dict>
1847 <key>include</key>
1848 <string>#comment</string>
1849 </dict>
1850 <dict>
1851 <key>include</key>
1852 <string>#cdata</string>
1853 </dict>
1854 <dict>
1855 <key>captures</key>
1856 <dict>
1857 <key>0</key>
1858 <dict>
1859 <key>name</key>
1860 <string>meta.tag.metadata.svg.$2.void.html</string>
1861 </dict>
1862 <key>1</key>
1863 <dict>
1864 <key>name</key>
1865 <string>punctuation.definition.tag.begin.html</string>
1866 </dict>
1867 <key>2</key>
1868 <dict>
1869 <key>name</key>
1870 <string>entity.name.tag.html</string>
1871 </dict>
1872 <key>3</key>
1873 <dict>
1874 <key>patterns</key>
1875 <array>
1876 <dict>
1877 <key>include</key>
1878 <string>#attribute</string>
1879 </dict>
1880 </array>
1881 </dict>
1882 <key>5</key>
1883 <dict>
1884 <key>name</key>
1885 <string>punctuation.definition.tag.end.html</string>
1886 </dict>
1887 </dict>
1888 <key>match</key>
1889 <string>(?i)(&lt;)(color-profile|desc|metadata|script|style|title)(?=\s|/?&gt;)(?:(([^"'&gt;]|"[^"]*"|'[^']*')*)(/&gt;))</string>
1890 <key>name</key>
1891 <string>meta.element.metadata.svg.$2.html</string>
1892 </dict>
1893 <dict>
1894 <key>begin</key>
1895 <string>(?i)(&lt;)(color-profile|desc|metadata|script|style|title)(?=\s|/?&gt;)(?:(([^"'&gt;]|"[^"]*"|'[^']*')*)(&gt;))?</string>
1896 <key>beginCaptures</key>
1897 <dict>
1898 <key>0</key>
1899 <dict>
1900 <key>name</key>
1901 <string>meta.tag.metadata.svg.$2.start.html</string>
1902 </dict>
1903 <key>1</key>
1904 <dict>
1905 <key>name</key>
1906 <string>punctuation.definition.tag.begin.html</string>
1907 </dict>
1908 <key>2</key>
1909 <dict>
1910 <key>name</key>
1911 <string>entity.name.tag.html</string>
1912 </dict>
1913 <key>3</key>
1914 <dict>
1915 <key>patterns</key>
1916 <array>
1917 <dict>
1918 <key>include</key>
1919 <string>#attribute</string>
1920 </dict>
1921 </array>
1922 </dict>
1923 <key>5</key>
1924 <dict>
1925 <key>name</key>
1926 <string>punctuation.definition.tag.end.html</string>
1927 </dict>
1928 </dict>
1929 <key>end</key>
1930 <string>(?i)(&lt;/)(\2)\s*(&gt;)|(/&gt;)|(?=&lt;/\w+)</string>
1931 <key>endCaptures</key>
1932 <dict>
1933 <key>0</key>
1934 <dict>
1935 <key>name</key>
1936 <string>meta.tag.metadata.svg.$2.end.html</string>
1937 </dict>
1938 <key>1</key>
1939 <dict>
1940 <key>name</key>
1941 <string>punctuation.definition.tag.begin.html</string>
1942 </dict>
1943 <key>2</key>
1944 <dict>
1945 <key>name</key>
1946 <string>entity.name.tag.html</string>
1947 </dict>
1948 <key>3</key>
1949 <dict>
1950 <key>name</key>
1951 <string>punctuation.definition.tag.end.html</string>
1952 </dict>
1953 <key>4</key>
1954 <dict>
1955 <key>name</key>
1956 <string>punctuation.definition.tag.end.html</string>
1957 </dict>
1958 </dict>
1959 <key>name</key>
1960 <string>meta.element.metadata.svg.$2.html</string>
1961 <key>patterns</key>
1962 <array>
1963 <dict>
1964 <key>begin</key>
1965 <string>(?&lt;!&gt;)\G</string>
1966 <key>end</key>
1967 <string>(?=/&gt;)|&gt;</string>
1968 <key>endCaptures</key>
1969 <dict>
1970 <key>0</key>
1971 <dict>
1972 <key>name</key>
1973 <string>punctuation.definition.tag.end.html</string>
1974 </dict>
1975 </dict>
1976 <key>name</key>
1977 <string>meta.tag.metadata.start.html</string>
1978 <key>patterns</key>
1979 <array>
1980 <dict>
1981 <key>include</key>
1982 <string>#attribute</string>
1983 </dict>
1984 </array>
1985 </dict>
1986 <dict>
1987 <key>include</key>
1988 <string>#tags</string>
1989 </dict>
1990 </array>
1991 </dict>
1992 <dict>
1993 <key>captures</key>
1994 <dict>
1995 <key>0</key>
1996 <dict>
1997 <key>name</key>
1998 <string>meta.tag.structure.svg.$2.void.html</string>
1999 </dict>
2000 <key>1</key>
2001 <dict>
2002 <key>name</key>
2003 <string>punctuation.definition.tag.begin.html</string>
2004 </dict>
2005 <key>2</key>
2006 <dict>
2007 <key>name</key>
2008 <string>entity.name.tag.html</string>
2009 </dict>
2010 <key>3</key>
2011 <dict>
2012 <key>patterns</key>
2013 <array>
2014 <dict>
2015 <key>include</key>
2016 <string>#attribute</string>
2017 </dict>
2018 </array>
2019 </dict>
2020 <key>5</key>
2021 <dict>
2022 <key>name</key>
2023 <string>punctuation.definition.tag.end.html</string>
2024 </dict>
2025 </dict>
2026 <key>match</key>
2027 <string>(?i)(&lt;)(animateMotion|clipPath|defs|feComponentTransfer|feDiffuseLighting|feMerge|feSpecularLighting|filter|g|hatch|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|pattern|radialGradient|switch|text|textPath)(?=\s|/?&gt;)(?:(([^"'&gt;]|"[^"]*"|'[^']*')*)(/&gt;))</string>
2028 <key>name</key>
2029 <string>meta.element.structure.svg.$2.html</string>
2030 </dict>
2031 <dict>
2032 <key>begin</key>
2033 <string>(?i)(&lt;)(animateMotion|clipPath|defs|feComponentTransfer|feDiffuseLighting|feMerge|feSpecularLighting|filter|g|hatch|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|pattern|radialGradient|switch|text|textPath)(?=\s|/?&gt;)(?:(([^"'&gt;]|"[^"]*"|'[^']*')*)(&gt;))?</string>
2034 <key>beginCaptures</key>
2035 <dict>
2036 <key>0</key>
2037 <dict>
2038 <key>name</key>
2039 <string>meta.tag.structure.svg.$2.start.html</string>
2040 </dict>
2041 <key>1</key>
2042 <dict>
2043 <key>name</key>
2044 <string>punctuation.definition.tag.begin.html</string>
2045 </dict>
2046 <key>2</key>
2047 <dict>
2048 <key>name</key>
2049 <string>entity.name.tag.html</string>
2050 </dict>
2051 <key>3</key>
2052 <dict>
2053 <key>patterns</key>
2054 <array>
2055 <dict>
2056 <key>include</key>
2057 <string>#attribute</string>
2058 </dict>
2059 </array>
2060 </dict>
2061 <key>5</key>
2062 <dict>
2063 <key>name</key>
2064 <string>punctuation.definition.tag.end.html</string>
2065 </dict>
2066 </dict>
2067 <key>end</key>
2068 <string>(?i)(&lt;/)(\2)\s*(&gt;)|(/&gt;)|(?=&lt;/\w+)</string>
2069 <key>endCaptures</key>
2070 <dict>
2071 <key>0</key>
2072 <dict>
2073 <key>name</key>
2074 <string>meta.tag.structure.svg.$2.end.html</string>
2075 </dict>
2076 <key>1</key>
2077 <dict>
2078 <key>name</key>
2079 <string>punctuation.definition.tag.begin.html</string>
2080 </dict>
2081 <key>2</key>
2082 <dict>
2083 <key>name</key>
2084 <string>entity.name.tag.html</string>
2085 </dict>
2086 <key>3</key>
2087 <dict>
2088 <key>name</key>
2089 <string>punctuation.definition.tag.end.html</string>
2090 </dict>
2091 <key>4</key>
2092 <dict>
2093 <key>name</key>
2094 <string>punctuation.definition.tag.end.html</string>
2095 </dict>
2096 </dict>
2097 <key>name</key>
2098 <string>meta.element.structure.svg.$2.html</string>
2099 <key>patterns</key>
2100 <array>
2101 <dict>
2102 <key>begin</key>
2103 <string>(?&lt;!&gt;)\G</string>
2104 <key>end</key>
2105 <string>(?=/&gt;)|&gt;</string>
2106 <key>endCaptures</key>
2107 <dict>
2108 <key>0</key>
2109 <dict>
2110 <key>name</key>
2111 <string>punctuation.definition.tag.end.html</string>
2112 </dict>
2113 </dict>
2114 <key>name</key>
2115 <string>meta.tag.structure.start.html</string>
2116 <key>patterns</key>
2117 <array>
2118 <dict>
2119 <key>include</key>
2120 <string>#attribute</string>
2121 </dict>
2122 </array>
2123 </dict>
2124 <dict>
2125 <key>include</key>
2126 <string>#tags</string>
2127 </dict>
2128 </array>
2129 </dict>
2130 <dict>
2131 <key>captures</key>
2132 <dict>
2133 <key>0</key>
2134 <dict>
2135 <key>name</key>
2136 <string>meta.tag.inline.svg.$2.void.html</string>
2137 </dict>
2138 <key>1</key>
2139 <dict>
2140 <key>name</key>
2141 <string>punctuation.definition.tag.begin.html</string>
2142 </dict>
2143 <key>2</key>
2144 <dict>
2145 <key>name</key>
2146 <string>entity.name.tag.html</string>
2147 </dict>
2148 <key>3</key>
2149 <dict>
2150 <key>patterns</key>
2151 <array>
2152 <dict>
2153 <key>include</key>
2154 <string>#attribute</string>
2155 </dict>
2156 </array>
2157 </dict>
2158 <key>5</key>
2159 <dict>
2160 <key>name</key>
2161 <string>punctuation.definition.tag.end.html</string>
2162 </dict>
2163 </dict>
2164 <key>match</key>
2165 <string>(?i)(&lt;)(a|animate|discard|feBlend|feColorMatrix|feComposite|feConvolveMatrix|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feMergeNode|feMorphology|feOffset|fePointLight|feSpotLight|feTile|feTurbulence|hatchPath|mpath|set|solidcolor|stop|tspan)(?=\s|/?&gt;)(?:(([^"'&gt;]|"[^"]*"|'[^']*')*)(/&gt;))</string>
2166 <key>name</key>
2167 <string>meta.element.inline.svg.$2.html</string>
2168 </dict>
2169 <dict>
2170 <key>begin</key>
2171 <string>(?i)(&lt;)(a|animate|discard|feBlend|feColorMatrix|feComposite|feConvolveMatrix|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feMergeNode|feMorphology|feOffset|fePointLight|feSpotLight|feTile|feTurbulence|hatchPath|mpath|set|solidcolor|stop|tspan)(?=\s|/?&gt;)(?:(([^"'&gt;]|"[^"]*"|'[^']*')*)(&gt;))?</string>
2172 <key>beginCaptures</key>
2173 <dict>
2174 <key>0</key>
2175 <dict>
2176 <key>name</key>
2177 <string>meta.tag.inline.svg.$2.start.html</string>
2178 </dict>
2179 <key>1</key>
2180 <dict>
2181 <key>name</key>
2182 <string>punctuation.definition.tag.begin.html</string>
2183 </dict>
2184 <key>2</key>
2185 <dict>
2186 <key>name</key>
2187 <string>entity.name.tag.html</string>
2188 </dict>
2189 <key>3</key>
2190 <dict>
2191 <key>patterns</key>
2192 <array>
2193 <dict>
2194 <key>include</key>
2195 <string>#attribute</string>
2196 </dict>
2197 </array>
2198 </dict>
2199 <key>5</key>
2200 <dict>
2201 <key>name</key>
2202 <string>punctuation.definition.tag.end.html</string>
2203 </dict>
2204 </dict>
2205 <key>end</key>
2206 <string>(?i)(&lt;/)(\2)\s*(&gt;)|(/&gt;)|(?=&lt;/\w+)</string>
2207 <key>endCaptures</key>
2208 <dict>
2209 <key>0</key>
2210 <dict>
2211 <key>name</key>
2212 <string>meta.tag.inline.svg.$2.end.html</string>
2213 </dict>
2214 <key>1</key>
2215 <dict>
2216 <key>name</key>
2217 <string>punctuation.definition.tag.begin.html</string>
2218 </dict>
2219 <key>2</key>
2220 <dict>
2221 <key>name</key>
2222 <string>entity.name.tag.html</string>
2223 </dict>
2224 <key>3</key>
2225 <dict>
2226 <key>name</key>
2227 <string>punctuation.definition.tag.end.html</string>
2228 </dict>
2229 <key>4</key>
2230 <dict>
2231 <key>name</key>
2232 <string>punctuation.definition.tag.end.html</string>
2233 </dict>
2234 </dict>
2235 <key>name</key>
2236 <string>meta.element.inline.svg.$2.html</string>
2237 <key>patterns</key>
2238 <array>
2239 <dict>
2240 <key>begin</key>
2241 <string>(?&lt;!&gt;)\G</string>
2242 <key>end</key>
2243 <string>(?=/&gt;)|&gt;</string>
2244 <key>endCaptures</key>
2245 <dict>
2246 <key>0</key>
2247 <dict>
2248 <key>name</key>
2249 <string>punctuation.definition.tag.end.html</string>
2250 </dict>
2251 </dict>
2252 <key>name</key>
2253 <string>meta.tag.inline.start.html</string>
2254 <key>patterns</key>
2255 <array>
2256 <dict>
2257 <key>include</key>
2258 <string>#attribute</string>
2259 </dict>
2260 </array>
2261 </dict>
2262 <dict>
2263 <key>include</key>
2264 <string>#tags</string>
2265 </dict>
2266 </array>
2267 </dict>
2268 <dict>
2269 <key>captures</key>
2270 <dict>
2271 <key>0</key>
2272 <dict>
2273 <key>name</key>
2274 <string>meta.tag.object.svg.$2.void.html</string>
2275 </dict>
2276 <key>1</key>
2277 <dict>
2278 <key>name</key>
2279 <string>punctuation.definition.tag.begin.html</string>
2280 </dict>
2281 <key>2</key>
2282 <dict>
2283 <key>name</key>
2284 <string>entity.name.tag.html</string>
2285 </dict>
2286 <key>3</key>
2287 <dict>
2288 <key>patterns</key>
2289 <array>
2290 <dict>
2291 <key>include</key>
2292 <string>#attribute</string>
2293 </dict>
2294 </array>
2295 </dict>
2296 <key>5</key>
2297 <dict>
2298 <key>name</key>
2299 <string>punctuation.definition.tag.end.html</string>
2300 </dict>
2301 </dict>
2302 <key>match</key>
2303 <string>(?i)(&lt;)(circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\s|/?&gt;)(?:(([^"'&gt;]|"[^"]*"|'[^']*')*)(/&gt;))</string>
2304 <key>name</key>
2305 <string>meta.element.object.svg.$2.html</string>
2306 </dict>
2307 <dict>
2308 <key>begin</key>
2309 <string>(?i)(&lt;)(a|circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\s|/?&gt;)(?:(([^"'&gt;]|"[^"]*"|'[^']*')*)(&gt;))?</string>
2310 <key>beginCaptures</key>
2311 <dict>
2312 <key>0</key>
2313 <dict>
2314 <key>name</key>
2315 <string>meta.tag.object.svg.$2.start.html</string>
2316 </dict>
2317 <key>1</key>
2318 <dict>
2319 <key>name</key>
2320 <string>punctuation.definition.tag.begin.html</string>
2321 </dict>
2322 <key>2</key>
2323 <dict>
2324 <key>name</key>
2325 <string>entity.name.tag.html</string>
2326 </dict>
2327 <key>3</key>
2328 <dict>
2329 <key>patterns</key>
2330 <array>
2331 <dict>
2332 <key>include</key>
2333 <string>#attribute</string>
2334 </dict>
2335 </array>
2336 </dict>
2337 <key>5</key>
2338 <dict>
2339 <key>name</key>
2340 <string>punctuation.definition.tag.end.html</string>
2341 </dict>
2342 </dict>
2343 <key>end</key>
2344 <string>(?i)(&lt;/)(\2)\s*(&gt;)|(/&gt;)|(?=&lt;/\w+)</string>
2345 <key>endCaptures</key>
2346 <dict>
2347 <key>0</key>
2348 <dict>
2349 <key>name</key>
2350 <string>meta.tag.object.svg.$2.end.html</string>
2351 </dict>
2352 <key>1</key>
2353 <dict>
2354 <key>name</key>
2355 <string>punctuation.definition.tag.begin.html</string>
2356 </dict>
2357 <key>2</key>
2358 <dict>
2359 <key>name</key>
2360 <string>entity.name.tag.html</string>
2361 </dict>
2362 <key>3</key>
2363 <dict>
2364 <key>name</key>
2365 <string>punctuation.definition.tag.end.html</string>
2366 </dict>
2367 <key>4</key>
2368 <dict>
2369 <key>name</key>
2370 <string>punctuation.definition.tag.end.html</string>
2371 </dict>
2372 </dict>
2373 <key>name</key>
2374 <string>meta.element.object.svg.$2.html</string>
2375 <key>patterns</key>
2376 <array>
2377 <dict>
2378 <key>begin</key>
2379 <string>(?&lt;!&gt;)\G</string>
2380 <key>end</key>
2381 <string>(?=/&gt;)|&gt;</string>
2382 <key>endCaptures</key>
2383 <dict>
2384 <key>0</key>
2385 <dict>
2386 <key>name</key>
2387 <string>punctuation.definition.tag.end.html</string>
2388 </dict>
2389 </dict>
2390 <key>name</key>
2391 <string>meta.tag.object.start.html</string>
2392 <key>patterns</key>
2393 <array>
2394 <dict>
2395 <key>include</key>
2396 <string>#attribute</string>
2397 </dict>
2398 </array>
2399 </dict>
2400 <dict>
2401 <key>include</key>
2402 <string>#tags</string>
2403 </dict>
2404 </array>
2405 </dict>
2406 <dict>
2407 <key>captures</key>
2408 <dict>
2409 <key>0</key>
2410 <dict>
2411 <key>name</key>
2412 <string>meta.tag.other.svg.$2.void.html</string>
2413 </dict>
2414 <key>1</key>
2415 <dict>
2416 <key>name</key>
2417 <string>punctuation.definition.tag.begin.html</string>
2418 </dict>
2419 <key>2</key>
2420 <dict>
2421 <key>name</key>
2422 <string>entity.name.tag.html</string>
2423 </dict>
2424 <key>3</key>
2425 <dict>
2426 <key>name</key>
2427 <string>invalid.deprecated.html</string>
2428 </dict>
2429 <key>4</key>
2430 <dict>
2431 <key>patterns</key>
2432 <array>
2433 <dict>
2434 <key>include</key>
2435 <string>#attribute</string>
2436 </dict>
2437 </array>
2438 </dict>
2439 <key>6</key>
2440 <dict>
2441 <key>name</key>
2442 <string>punctuation.definition.tag.end.html</string>
2443 </dict>
2444 </dict>
2445 <key>match</key>
2446 <string>(?i)(&lt;)((altGlyph|altGlyphDef|altGlyphItem|animateColor|animateTransform|cursor|font|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|glyph|glyphRef|hkern|missing-glyph|tref|vkern))(?=\s|/?&gt;)(?:(([^"'&gt;]|"[^"]*"|'[^']*')*)(/&gt;))</string>
2447 <key>name</key>
2448 <string>meta.element.other.svg.$2.html</string>
2449 </dict>
2450 <dict>
2451 <key>begin</key>
2452 <string>(?i)(&lt;)((altGlyph|altGlyphDef|altGlyphItem|animateColor|animateTransform|cursor|font|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|glyph|glyphRef|hkern|missing-glyph|tref|vkern))(?=\s|/?&gt;)(?:(([^"'&gt;]|"[^"]*"|'[^']*')*)(&gt;))?</string>
2453 <key>beginCaptures</key>
2454 <dict>
2455 <key>0</key>
2456 <dict>
2457 <key>name</key>
2458 <string>meta.tag.other.svg.$2.start.html</string>
2459 </dict>
2460 <key>1</key>
2461 <dict>
2462 <key>name</key>
2463 <string>punctuation.definition.tag.begin.html</string>
2464 </dict>
2465 <key>2</key>
2466 <dict>
2467 <key>name</key>
2468 <string>entity.name.tag.html</string>
2469 </dict>
2470 <key>3</key>
2471 <dict>
2472 <key>name</key>
2473 <string>invalid.deprecated.html</string>
2474 </dict>
2475 <key>4</key>
2476 <dict>
2477 <key>patterns</key>
2478 <array>
2479 <dict>
2480 <key>include</key>
2481 <string>#attribute</string>
2482 </dict>
2483 </array>
2484 </dict>
2485 <key>6</key>
2486 <dict>
2487 <key>name</key>
2488 <string>punctuation.definition.tag.end.html</string>
2489 </dict>
2490 </dict>
2491 <key>end</key>
2492 <string>(?i)(&lt;/)((\2))\s*(&gt;)|(/&gt;)|(?=&lt;/\w+)</string>
2493 <key>endCaptures</key>
2494 <dict>
2495 <key>0</key>
2496 <dict>
2497 <key>name</key>
2498 <string>meta.tag.other.svg.$2.end.html</string>
2499 </dict>
2500 <key>1</key>
2501 <dict>
2502 <key>name</key>
2503 <string>punctuation.definition.tag.begin.html</string>
2504 </dict>
2505 <key>2</key>
2506 <dict>
2507 <key>name</key>
2508 <string>entity.name.tag.html</string>
2509 </dict>
2510 <key>3</key>
2511 <dict>
2512 <key>name</key>
2513 <string>invalid.deprecated.html</string>
2514 </dict>
2515 <key>4</key>
2516 <dict>
2517 <key>name</key>
2518 <string>punctuation.definition.tag.end.html</string>
2519 </dict>
2520 <key>5</key>
2521 <dict>
2522 <key>name</key>
2523 <string>punctuation.definition.tag.end.html</string>
2524 </dict>
2525 </dict>
2526 <key>name</key>
2527 <string>meta.element.other.svg.$2.html</string>
2528 <key>patterns</key>
2529 <array>
2530 <dict>
2531 <key>begin</key>
2532 <string>(?&lt;!&gt;)\G</string>
2533 <key>end</key>
2534 <string>(?=/&gt;)|&gt;</string>
2535 <key>endCaptures</key>
2536 <dict>
2537 <key>0</key>
2538 <dict>
2539 <key>name</key>
2540 <string>punctuation.definition.tag.end.html</string>
2541 </dict>
2542 </dict>
2543 <key>name</key>
2544 <string>meta.tag.other.start.html</string>
2545 <key>patterns</key>
2546 <array>
2547 <dict>
2548 <key>include</key>
2549 <string>#attribute</string>
2550 </dict>
2551 </array>
2552 </dict>
2553 <dict>
2554 <key>include</key>
2555 <string>#tags</string>
2556 </dict>
2557 </array>
2558 </dict>
2559 <dict>
2560 <key>captures</key>
2561 <dict>
2562 <key>0</key>
2563 <dict>
2564 <key>name</key>
2565 <string>meta.tag.other.invalid.void.html</string>
2566 </dict>
2567 <key>1</key>
2568 <dict>
2569 <key>name</key>
2570 <string>punctuation.definition.tag.begin.html</string>
2571 </dict>
2572 <key>2</key>
2573 <dict>
2574 <key>name</key>
2575 <string>entity.name.tag.html</string>
2576 </dict>
2577 <key>3</key>
2578 <dict>
2579 <key>name</key>
2580 <string>invalid.illegal.unrecognized-tag.html</string>
2581 </dict>
2582 <key>4</key>
2583 <dict>
2584 <key>patterns</key>
2585 <array>
2586 <dict>
2587 <key>include</key>
2588 <string>#attribute</string>
2589 </dict>
2590 </array>
2591 </dict>
2592 <key>6</key>
2593 <dict>
2594 <key>name</key>
2595 <string>punctuation.definition.tag.end.html</string>
2596 </dict>
2597 </dict>
2598 <key>match</key>
2599 <string>(?i)(&lt;)(([\w:]+))(?=\s|/?&gt;)(?:(([^"'&gt;]|"[^"]*"|'[^']*')*)(/&gt;))</string>
2600 <key>name</key>
2601 <string>meta.element.other.invalid.html</string>
2602 </dict>
2603 <dict>
2604 <key>begin</key>
2605 <string>(?i)(&lt;)((\w[^\s&gt;]*))(?=\s|/?&gt;)(?:(([^"'&gt;]|"[^"]*"|'[^']*')*)(&gt;))?</string>
2606 <key>beginCaptures</key>
2607 <dict>
2608 <key>0</key>
2609 <dict>
2610 <key>name</key>
2611 <string>meta.tag.other.invalid.start.html</string>
2612 </dict>
2613 <key>1</key>
2614 <dict>
2615 <key>name</key>
2616 <string>punctuation.definition.tag.begin.html</string>
2617 </dict>
2618 <key>2</key>
2619 <dict>
2620 <key>name</key>
2621 <string>entity.name.tag.html</string>
2622 </dict>
2623 <key>3</key>
2624 <dict>
2625 <key>name</key>
2626 <string>invalid.illegal.unrecognized-tag.html</string>
2627 </dict>
2628 <key>4</key>
2629 <dict>
2630 <key>patterns</key>
2631 <array>
2632 <dict>
2633 <key>include</key>
2634 <string>#attribute</string>
2635 </dict>
2636 </array>
2637 </dict>
2638 <key>6</key>
2639 <dict>
2640 <key>name</key>
2641 <string>punctuation.definition.tag.end.html</string>
2642 </dict>
2643 </dict>
2644 <key>end</key>
2645 <string>(?i)(&lt;/)((\2))\s*(&gt;)|(/&gt;)|(?=&lt;/\w+)</string>
2646 <key>endCaptures</key>
2647 <dict>
2648 <key>0</key>
2649 <dict>
2650 <key>name</key>
2651 <string>meta.tag.other.invalid.end.html</string>
2652 </dict>
2653 <key>1</key>
2654 <dict>
2655 <key>name</key>
2656 <string>punctuation.definition.tag.begin.html</string>
2657 </dict>
2658 <key>2</key>
2659 <dict>
2660 <key>name</key>
2661 <string>entity.name.tag.html</string>
2662 </dict>
2663 <key>3</key>
2664 <dict>
2665 <key>name</key>
2666 <string>invalid.illegal.unrecognized-tag.html</string>
2667 </dict>
2668 <key>4</key>
2669 <dict>
2670 <key>name</key>
2671 <string>punctuation.definition.tag.end.html</string>
2672 </dict>
2673 <key>5</key>
2674 <dict>
2675 <key>name</key>
2676 <string>punctuation.definition.tag.end.html</string>
2677 </dict>
2678 </dict>
2679 <key>name</key>
2680 <string>meta.element.other.invalid.html</string>
2681 <key>patterns</key>
2682 <array>
2683 <dict>
2684 <key>begin</key>
2685 <string>(?&lt;!&gt;)\G</string>
2686 <key>end</key>
2687 <string>(?=/&gt;)|&gt;</string>
2688 <key>endCaptures</key>
2689 <dict>
2690 <key>0</key>
2691 <dict>
2692 <key>name</key>
2693 <string>punctuation.definition.tag.end.html</string>
2694 </dict>
2695 </dict>
2696 <key>name</key>
2697 <string>meta.tag.other.invalid.start.html</string>
2698 <key>patterns</key>
2699 <array>
2700 <dict>
2701 <key>include</key>
2702 <string>#attribute</string>
2703 </dict>
2704 </array>
2705 </dict>
2706 <dict>
2707 <key>include</key>
2708 <string>#tags</string>
2709 </dict>
2710 </array>
2711 </dict>
2712 <dict>
2713 <key>include</key>
2714 <string>#tags-invalid</string>
2715 </dict>
2716 </array>
2717 </dict>
2718 </dict>
2719 </dict>
2720 <key>tags-invalid</key>
2721 <dict>
2722 <key>patterns</key>
2723 <array>
2724 <dict>
2725 <key>begin</key>
2726 <string>(&lt;/?)((\w[^\s&gt;]*))(?&lt;!/)</string>
2727 <key>beginCaptures</key>
2728 <dict>
2729 <key>1</key>
2730 <dict>
2731 <key>name</key>
2732 <string>punctuation.definition.tag.begin.html</string>
2733 </dict>
2734 <key>2</key>
2735 <dict>
2736 <key>name</key>
2737 <string>entity.name.tag.html</string>
2738 </dict>
2739 <key>3</key>
2740 <dict>
2741 <key>name</key>
2742 <string>invalid.illegal.unrecognized-tag.html</string>
2743 </dict>
2744 </dict>
2745 <key>end</key>
2746 <string>((?: ?/)?&gt;)</string>
2747 <key>endCaptures</key>
2748 <dict>
2749 <key>1</key>
2750 <dict>
2751 <key>name</key>
2752 <string>punctuation.definition.tag.end.html</string>
2753 </dict>
2754 </dict>
2755 <key>name</key>
2756 <string>meta.tag.other.$2.html</string>
2757 <key>patterns</key>
2758 <array>
2759 <dict>
2760 <key>include</key>
2761 <string>#attribute</string>
2762 </dict>
2763 </array>
2764 </dict>
2765 </array>
2766 </dict>
2767 <key>tags-valid</key>
2768 <dict>
2769 <key>patterns</key>
2770 <array>
2771 <dict>
2772 <key>begin</key>
2773 <string>(^[ \t]+)?(?=&lt;(?i:style)\b(?!-))</string>
2774 <key>beginCaptures</key>
2775 <dict>
2776 <key>1</key>
2777 <dict>
2778 <key>name</key>
2779 <string>punctuation.whitespace.embedded.leading.html</string>
2780 </dict>
2781 </dict>
2782 <key>end</key>
2783 <string>(?!\G)([ \t]*$\n?)?</string>
2784 <key>endCaptures</key>
2785 <dict>
2786 <key>1</key>
2787 <dict>
2788 <key>name</key>
2789 <string>punctuation.whitespace.embedded.trailing.html</string>
2790 </dict>
2791 </dict>
2792 <key>patterns</key>
2793 <array>
2794 <dict>
2795 <key>begin</key>
2796 <string>(?i)(&lt;)(style)(?=\s|/?&gt;)</string>
2797 <key>beginCaptures</key>
2798 <dict>
2799 <key>0</key>
2800 <dict>
2801 <key>name</key>
2802 <string>meta.tag.metadata.style.start.html</string>
2803 </dict>
2804 <key>1</key>
2805 <dict>
2806 <key>name</key>
2807 <string>punctuation.definition.tag.begin.html</string>
2808 </dict>
2809 <key>2</key>
2810 <dict>
2811 <key>name</key>
2812 <string>entity.name.tag.html</string>
2813 </dict>
2814 </dict>
2815 <key>end</key>
2816 <string>(?i)((&lt;)/)(style)\s*(&gt;)</string>
2817 <key>endCaptures</key>
2818 <dict>
2819 <key>0</key>
2820 <dict>
2821 <key>name</key>
2822 <string>meta.tag.metadata.style.end.html</string>
2823 </dict>
2824 <key>1</key>
2825 <dict>
2826 <key>name</key>
2827 <string>punctuation.definition.tag.begin.html</string>
2828 </dict>
2829 <key>2</key>
2830 <dict>
2831 <key>name</key>
2832 <string>source.css</string>
2833 </dict>
2834 <key>3</key>
2835 <dict>
2836 <key>name</key>
2837 <string>entity.name.tag.html</string>
2838 </dict>
2839 <key>4</key>
2840 <dict>
2841 <key>name</key>
2842 <string>punctuation.definition.tag.end.html</string>
2843 </dict>
2844 </dict>
2845 <key>name</key>
2846 <string>meta.embedded.block.html</string>
2847 <key>patterns</key>
2848 <array>
2849 <dict>
2850 <key>begin</key>
2851 <string>\G</string>
2852 <key>captures</key>
2853 <dict>
2854 <key>1</key>
2855 <dict>
2856 <key>name</key>
2857 <string>punctuation.definition.tag.end.html</string>
2858 </dict>
2859 </dict>
2860 <key>end</key>
2861 <string>(&gt;)</string>
2862 <key>name</key>
2863 <string>meta.tag.metadata.style.start.html</string>
2864 <key>patterns</key>
2865 <array>
2866 <dict>
2867 <key>include</key>
2868 <string>#attribute</string>
2869 </dict>
2870 </array>
2871 </dict>
2872 <dict>
2873 <key>begin</key>
2874 <string>(?!\G)</string>
2875 <key>end</key>
2876 <string>(?=&lt;/(?i:style))</string>
2877 <key>name</key>
2878 <string>source.css</string>
2879 <key>patterns</key>
2880 <array>
2881 <dict>
2882 <key>include</key>
2883 <string>source.css</string>
2884 </dict>
2885 </array>
2886 </dict>
2887 </array>
2888 </dict>
2889 </array>
2890 </dict>
2891 <dict>
2892 <key>begin</key>
2893 <string>(^[ \t]+)?(?=&lt;(?i:script)\b(?!-))</string>
2894 <key>beginCaptures</key>
2895 <dict>
2896 <key>1</key>
2897 <dict>
2898 <key>name</key>
2899 <string>punctuation.whitespace.embedded.leading.html</string>
2900 </dict>
2901 </dict>
2902 <key>end</key>
2903 <string>(?!\G)([ \t]*$\n?)?</string>
2904 <key>endCaptures</key>
2905 <dict>
2906 <key>1</key>
2907 <dict>
2908 <key>name</key>
2909 <string>punctuation.whitespace.embedded.trailing.html</string>
2910 </dict>
2911 </dict>
2912 <key>patterns</key>
2913 <array>
2914 <dict>
2915 <key>begin</key>
2916 <string>(&lt;)((?i:script))\b</string>
2917 <key>beginCaptures</key>
2918 <dict>
2919 <key>0</key>
2920 <dict>
2921 <key>name</key>
2922 <string>meta.tag.metadata.script.start.html</string>
2923 </dict>
2924 <key>1</key>
2925 <dict>
2926 <key>name</key>
2927 <string>punctuation.definition.tag.begin.html</string>
2928 </dict>
2929 <key>2</key>
2930 <dict>
2931 <key>name</key>
2932 <string>entity.name.tag.html</string>
2933 </dict>
2934 </dict>
2935 <key>end</key>
2936 <string>(/)((?i:script))(&gt;)</string>
2937 <key>endCaptures</key>
2938 <dict>
2939 <key>0</key>
2940 <dict>
2941 <key>name</key>
2942 <string>meta.tag.metadata.script.end.html</string>
2943 </dict>
2944 <key>1</key>
2945 <dict>
2946 <key>name</key>
2947 <string>punctuation.definition.tag.begin.html</string>
2948 </dict>
2949 <key>2</key>
2950 <dict>
2951 <key>name</key>
2952 <string>entity.name.tag.html</string>
2953 </dict>
2954 <key>3</key>
2955 <dict>
2956 <key>name</key>
2957 <string>punctuation.definition.tag.end.html</string>
2958 </dict>
2959 </dict>
2960 <key>name</key>
2961 <string>meta.embedded.block.html</string>
2962 <key>patterns</key>
2963 <array>
2964 <dict>
2965 <key>begin</key>
2966 <string>\G</string>
2967 <key>end</key>
2968 <string>(?=/)</string>
2969 <key>patterns</key>
2970 <array>
2971 <dict>
2972 <key>begin</key>
2973 <string>(&gt;)</string>
2974 <key>beginCaptures</key>
2975 <dict>
2976 <key>0</key>
2977 <dict>
2978 <key>name</key>
2979 <string>meta.tag.metadata.script.start.html</string>
2980 </dict>
2981 <key>1</key>
2982 <dict>
2983 <key>name</key>
2984 <string>punctuation.definition.tag.end.html</string>
2985 </dict>
2986 </dict>
2987 <key>end</key>
2988 <string>((&lt;))(?=/(?i:script))</string>
2989 <key>endCaptures</key>
2990 <dict>
2991 <key>0</key>
2992 <dict>
2993 <key>name</key>
2994 <string>meta.tag.metadata.script.end.html</string>
2995 </dict>
2996 <key>1</key>
2997 <dict>
2998 <key>name</key>
2999 <string>punctuation.definition.tag.begin.html</string>
3000 </dict>
3001 <key>2</key>
3002 <dict>
3003 <key>name</key>
3004 <string>source.js</string>
3005 </dict>
3006 </dict>
3007 <key>patterns</key>
3008 <array>
3009 <dict>
3010 <key>begin</key>
3011 <string>\G</string>
3012 <key>end</key>
3013 <string>(?=&lt;/(?i:script))</string>
3014 <key>name</key>
3015 <string>source.js</string>
3016 <key>patterns</key>
3017 <array>
3018 <dict>
3019 <key>begin</key>
3020 <string>(^[ \t]+)?(?=//)</string>
3021 <key>beginCaptures</key>
3022 <dict>
3023 <key>1</key>
3024 <dict>
3025 <key>name</key>
3026 <string>punctuation.whitespace.comment.leading.js</string>
3027 </dict>
3028 </dict>
3029 <key>end</key>
3030 <string>(?!\G)</string>
3031 <key>patterns</key>
3032 <array>
3033 <dict>
3034 <key>begin</key>
3035 <string>//</string>
3036 <key>beginCaptures</key>
3037 <dict>
3038 <key>0</key>
3039 <dict>
3040 <key>name</key>
3041 <string>punctuation.definition.comment.js</string>
3042 </dict>
3043 </dict>
3044 <key>end</key>
3045 <string>(?=&lt;/script)|\n</string>
3046 <key>name</key>
3047 <string>comment.line.double-slash.js</string>
3048 </dict>
3049 </array>
3050 </dict>
3051 <dict>
3052 <key>begin</key>
3053 <string>/\*</string>
3054 <key>captures</key>
3055 <dict>
3056 <key>0</key>
3057 <dict>
3058 <key>name</key>
3059 <string>punctuation.definition.comment.js</string>
3060 </dict>
3061 </dict>
3062 <key>end</key>
3063 <string>\*/|(?=&lt;/script)</string>
3064 <key>name</key>
3065 <string>comment.block.js</string>
3066 </dict>
3067 <dict>
3068 <key>include</key>
3069 <string>source.js</string>
3070 </dict>
3071 </array>
3072 </dict>
3073 </array>
3074 </dict>
3075 <dict>
3076 <key>begin</key>
3077 <string>\G</string>
3078 <key>end</key>
3079 <string>(?ix:
3080 (?=&gt; # Tag without type attribute
3081 | type(?=[\s=])
3082 (?!\s*=\s*
3083 (
3084 '' # Empty
3085 | "" # Values
3086 | ('|"|)
3087 (
3088 text/ # Text mime-types
3089 (
3090 javascript(1\.[0-5])?
3091 | x-javascript
3092 | jscript
3093 | livescript
3094 | (x-)?ecmascript
3095 | babel # Javascript variant currently
3096 # recognized as such
3097 )
3098 | application/ # Application mime-types
3099 (
3100 (x-)?javascript
3101 | (x-)?ecmascript
3102 )
3103 | module
3104 )
3105 [\s"'&gt;]
3106 )
3107 )
3108 )
3109 )</string>
3110 <key>name</key>
3111 <string>meta.tag.metadata.script.start.html</string>
3112 <key>patterns</key>
3113 <array>
3114 <dict>
3115 <key>include</key>
3116 <string>#attribute</string>
3117 </dict>
3118 </array>
3119 </dict>
3120 <dict>
3121 <key>begin</key>
3122 <string>(?ix:
3123 (?=
3124 type\s*=\s*
3125 ('|"|)
3126 text/
3127 (
3128 x-handlebars
3129 | (x-(handlebars-)?|ng-)?template
3130 | html
3131 )
3132 [\s"'&gt;]
3133 )
3134 )</string>
3135 <key>end</key>
3136 <string>((&lt;))(?=/(?i:script))</string>
3137 <key>endCaptures</key>
3138 <dict>
3139 <key>0</key>
3140 <dict>
3141 <key>name</key>
3142 <string>meta.tag.metadata.script.end.html</string>
3143 </dict>
3144 <key>1</key>
3145 <dict>
3146 <key>name</key>
3147 <string>punctuation.definition.tag.begin.html</string>
3148 </dict>
3149 <key>2</key>
3150 <dict>
3151 <key>name</key>
3152 <string>text.html.basic</string>
3153 </dict>
3154 </dict>
3155 <key>patterns</key>
3156 <array>
3157 <dict>
3158 <key>begin</key>
3159 <string>\G</string>
3160 <key>end</key>
3161 <string>(&gt;)</string>
3162 <key>endCaptures</key>
3163 <dict>
3164 <key>1</key>
3165 <dict>
3166 <key>name</key>
3167 <string>punctuation.definition.tag.end.html</string>
3168 </dict>
3169 </dict>
3170 <key>name</key>
3171 <string>meta.tag.metadata.script.start.html</string>
3172 <key>patterns</key>
3173 <array>
3174 <dict>
3175 <key>include</key>
3176 <string>#attribute</string>
3177 </dict>
3178 </array>
3179 </dict>
3180 <dict>
3181 <key>begin</key>
3182 <string>(?!\G)</string>
3183 <key>end</key>
3184 <string>(?=&lt;/(?i:script))</string>
3185 <key>name</key>
3186 <string>text.html.basic</string>
3187 <key>patterns</key>
3188 <array>
3189 <dict>
3190 <key>include</key>
3191 <string>text.html.basic</string>
3192 </dict>
3193 </array>
3194 </dict>
3195 </array>
3196 </dict>
3197 <dict>
3198 <key>begin</key>
3199 <string>(?=(?i:type))</string>
3200 <key>end</key>
3201 <string>(&lt;)(?=/(?i:script))</string>
3202 <key>endCaptures</key>
3203 <dict>
3204 <key>0</key>
3205 <dict>
3206 <key>name</key>
3207 <string>meta.tag.metadata.script.end.html</string>
3208 </dict>
3209 <key>1</key>
3210 <dict>
3211 <key>name</key>
3212 <string>punctuation.definition.tag.begin.html</string>
3213 </dict>
3214 </dict>
3215 <key>patterns</key>
3216 <array>
3217 <dict>
3218 <key>begin</key>
3219 <string>\G</string>
3220 <key>end</key>
3221 <string>(&gt;)</string>
3222 <key>endCaptures</key>
3223 <dict>
3224 <key>1</key>
3225 <dict>
3226 <key>name</key>
3227 <string>punctuation.definition.tag.end.html</string>
3228 </dict>
3229 </dict>
3230 <key>name</key>
3231 <string>meta.tag.metadata.script.start.html</string>
3232 <key>patterns</key>
3233 <array>
3234 <dict>
3235 <key>include</key>
3236 <string>#attribute</string>
3237 </dict>
3238 </array>
3239 </dict>
3240 <dict>
3241 <key>begin</key>
3242 <string>(?!\G)</string>
3243 <key>end</key>
3244 <string>(?=&lt;/(?i:script))</string>
3245 <key>name</key>
3246 <string>source.unknown</string>
3247 </dict>
3248 </array>
3249 </dict>
3250 </array>
3251 </dict>
3252 </array>
3253 </dict>
3254 </array>
3255 </dict>
3256 <dict>
3257 <key>begin</key>
3258 <string>(?i)(&lt;)(base|link|meta)(?=\s|/?&gt;)</string>
3259 <key>beginCaptures</key>
3260 <dict>
3261 <key>1</key>
3262 <dict>
3263 <key>name</key>
3264 <string>punctuation.definition.tag.begin.html</string>
3265 </dict>
3266 <key>2</key>
3267 <dict>
3268 <key>name</key>
3269 <string>entity.name.tag.html</string>
3270 </dict>
3271 </dict>
3272 <key>end</key>
3273 <string>/?&gt;</string>
3274 <key>endCaptures</key>
3275 <dict>
3276 <key>0</key>
3277 <dict>
3278 <key>name</key>
3279 <string>punctuation.definition.tag.end.html</string>
3280 </dict>
3281 </dict>
3282 <key>name</key>
3283 <string>meta.tag.metadata.$2.void.html</string>
3284 <key>patterns</key>
3285 <array>
3286 <dict>
3287 <key>include</key>
3288 <string>#attribute</string>
3289 </dict>
3290 </array>
3291 </dict>
3292 <dict>
3293 <key>begin</key>
3294 <string>(?i)(&lt;)(noscript|title)(?=\s|/?&gt;)</string>
3295 <key>beginCaptures</key>
3296 <dict>
3297 <key>1</key>
3298 <dict>
3299 <key>name</key>
3300 <string>punctuation.definition.tag.begin.html</string>
3301 </dict>
3302 <key>2</key>
3303 <dict>
3304 <key>name</key>
3305 <string>entity.name.tag.html</string>
3306 </dict>
3307 </dict>
3308 <key>end</key>
3309 <string>&gt;</string>
3310 <key>endCaptures</key>
3311 <dict>
3312 <key>0</key>
3313 <dict>
3314 <key>name</key>
3315 <string>punctuation.definition.tag.end.html</string>
3316 </dict>
3317 </dict>
3318 <key>name</key>
3319 <string>meta.tag.metadata.$2.start.html</string>
3320 <key>patterns</key>
3321 <array>
3322 <dict>
3323 <key>include</key>
3324 <string>#attribute</string>
3325 </dict>
3326 </array>
3327 </dict>
3328 <dict>
3329 <key>begin</key>
3330 <string>(?i)(&lt;/)(noscript|title)(?=\s|/?&gt;)</string>
3331 <key>beginCaptures</key>
3332 <dict>
3333 <key>1</key>
3334 <dict>
3335 <key>name</key>
3336 <string>punctuation.definition.tag.begin.html</string>
3337 </dict>
3338 <key>2</key>
3339 <dict>
3340 <key>name</key>
3341 <string>entity.name.tag.html</string>
3342 </dict>
3343 </dict>
3344 <key>end</key>
3345 <string>&gt;</string>
3346 <key>endCaptures</key>
3347 <dict>
3348 <key>0</key>
3349 <dict>
3350 <key>name</key>
3351 <string>punctuation.definition.tag.end.html</string>
3352 </dict>
3353 </dict>
3354 <key>name</key>
3355 <string>meta.tag.metadata.$2.end.html</string>
3356 <key>patterns</key>
3357 <array>
3358 <dict>
3359 <key>include</key>
3360 <string>#attribute</string>
3361 </dict>
3362 </array>
3363 </dict>
3364 <dict>
3365 <key>begin</key>
3366 <string>(?i)(&lt;)(col|hr|input)(?=\s|/?&gt;)</string>
3367 <key>beginCaptures</key>
3368 <dict>
3369 <key>1</key>
3370 <dict>
3371 <key>name</key>
3372 <string>punctuation.definition.tag.begin.html</string>
3373 </dict>
3374 <key>2</key>
3375 <dict>
3376 <key>name</key>
3377 <string>entity.name.tag.html</string>
3378 </dict>
3379 </dict>
3380 <key>end</key>
3381 <string>/?&gt;</string>
3382 <key>endCaptures</key>
3383 <dict>
3384 <key>0</key>
3385 <dict>
3386 <key>name</key>
3387 <string>punctuation.definition.tag.end.html</string>
3388 </dict>
3389 </dict>
3390 <key>name</key>
3391 <string>meta.tag.structure.$2.void.html</string>
3392 <key>patterns</key>
3393 <array>
3394 <dict>
3395 <key>include</key>
3396 <string>#attribute</string>
3397 </dict>
3398 </array>
3399 </dict>
3400 <dict>
3401 <key>begin</key>
3402 <string>(?i)(&lt;)(address|article|aside|blockquote|body|button|caption|colgroup|datalist|dd|details|dialog|div|dl|dt|fieldset|figcaption|figure|footer|form|head|header|hgroup|html|h[1-6]|label|legend|li|main|map|menu|meter|nav|ol|optgroup|option|output|p|pre|progress|section|select|slot|summary|table|tbody|td|template|textarea|tfoot|th|thead|tr|ul)(?=\s|/?&gt;)</string>
3403 <key>beginCaptures</key>
3404 <dict>
3405 <key>1</key>
3406 <dict>
3407 <key>name</key>
3408 <string>punctuation.definition.tag.begin.html</string>
3409 </dict>
3410 <key>2</key>
3411 <dict>
3412 <key>name</key>
3413 <string>entity.name.tag.html</string>
3414 </dict>
3415 </dict>
3416 <key>end</key>
3417 <string>&gt;</string>
3418 <key>endCaptures</key>
3419 <dict>
3420 <key>0</key>
3421 <dict>
3422 <key>name</key>
3423 <string>punctuation.definition.tag.end.html</string>
3424 </dict>
3425 </dict>
3426 <key>name</key>
3427 <string>meta.tag.structure.$2.start.html</string>
3428 <key>patterns</key>
3429 <array>
3430 <dict>
3431 <key>include</key>
3432 <string>#attribute</string>
3433 </dict>
3434 </array>
3435 </dict>
3436 <dict>
3437 <key>begin</key>
3438 <string>(?i)(&lt;/)(address|article|aside|blockquote|body|button|caption|colgroup|datalist|dd|details|dialog|div|dl|dt|fieldset|figcaption|figure|footer|form|head|header|hgroup|html|h[1-6]|label|legend|li|main|map|menu|meter|nav|ol|optgroup|option|output|p|pre|progress|section|select|slot|summary|table|tbody|td|template|textarea|tfoot|th|thead|tr|ul)(?=\s|/?&gt;)</string>
3439 <key>beginCaptures</key>
3440 <dict>
3441 <key>1</key>
3442 <dict>
3443 <key>name</key>
3444 <string>punctuation.definition.tag.begin.html</string>
3445 </dict>
3446 <key>2</key>
3447 <dict>
3448 <key>name</key>
3449 <string>entity.name.tag.html</string>
3450 </dict>
3451 </dict>
3452 <key>end</key>
3453 <string>&gt;</string>
3454 <key>endCaptures</key>
3455 <dict>
3456 <key>0</key>
3457 <dict>
3458 <key>name</key>
3459 <string>punctuation.definition.tag.end.html</string>
3460 </dict>
3461 </dict>
3462 <key>name</key>
3463 <string>meta.tag.structure.$2.end.html</string>
3464 <key>patterns</key>
3465 <array>
3466 <dict>
3467 <key>include</key>
3468 <string>#attribute</string>
3469 </dict>
3470 </array>
3471 </dict>
3472 <dict>
3473 <key>begin</key>
3474 <string>(?i)(&lt;)(area|br|wbr)(?=\s|/?&gt;)</string>
3475 <key>beginCaptures</key>
3476 <dict>
3477 <key>1</key>
3478 <dict>
3479 <key>name</key>
3480 <string>punctuation.definition.tag.begin.html</string>
3481 </dict>
3482 <key>2</key>
3483 <dict>
3484 <key>name</key>
3485 <string>entity.name.tag.html</string>
3486 </dict>
3487 </dict>
3488 <key>end</key>
3489 <string>/?&gt;</string>
3490 <key>endCaptures</key>
3491 <dict>
3492 <key>0</key>
3493 <dict>
3494 <key>name</key>
3495 <string>punctuation.definition.tag.end.html</string>
3496 </dict>
3497 </dict>
3498 <key>name</key>
3499 <string>meta.tag.inline.$2.void.html</string>
3500 <key>patterns</key>
3501 <array>
3502 <dict>
3503 <key>include</key>
3504 <string>#attribute</string>
3505 </dict>
3506 </array>
3507 </dict>
3508 <dict>
3509 <key>begin</key>
3510 <string>(?i)(&lt;)(a|abbr|b|bdi|bdo|cite|code|data|del|dfn|em|i|ins|kbd|mark|q|rp|rt|ruby|s|samp|small|span|strong|sub|sup|time|u|var)(?=\s|/?&gt;)</string>
3511 <key>beginCaptures</key>
3512 <dict>
3513 <key>1</key>
3514 <dict>
3515 <key>name</key>
3516 <string>punctuation.definition.tag.begin.html</string>
3517 </dict>
3518 <key>2</key>
3519 <dict>
3520 <key>name</key>
3521 <string>entity.name.tag.html</string>
3522 </dict>
3523 </dict>
3524 <key>end</key>
3525 <string>&gt;</string>
3526 <key>endCaptures</key>
3527 <dict>
3528 <key>0</key>
3529 <dict>
3530 <key>name</key>
3531 <string>punctuation.definition.tag.end.html</string>
3532 </dict>
3533 </dict>
3534 <key>name</key>
3535 <string>meta.tag.inline.$2.start.html</string>
3536 <key>patterns</key>
3537 <array>
3538 <dict>
3539 <key>include</key>
3540 <string>#attribute</string>
3541 </dict>
3542 </array>
3543 </dict>
3544 <dict>
3545 <key>begin</key>
3546 <string>(?i)(&lt;/)(a|abbr|b|bdi|bdo|cite|code|data|del|dfn|em|i|ins|kbd|mark|q|rp|rt|ruby|s|samp|small|span|strong|sub|sup|time|u|var)(?=\s|/?&gt;)</string>
3547 <key>beginCaptures</key>
3548 <dict>
3549 <key>1</key>
3550 <dict>
3551 <key>name</key>
3552 <string>punctuation.definition.tag.begin.html</string>
3553 </dict>
3554 <key>2</key>
3555 <dict>
3556 <key>name</key>
3557 <string>entity.name.tag.html</string>
3558 </dict>
3559 </dict>
3560 <key>end</key>
3561 <string>&gt;</string>
3562 <key>endCaptures</key>
3563 <dict>
3564 <key>0</key>
3565 <dict>
3566 <key>name</key>
3567 <string>punctuation.definition.tag.end.html</string>
3568 </dict>
3569 </dict>
3570 <key>name</key>
3571 <string>meta.tag.inline.$2.end.html</string>
3572 <key>patterns</key>
3573 <array>
3574 <dict>
3575 <key>include</key>
3576 <string>#attribute</string>
3577 </dict>
3578 </array>
3579 </dict>
3580 <dict>
3581 <key>begin</key>
3582 <string>(?i)(&lt;)(embed|img|param|source|track)(?=\s|/?&gt;)</string>
3583 <key>beginCaptures</key>
3584 <dict>
3585 <key>1</key>
3586 <dict>
3587 <key>name</key>
3588 <string>punctuation.definition.tag.begin.html</string>
3589 </dict>
3590 <key>2</key>
3591 <dict>
3592 <key>name</key>
3593 <string>entity.name.tag.html</string>
3594 </dict>
3595 </dict>
3596 <key>end</key>
3597 <string>/?&gt;</string>
3598 <key>endCaptures</key>
3599 <dict>
3600 <key>0</key>
3601 <dict>
3602 <key>name</key>
3603 <string>punctuation.definition.tag.end.html</string>
3604 </dict>
3605 </dict>
3606 <key>name</key>
3607 <string>meta.tag.object.$2.void.html</string>
3608 <key>patterns</key>
3609 <array>
3610 <dict>
3611 <key>include</key>
3612 <string>#attribute</string>
3613 </dict>
3614 </array>
3615 </dict>
3616 <dict>
3617 <key>begin</key>
3618 <string>(?i)(&lt;)(audio|canvas|iframe|object|picture|video)(?=\s|/?&gt;)</string>
3619 <key>beginCaptures</key>
3620 <dict>
3621 <key>1</key>
3622 <dict>
3623 <key>name</key>
3624 <string>punctuation.definition.tag.begin.html</string>
3625 </dict>
3626 <key>2</key>
3627 <dict>
3628 <key>name</key>
3629 <string>entity.name.tag.html</string>
3630 </dict>
3631 </dict>
3632 <key>end</key>
3633 <string>&gt;</string>
3634 <key>endCaptures</key>
3635 <dict>
3636 <key>0</key>
3637 <dict>
3638 <key>name</key>
3639 <string>punctuation.definition.tag.end.html</string>
3640 </dict>
3641 </dict>
3642 <key>name</key>
3643 <string>meta.tag.object.$2.start.html</string>
3644 <key>patterns</key>
3645 <array>
3646 <dict>
3647 <key>include</key>
3648 <string>#attribute</string>
3649 </dict>
3650 </array>
3651 </dict>
3652 <dict>
3653 <key>begin</key>
3654 <string>(?i)(&lt;/)(audio|canvas|iframe|object|picture|video)(?=\s|/?&gt;)</string>
3655 <key>beginCaptures</key>
3656 <dict>
3657 <key>1</key>
3658 <dict>
3659 <key>name</key>
3660 <string>punctuation.definition.tag.begin.html</string>
3661 </dict>
3662 <key>2</key>
3663 <dict>
3664 <key>name</key>
3665 <string>entity.name.tag.html</string>
3666 </dict>
3667 </dict>
3668 <key>end</key>
3669 <string>&gt;</string>
3670 <key>endCaptures</key>
3671 <dict>
3672 <key>0</key>
3673 <dict>
3674 <key>name</key>
3675 <string>punctuation.definition.tag.end.html</string>
3676 </dict>
3677 </dict>
3678 <key>name</key>
3679 <string>meta.tag.object.$2.end.html</string>
3680 <key>patterns</key>
3681 <array>
3682 <dict>
3683 <key>include</key>
3684 <string>#attribute</string>
3685 </dict>
3686 </array>
3687 </dict>
3688 <dict>
3689 <key>begin</key>
3690 <string>(?i)(&lt;)((basefont|isindex))(?=\s|/?&gt;)</string>
3691 <key>beginCaptures</key>
3692 <dict>
3693 <key>1</key>
3694 <dict>
3695 <key>name</key>
3696 <string>punctuation.definition.tag.begin.html</string>
3697 </dict>
3698 <key>2</key>
3699 <dict>
3700 <key>name</key>
3701 <string>entity.name.tag.html</string>
3702 </dict>
3703 <key>3</key>
3704 <dict>
3705 <key>name</key>
3706 <string>invalid.deprecated.html</string>
3707 </dict>
3708 </dict>
3709 <key>end</key>
3710 <string>/?&gt;</string>
3711 <key>endCaptures</key>
3712 <dict>
3713 <key>0</key>
3714 <dict>
3715 <key>name</key>
3716 <string>punctuation.definition.tag.end.html</string>
3717 </dict>
3718 </dict>
3719 <key>name</key>
3720 <string>meta.tag.metadata.$2.void.html</string>
3721 <key>patterns</key>
3722 <array>
3723 <dict>
3724 <key>include</key>
3725 <string>#attribute</string>
3726 </dict>
3727 </array>
3728 </dict>
3729 <dict>
3730 <key>begin</key>
3731 <string>(?i)(&lt;)((center|frameset|noembed|noframes))(?=\s|/?&gt;)</string>
3732 <key>beginCaptures</key>
3733 <dict>
3734 <key>1</key>
3735 <dict>
3736 <key>name</key>
3737 <string>punctuation.definition.tag.begin.html</string>
3738 </dict>
3739 <key>2</key>
3740 <dict>
3741 <key>name</key>
3742 <string>entity.name.tag.html</string>
3743 </dict>
3744 <key>3</key>
3745 <dict>
3746 <key>name</key>
3747 <string>invalid.deprecated.html</string>
3748 </dict>
3749 </dict>
3750 <key>end</key>
3751 <string>&gt;</string>
3752 <key>endCaptures</key>
3753 <dict>
3754 <key>0</key>
3755 <dict>
3756 <key>name</key>
3757 <string>punctuation.definition.tag.end.html</string>
3758 </dict>
3759 </dict>
3760 <key>name</key>
3761 <string>meta.tag.structure.$2.start.html</string>
3762 <key>patterns</key>
3763 <array>
3764 <dict>
3765 <key>include</key>
3766 <string>#attribute</string>
3767 </dict>
3768 </array>
3769 </dict>
3770 <dict>
3771 <key>begin</key>
3772 <string>(?i)(&lt;/)((center|frameset|noembed|noframes))(?=\s|/?&gt;)</string>
3773 <key>beginCaptures</key>
3774 <dict>
3775 <key>1</key>
3776 <dict>
3777 <key>name</key>
3778 <string>punctuation.definition.tag.begin.html</string>
3779 </dict>
3780 <key>2</key>
3781 <dict>
3782 <key>name</key>
3783 <string>entity.name.tag.html</string>
3784 </dict>
3785 <key>3</key>
3786 <dict>
3787 <key>name</key>
3788 <string>invalid.deprecated.html</string>
3789 </dict>
3790 </dict>
3791 <key>end</key>
3792 <string>&gt;</string>
3793 <key>endCaptures</key>
3794 <dict>
3795 <key>0</key>
3796 <dict>
3797 <key>name</key>
3798 <string>punctuation.definition.tag.end.html</string>
3799 </dict>
3800 </dict>
3801 <key>name</key>
3802 <string>meta.tag.structure.$2.end.html</string>
3803 <key>patterns</key>
3804 <array>
3805 <dict>
3806 <key>include</key>
3807 <string>#attribute</string>
3808 </dict>
3809 </array>
3810 </dict>
3811 <dict>
3812 <key>begin</key>
3813 <string>(?i)(&lt;)((acronym|big|blink|font|strike|tt|xmp))(?=\s|/?&gt;)</string>
3814 <key>beginCaptures</key>
3815 <dict>
3816 <key>1</key>
3817 <dict>
3818 <key>name</key>
3819 <string>punctuation.definition.tag.begin.html</string>
3820 </dict>
3821 <key>2</key>
3822 <dict>
3823 <key>name</key>
3824 <string>entity.name.tag.html</string>
3825 </dict>
3826 <key>3</key>
3827 <dict>
3828 <key>name</key>
3829 <string>invalid.deprecated.html</string>
3830 </dict>
3831 </dict>
3832 <key>end</key>
3833 <string>&gt;</string>
3834 <key>endCaptures</key>
3835 <dict>
3836 <key>0</key>
3837 <dict>
3838 <key>name</key>
3839 <string>punctuation.definition.tag.end.html</string>
3840 </dict>
3841 </dict>
3842 <key>name</key>
3843 <string>meta.tag.inline.$2.start.html</string>
3844 <key>patterns</key>
3845 <array>
3846 <dict>
3847 <key>include</key>
3848 <string>#attribute</string>
3849 </dict>
3850 </array>
3851 </dict>
3852 <dict>
3853 <key>begin</key>
3854 <string>(?i)(&lt;/)((acronym|big|blink|font|strike|tt|xmp))(?=\s|/?&gt;)</string>
3855 <key>beginCaptures</key>
3856 <dict>
3857 <key>1</key>
3858 <dict>
3859 <key>name</key>
3860 <string>punctuation.definition.tag.begin.html</string>
3861 </dict>
3862 <key>2</key>
3863 <dict>
3864 <key>name</key>
3865 <string>entity.name.tag.html</string>
3866 </dict>
3867 <key>3</key>
3868 <dict>
3869 <key>name</key>
3870 <string>invalid.deprecated.html</string>
3871 </dict>
3872 </dict>
3873 <key>end</key>
3874 <string>&gt;</string>
3875 <key>endCaptures</key>
3876 <dict>
3877 <key>0</key>
3878 <dict>
3879 <key>name</key>
3880 <string>punctuation.definition.tag.end.html</string>
3881 </dict>
3882 </dict>
3883 <key>name</key>
3884 <string>meta.tag.inline.$2.end.html</string>
3885 <key>patterns</key>
3886 <array>
3887 <dict>
3888 <key>include</key>
3889 <string>#attribute</string>
3890 </dict>
3891 </array>
3892 </dict>
3893 <dict>
3894 <key>begin</key>
3895 <string>(?i)(&lt;)((frame))(?=\s|/?&gt;)</string>
3896 <key>beginCaptures</key>
3897 <dict>
3898 <key>1</key>
3899 <dict>
3900 <key>name</key>
3901 <string>punctuation.definition.tag.begin.html</string>
3902 </dict>
3903 <key>2</key>
3904 <dict>
3905 <key>name</key>
3906 <string>entity.name.tag.html</string>
3907 </dict>
3908 <key>3</key>
3909 <dict>
3910 <key>name</key>
3911 <string>invalid.deprecated.html</string>
3912 </dict>
3913 </dict>
3914 <key>end</key>
3915 <string>/?&gt;</string>
3916 <key>endCaptures</key>
3917 <dict>
3918 <key>0</key>
3919 <dict>
3920 <key>name</key>
3921 <string>punctuation.definition.tag.end.html</string>
3922 </dict>
3923 </dict>
3924 <key>name</key>
3925 <string>meta.tag.object.$2.void.html</string>
3926 <key>patterns</key>
3927 <array>
3928 <dict>
3929 <key>include</key>
3930 <string>#attribute</string>
3931 </dict>
3932 </array>
3933 </dict>
3934 <dict>
3935 <key>begin</key>
3936 <string>(?i)(&lt;)((applet))(?=\s|/?&gt;)</string>
3937 <key>beginCaptures</key>
3938 <dict>
3939 <key>1</key>
3940 <dict>
3941 <key>name</key>
3942 <string>punctuation.definition.tag.begin.html</string>
3943 </dict>
3944 <key>2</key>
3945 <dict>
3946 <key>name</key>
3947 <string>entity.name.tag.html</string>
3948 </dict>
3949 <key>3</key>
3950 <dict>
3951 <key>name</key>
3952 <string>invalid.deprecated.html</string>
3953 </dict>
3954 </dict>
3955 <key>end</key>
3956 <string>&gt;</string>
3957 <key>endCaptures</key>
3958 <dict>
3959 <key>0</key>
3960 <dict>
3961 <key>name</key>
3962 <string>punctuation.definition.tag.end.html</string>
3963 </dict>
3964 </dict>
3965 <key>name</key>
3966 <string>meta.tag.object.$2.start.html</string>
3967 <key>patterns</key>
3968 <array>
3969 <dict>
3970 <key>include</key>
3971 <string>#attribute</string>
3972 </dict>
3973 </array>
3974 </dict>
3975 <dict>
3976 <key>begin</key>
3977 <string>(?i)(&lt;/)((applet))(?=\s|/?&gt;)</string>
3978 <key>beginCaptures</key>
3979 <dict>
3980 <key>1</key>
3981 <dict>
3982 <key>name</key>
3983 <string>punctuation.definition.tag.begin.html</string>
3984 </dict>
3985 <key>2</key>
3986 <dict>
3987 <key>name</key>
3988 <string>entity.name.tag.html</string>
3989 </dict>
3990 <key>3</key>
3991 <dict>
3992 <key>name</key>
3993 <string>invalid.deprecated.html</string>
3994 </dict>
3995 </dict>
3996 <key>end</key>
3997 <string>&gt;</string>
3998 <key>endCaptures</key>
3999 <dict>
4000 <key>0</key>
4001 <dict>
4002 <key>name</key>
4003 <string>punctuation.definition.tag.end.html</string>
4004 </dict>
4005 </dict>
4006 <key>name</key>
4007 <string>meta.tag.object.$2.end.html</string>
4008 <key>patterns</key>
4009 <array>
4010 <dict>
4011 <key>include</key>
4012 <string>#attribute</string>
4013 </dict>
4014 </array>
4015 </dict>
4016 <dict>
4017 <key>begin</key>
4018 <string>(?i)(&lt;)((dir|keygen|listing|menuitem|plaintext|spacer))(?=\s|/?&gt;)</string>
4019 <key>beginCaptures</key>
4020 <dict>
4021 <key>1</key>
4022 <dict>
4023 <key>name</key>
4024 <string>punctuation.definition.tag.begin.html</string>
4025 </dict>
4026 <key>2</key>
4027 <dict>
4028 <key>name</key>
4029 <string>entity.name.tag.html</string>
4030 </dict>
4031 <key>3</key>
4032 <dict>
4033 <key>name</key>
4034 <string>invalid.illegal.no-longer-supported.html</string>
4035 </dict>
4036 </dict>
4037 <key>end</key>
4038 <string>&gt;</string>
4039 <key>endCaptures</key>
4040 <dict>
4041 <key>0</key>
4042 <dict>
4043 <key>name</key>
4044 <string>punctuation.definition.tag.end.html</string>
4045 </dict>
4046 </dict>
4047 <key>name</key>
4048 <string>meta.tag.other.$2.start.html</string>
4049 <key>patterns</key>
4050 <array>
4051 <dict>
4052 <key>include</key>
4053 <string>#attribute</string>
4054 </dict>
4055 </array>
4056 </dict>
4057 <dict>
4058 <key>begin</key>
4059 <string>(?i)(&lt;/)((dir|keygen|listing|menuitem|plaintext|spacer))(?=\s|/?&gt;)</string>
4060 <key>beginCaptures</key>
4061 <dict>
4062 <key>1</key>
4063 <dict>
4064 <key>name</key>
4065 <string>punctuation.definition.tag.begin.html</string>
4066 </dict>
4067 <key>2</key>
4068 <dict>
4069 <key>name</key>
4070 <string>entity.name.tag.html</string>
4071 </dict>
4072 <key>3</key>
4073 <dict>
4074 <key>name</key>
4075 <string>invalid.illegal.no-longer-supported.html</string>
4076 </dict>
4077 </dict>
4078 <key>end</key>
4079 <string>&gt;</string>
4080 <key>endCaptures</key>
4081 <dict>
4082 <key>0</key>
4083 <dict>
4084 <key>name</key>
4085 <string>punctuation.definition.tag.end.html</string>
4086 </dict>
4087 </dict>
4088 <key>name</key>
4089 <string>meta.tag.other.$2.end.html</string>
4090 <key>patterns</key>
4091 <array>
4092 <dict>
4093 <key>include</key>
4094 <string>#attribute</string>
4095 </dict>
4096 </array>
4097 </dict>
4098 <dict>
4099 <key>include</key>
4100 <string>#math</string>
4101 </dict>
4102 <dict>
4103 <key>include</key>
4104 <string>#svg</string>
4105 </dict>
4106 <dict>
4107 <key>begin</key>
4108 <string>(&lt;)([a-zA-Z][.0-9_a-zA-Z\x{00B7}\x{00C0}-\x{00D6}\x{00D8}-\x{00F6}\x{00F8}-\x{037D}\x{037F}-\x{1FFF}\x{200C}-\x{200D}\x{203F}-\x{2040}\x{2070}-\x{218F}\x{2C00}-\x{2FEF}\x{3001}-\x{D7FF}\x{F900}-\x{FDCF}\x{FDF0}-\x{FFFD}\x{10000}-\x{EFFFF}]*-[\-.0-9_a-zA-Z\x{00B7}\x{00C0}-\x{00D6}\x{00D8}-\x{00F6}\x{00F8}-\x{037D}\x{037F}-\x{1FFF}\x{200C}-\x{200D}\x{203F}-\x{2040}\x{2070}-\x{218F}\x{2C00}-\x{2FEF}\x{3001}-\x{D7FF}\x{F900}-\x{FDCF}\x{FDF0}-\x{FFFD}\x{10000}-\x{EFFFF}]*)(?=\s|/?&gt;)</string>
4109 <key>beginCaptures</key>
4110 <dict>
4111 <key>1</key>
4112 <dict>
4113 <key>name</key>
4114 <string>punctuation.definition.tag.begin.html</string>
4115 </dict>
4116 <key>2</key>
4117 <dict>
4118 <key>name</key>
4119 <string>entity.name.tag.html</string>
4120 </dict>
4121 </dict>
4122 <key>end</key>
4123 <string>/?&gt;</string>
4124 <key>endCaptures</key>
4125 <dict>
4126 <key>0</key>
4127 <dict>
4128 <key>name</key>
4129 <string>punctuation.definition.tag.end.html</string>
4130 </dict>
4131 </dict>
4132 <key>name</key>
4133 <string>meta.tag.custom.start.html</string>
4134 <key>patterns</key>
4135 <array>
4136 <dict>
4137 <key>include</key>
4138 <string>#attribute</string>
4139 </dict>
4140 </array>
4141 </dict>
4142 <dict>
4143 <key>begin</key>
4144 <string>(&lt;/)([a-zA-Z][.0-9_a-zA-Z\x{00B7}\x{00C0}-\x{00D6}\x{00D8}-\x{00F6}\x{00F8}-\x{037D}\x{037F}-\x{1FFF}\x{200C}-\x{200D}\x{203F}-\x{2040}\x{2070}-\x{218F}\x{2C00}-\x{2FEF}\x{3001}-\x{D7FF}\x{F900}-\x{FDCF}\x{FDF0}-\x{FFFD}\x{10000}-\x{EFFFF}]*-[\-.0-9_a-zA-Z\x{00B7}\x{00C0}-\x{00D6}\x{00D8}-\x{00F6}\x{00F8}-\x{037D}\x{037F}-\x{1FFF}\x{200C}-\x{200D}\x{203F}-\x{2040}\x{2070}-\x{218F}\x{2C00}-\x{2FEF}\x{3001}-\x{D7FF}\x{F900}-\x{FDCF}\x{FDF0}-\x{FFFD}\x{10000}-\x{EFFFF}]*)(?=\s|/?&gt;)</string>
4145 <key>beginCaptures</key>
4146 <dict>
4147 <key>1</key>
4148 <dict>
4149 <key>name</key>
4150 <string>punctuation.definition.tag.begin.html</string>
4151 </dict>
4152 <key>2</key>
4153 <dict>
4154 <key>name</key>
4155 <string>entity.name.tag.html</string>
4156 </dict>
4157 </dict>
4158 <key>end</key>
4159 <string>&gt;</string>
4160 <key>endCaptures</key>
4161 <dict>
4162 <key>0</key>
4163 <dict>
4164 <key>name</key>
4165 <string>punctuation.definition.tag.end.html</string>
4166 </dict>
4167 </dict>
4168 <key>name</key>
4169 <string>meta.tag.custom.end.html</string>
4170 <key>patterns</key>
4171 <array>
4172 <dict>
4173 <key>include</key>
4174 <string>#attribute</string>
4175 </dict>
4176 </array>
4177 </dict>
4178 </array>
4179 </dict>
4180 <key>xml-processing</key>
4181 <dict>
4182 <key>begin</key>
4183 <string>(&lt;\?)(xml)</string>
4184 <key>captures</key>
4185 <dict>
4186 <key>1</key>
4187 <dict>
4188 <key>name</key>
4189 <string>punctuation.definition.tag.html</string>
4190 </dict>
4191 <key>2</key>
4192 <dict>
4193 <key>name</key>
4194 <string>entity.name.tag.html</string>
4195 </dict>
4196 </dict>
4197 <key>end</key>
4198 <string>(\?&gt;)</string>
4199 <key>name</key>
4200 <string>meta.tag.metadata.processing.xml.html</string>
4201 <key>patterns</key>
4202 <array>
4203 <dict>
4204 <key>include</key>
4205 <string>#attribute</string>
4206 </dict>
4207 </array>
4208 </dict>
4209 </dict>
4210 <key>scopeName</key>
4211 <string>text.html.basic</string>
4212 <key>uuid</key>
4213 <string>17994EC8-6B1D-11D9-AC3A-000D93589AF6</string>
4214</dict>
4215</plist>