github-linguist 6.3.1 → 6.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,723 +3,2540 @@
3
3
  "scopeName": "text.html.basic",
4
4
  "patterns": [
5
5
  {
6
- "name": "meta.tag.any.html",
7
- "begin": "(\u003c)([a-zA-Z][a-zA-Z0-9:-]*)(?=[^\u003e]*\u003e\u003c/\\2\u003e)",
8
- "end": "(\u003e(\u003c)/)(\\2)(\u003e)",
6
+ "name": "meta.tag.metadata.processing.xml.html",
7
+ "begin": "(\u003c\\?)(xml)",
8
+ "end": "(\\?\u003e)",
9
9
  "patterns": [
10
10
  {
11
- "include": "#tag-stuff"
11
+ "include": "#attribute"
12
12
  }
13
13
  ],
14
- "beginCaptures": {
15
- "1": {
16
- "name": "punctuation.definition.tag.html"
17
- },
18
- "2": {
19
- "name": "entity.name.tag.html"
20
- }
21
- },
22
- "endCaptures": {
14
+ "captures": {
23
15
  "1": {
24
16
  "name": "punctuation.definition.tag.html"
25
17
  },
26
18
  "2": {
27
- "name": "meta.scope.between-tag-pair.html"
28
- },
29
- "3": {
30
19
  "name": "entity.name.tag.html"
31
- },
32
- "4": {
33
- "name": "punctuation.definition.tag.html"
34
20
  }
35
21
  }
36
22
  },
37
23
  {
38
- "name": "meta.tag.preprocessor.xml.html",
39
- "begin": "(\u003c\\?)(xml)",
40
- "end": "(\\?\u003e)",
24
+ "include": "#comment"
25
+ },
26
+ {
27
+ "name": "meta.tag.metadata.doctype.html",
28
+ "begin": "\u003c!(?=(?i:DOCTYPE\\s))",
29
+ "end": "\u003e",
41
30
  "patterns": [
42
31
  {
43
- "include": "#tag-generic-attribute"
32
+ "name": "entity.name.tag.html",
33
+ "match": "\\G(?i:DOCTYPE)"
44
34
  },
45
35
  {
46
- "include": "#string-double-quoted"
36
+ "name": "string.quoted.double.html",
37
+ "begin": "\"",
38
+ "end": "\""
47
39
  },
48
40
  {
49
- "include": "#string-single-quoted"
41
+ "name": "entity.other.attribute-name.html",
42
+ "match": "[^\\s\u003e]+"
50
43
  }
51
44
  ],
52
- "captures": {
53
- "1": {
54
- "name": "punctuation.definition.tag.html"
55
- },
56
- "2": {
57
- "name": "entity.name.tag.xml.html"
58
- }
59
- }
60
- },
61
- {
62
- "name": "comment.block.html",
63
- "begin": "\u003c!--",
64
- "end": "--\\s*\u003e",
65
- "patterns": [
66
- {
67
- "name": "invalid.illegal.bad-comments-or-CDATA.html",
68
- "match": "--"
69
- },
70
- {
71
- "include": "#embedded-code"
45
+ "beginCaptures": {
46
+ "0": {
47
+ "name": "punctuation.definition.tag.begin.html"
72
48
  }
73
- ],
74
- "captures": {
49
+ },
50
+ "endCaptures": {
75
51
  "0": {
76
- "name": "punctuation.definition.comment.html"
52
+ "name": "punctuation.definition.tag.end.html"
77
53
  }
78
54
  }
79
55
  },
80
56
  {
81
- "name": "meta.tag.sgml.html",
82
- "begin": "\u003c!",
83
- "end": "\u003e",
57
+ "include": "#cdata"
58
+ },
59
+ {
60
+ "include": "#tags-valid"
61
+ },
62
+ {
63
+ "include": "#tags-invalid"
64
+ },
65
+ {
66
+ "include": "#entities"
67
+ }
68
+ ],
69
+ "repository": {
70
+ "attribute": {
84
71
  "patterns": [
85
72
  {
86
- "name": "meta.tag.sgml.doctype.html",
87
- "begin": "(?i:DOCTYPE)",
88
- "end": "(?=\u003e)",
73
+ "name": "meta.attribute.$1.html",
74
+ "begin": "(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:-])",
75
+ "end": "(?=\\s*+[^=\\s])",
89
76
  "patterns": [
90
77
  {
91
- "name": "string.quoted.double.doctype.identifiers-and-DTDs.html",
92
- "match": "\"[^\"\u003e]*\""
78
+ "include": "#attribute-interior"
93
79
  }
94
80
  ],
95
- "captures": {
96
- "1": {
97
- "name": "entity.name.tag.doctype.html"
81
+ "beginCaptures": {
82
+ "0": {
83
+ "name": "entity.other.attribute-name.html"
98
84
  }
99
85
  }
100
86
  },
101
87
  {
102
- "name": "constant.other.inline-data.html",
103
- "begin": "\\[CDATA\\[",
104
- "end": "]](?=\u003e)"
105
- },
106
- {
107
- "name": "invalid.illegal.bad-comments-or-CDATA.html",
108
- "match": "(\\s*)(?!--|\u003e)\\S(\\s*)"
109
- }
110
- ],
111
- "captures": {
112
- "0": {
113
- "name": "punctuation.definition.tag.html"
114
- }
115
- }
116
- },
117
- {
118
- "include": "#embedded-code"
119
- },
120
- {
121
- "begin": "(^[ \\t]+)?(?=\u003c(?i:style))",
122
- "end": "(?!\\G)([ \\t]*$\\n?)?",
123
- "patterns": [
124
- {
125
- "name": "meta.embedded.block.html",
126
- "begin": "(\u003c)((?i:style))\\b",
127
- "end": "(/\u003e)|((\u003c)/)((?i:style))(\u003e)",
88
+ "name": "meta.attribute.style.html",
89
+ "begin": "style(?![\\w:-])",
90
+ "end": "(?=\\s*+[^=\\s])",
128
91
  "patterns": [
129
92
  {
130
- "name": "meta.tag.metadata.style.html",
131
- "begin": "\\G",
132
- "end": "(?=/\u003e)|(\u003e)",
93
+ "begin": "=",
94
+ "end": "(?\u003c=[^\\s=])(?!\\s*=)|(?=/?\u003e)",
133
95
  "patterns": [
134
96
  {
135
- "include": "#tag-stuff"
97
+ "name": "meta.embedded.line.css",
98
+ "begin": "(?=[^\\s=\u003c\u003e`/]|/(?!\u003e))",
99
+ "end": "(?!\\G)",
100
+ "patterns": [
101
+ {
102
+ "name": "string.unquoted.html",
103
+ "match": "([^\\s\"'=\u003c\u003e`/]|/(?!\u003e))+",
104
+ "captures": {
105
+ "0": {
106
+ "name": "source.css"
107
+ }
108
+ }
109
+ },
110
+ {
111
+ "name": "string.quoted.double.html",
112
+ "contentName": "source.css",
113
+ "begin": "\"",
114
+ "end": "(\")",
115
+ "patterns": [
116
+ {
117
+ "include": "#entities"
118
+ }
119
+ ],
120
+ "beginCaptures": {
121
+ "0": {
122
+ "name": "punctuation.definition.string.begin.html"
123
+ }
124
+ },
125
+ "endCaptures": {
126
+ "0": {
127
+ "name": "punctuation.definition.string.end.html"
128
+ },
129
+ "1": {
130
+ "name": "source.css"
131
+ }
132
+ }
133
+ },
134
+ {
135
+ "name": "string.quoted.single.html",
136
+ "contentName": "source.css",
137
+ "begin": "'",
138
+ "end": "(')",
139
+ "patterns": [
140
+ {
141
+ "include": "#entities"
142
+ }
143
+ ],
144
+ "beginCaptures": {
145
+ "0": {
146
+ "name": "punctuation.definition.string.begin.html"
147
+ }
148
+ },
149
+ "endCaptures": {
150
+ "0": {
151
+ "name": "punctuation.definition.string.end.html"
152
+ },
153
+ "1": {
154
+ "name": "source.css"
155
+ }
156
+ }
157
+ }
158
+ ]
159
+ },
160
+ {
161
+ "name": "invalid.illegal.unexpected-equals-sign.html",
162
+ "match": "="
136
163
  }
137
164
  ],
138
- "captures": {
139
- "1": {
140
- "name": "punctuation.definition.tag.end.html"
165
+ "beginCaptures": {
166
+ "0": {
167
+ "name": "punctuation.separator.key-value.html"
141
168
  }
142
169
  }
143
- },
144
- {
145
- "name": "source.css",
146
- "begin": "(?!\\G)",
147
- "end": "(?=\u003c/(?i:style))",
148
- "patterns": [
149
- {
150
- "include": "#embedded-code"
151
- },
152
- {
153
- "include": "source.css"
154
- }
155
- ]
156
170
  }
157
171
  ],
158
172
  "beginCaptures": {
159
173
  "0": {
160
- "name": "meta.tag.metadata.style.html"
161
- },
162
- "1": {
163
- "name": "punctuation.definition.tag.begin.html"
164
- },
165
- "2": {
166
- "name": "entity.name.tag.html"
167
- }
168
- },
169
- "endCaptures": {
170
- "0": {
171
- "name": "meta.tag.metadata.style.html"
172
- },
173
- "1": {
174
- "name": "punctuation.definition.tag.end.html"
175
- },
176
- "2": {
177
- "name": "punctuation.definition.tag.begin.html"
178
- },
179
- "3": {
180
- "name": "source.css"
181
- },
182
- "4": {
183
- "name": "entity.name.tag.html"
184
- },
185
- "5": {
186
- "name": "punctuation.definition.tag.end.html"
174
+ "name": "entity.other.attribute-name.html"
187
175
  }
188
176
  }
189
- }
190
- ],
191
- "beginCaptures": {
192
- "1": {
193
- "name": "punctuation.whitespace.embedded.leading.html"
194
- }
195
- },
196
- "endCaptures": {
197
- "1": {
198
- "name": "punctuation.whitespace.embedded.trailing.html"
199
- }
200
- }
201
- },
202
- {
203
- "begin": "(^[ \\t]+)?(?=\u003c(?i:script))",
204
- "end": "(?!\\G)([ \\t]*$\\n?)?",
205
- "patterns": [
177
+ },
206
178
  {
207
- "name": "meta.embedded.block.html",
208
- "begin": "(\u003c)((?i:script))\\b",
209
- "end": "(/\u003e)|(/)((?i:script))(\u003e)",
179
+ "name": "meta.attribute.event-handler.$1.html",
180
+ "begin": "on(s(croll|t(orage|alled)|u(spend|bmit)|e(curitypolicyviolation|ek(ing|ed)|lect))|hashchange|c(hange|o(ntextmenu|py)|u(t|echange)|l(ick|ose)|an(cel|play(through)?))|t(imeupdate|oggle)|in(put|valid)|o(nline|ffline)|d(urationchange|r(op|ag(start|over|e(n(ter|d)|xit)|leave)?)|blclick)|un(handledrejection|load)|p(opstate|lay(ing)?|a(ste|use|ge(show|hide))|rogress)|e(nded|rror|mptied)|volumechange|key(down|up|press)|focus|w(heel|aiting)|l(oad(start|e(nd|d(data|metadata)))?|anguagechange)|a(uxclick|fterprint|bort)|r(e(s(ize|et)|jectionhandled)|atechange)|m(ouse(o(ut|ver)|down|up|enter|leave|move)|essage(error)?)|b(efore(unload|print)|lur))(?![\\w:-])",
181
+ "end": "(?=\\s*+[^=\\s])",
210
182
  "patterns": [
211
183
  {
212
- "begin": "\\G",
213
- "end": "(?=/\u003e|/)",
184
+ "begin": "=",
185
+ "end": "(?\u003c=[^\\s=])(?!\\s*=)|(?=/?\u003e)",
214
186
  "patterns": [
215
187
  {
216
- "begin": "(\u003e)",
217
- "end": "((\u003c))(?=/(?i:script))",
188
+ "name": "meta.embedded.line.js",
189
+ "begin": "(?=[^\\s=\u003c\u003e`/]|/(?!\u003e))",
190
+ "end": "(?!\\G)",
218
191
  "patterns": [
219
192
  {
220
- "name": "source.js",
221
- "begin": "\\G",
222
- "end": "(?=\u003c/(?i:script))",
223
- "patterns": [
224
- {
225
- "begin": "(^[ \\t]+)?(?=//)",
226
- "end": "(?!\\G)",
193
+ "name": "string.unquoted.html",
194
+ "match": "(([^\\s\"'=\u003c\u003e`/]|/(?!\u003e))+)",
195
+ "captures": {
196
+ "0": {
197
+ "name": "source.js"
198
+ },
199
+ "1": {
227
200
  "patterns": [
228
201
  {
229
- "name": "comment.line.double-slash.js",
230
- "begin": "//",
231
- "end": "(?=\u003c/script)|\\n",
232
- "beginCaptures": {
233
- "0": {
234
- "name": "punctuation.definition.comment.js"
235
- }
236
- }
237
- }
238
- ],
239
- "beginCaptures": {
240
- "1": {
241
- "name": "punctuation.whitespace.comment.leading.js"
242
- }
243
- }
244
- },
245
- {
246
- "name": "comment.block.js",
247
- "begin": "/\\*",
248
- "end": "\\*/|(?=\u003c/script)",
249
- "captures": {
250
- "0": {
251
- "name": "punctuation.definition.comment.js"
202
+ "include": "source.js"
252
203
  }
253
- }
254
- },
255
- {
256
- "include": "source.js"
204
+ ]
257
205
  }
258
- ]
259
- }
260
- ],
261
- "beginCaptures": {
262
- "0": {
263
- "name": "meta.tag.metadata.script.html"
264
- },
265
- "1": {
266
- "name": "punctuation.definition.tag.end.html"
267
- }
268
- },
269
- "endCaptures": {
270
- "0": {
271
- "name": "meta.tag.metadata.script.html"
272
- },
273
- "1": {
274
- "name": "punctuation.definition.tag.begin.html"
206
+ }
275
207
  },
276
- "2": {
277
- "name": "source.js"
278
- }
279
- }
280
- },
281
- {
282
- "name": "meta.tag.metadata.script.html",
283
- "begin": "\\G",
284
- "end": "(?i:(?=/?\u003e|type(?=[\\s=])(?!\\s*=\\s*('|\"|)(text/(javascript|ecmascript|babel)|application/((x-)?javascript|ecmascript|babel)|module)[\\s\"'\u003e])))",
285
- "patterns": [
286
- {
287
- "include": "#tag-stuff"
288
- }
289
- ]
290
- },
291
- {
292
- "begin": "(?=(?i:type\\s*=\\s*('|\"|)(text/(x-handlebars|(x-(handlebars-)?|ng-)?template|html)[\\s\"'\u003e])))",
293
- "end": "((\u003c))(?=/(?i:script))",
294
- "patterns": [
295
208
  {
296
- "name": "meta.tag.metadata.script.html",
297
- "begin": "\\G",
298
- "end": "(\u003e)|(?=/\u003e)",
209
+ "name": "string.quoted.double.html",
210
+ "contentName": "source.js",
211
+ "begin": "\"",
212
+ "end": "(\")",
299
213
  "patterns": [
300
214
  {
301
- "include": "#tag-stuff"
215
+ "match": "[^\\n\"]+",
216
+ "captures": {
217
+ "0": {
218
+ "patterns": [
219
+ {
220
+ "include": "source.js"
221
+ }
222
+ ]
223
+ }
224
+ }
302
225
  }
303
226
  ],
227
+ "beginCaptures": {
228
+ "0": {
229
+ "name": "punctuation.definition.string.begin.html"
230
+ }
231
+ },
304
232
  "endCaptures": {
233
+ "0": {
234
+ "name": "punctuation.definition.string.end.html"
235
+ },
305
236
  "1": {
306
- "name": "punctuation.definition.tag.end.html"
237
+ "name": "source.js"
307
238
  }
308
239
  }
309
240
  },
310
241
  {
311
- "name": "text.html.basic",
312
- "begin": "(?!\\G)",
313
- "end": "(?=\u003c/(?i:script))",
314
- "patterns": [
315
- {
316
- "include": "text.html.basic"
317
- }
318
- ]
319
- }
320
- ],
321
- "endCaptures": {
322
- "0": {
323
- "name": "meta.tag.metadata.script.html"
324
- },
325
- "1": {
326
- "name": "punctuation.definition.tag.begin.html"
327
- },
328
- "2": {
329
- "name": "text.html.basic"
330
- }
331
- }
332
- },
333
- {
334
- "begin": "(?=(?i:type))",
335
- "end": "(\u003c)(?=/(?i:script))",
336
- "patterns": [
337
- {
338
- "name": "meta.tag.metadata.script.html",
339
- "begin": "\\G",
340
- "end": "(\u003e)|(?=/\u003e)",
242
+ "name": "string.quoted.single.html",
243
+ "contentName": "source.js",
244
+ "begin": "'",
245
+ "end": "(')",
341
246
  "patterns": [
342
247
  {
343
- "include": "#tag-stuff"
248
+ "match": "[^\\n']+",
249
+ "captures": {
250
+ "0": {
251
+ "patterns": [
252
+ {
253
+ "include": "source.js"
254
+ }
255
+ ]
256
+ }
257
+ }
344
258
  }
345
259
  ],
260
+ "beginCaptures": {
261
+ "0": {
262
+ "name": "punctuation.definition.string.begin.html"
263
+ }
264
+ },
346
265
  "endCaptures": {
266
+ "0": {
267
+ "name": "punctuation.definition.string.end.html"
268
+ },
347
269
  "1": {
348
- "name": "punctuation.definition.tag.end.html"
270
+ "name": "source.js"
349
271
  }
350
272
  }
351
- },
352
- {
353
- "name": "source.unknown",
354
- "begin": "(?!\\G)",
355
- "end": "(?=\u003c/(?i:script))"
356
273
  }
357
- ],
358
- "endCaptures": {
359
- "0": {
360
- "name": "meta.tag.metadata.script.html"
361
- },
362
- "1": {
363
- "name": "punctuation.definition.tag.begin.html"
364
- }
365
- }
274
+ ]
275
+ },
276
+ {
277
+ "name": "invalid.illegal.unexpected-equals-sign.html",
278
+ "match": "="
366
279
  }
367
- ]
280
+ ],
281
+ "beginCaptures": {
282
+ "0": {
283
+ "name": "punctuation.separator.key-value.html"
284
+ }
285
+ }
368
286
  }
369
287
  ],
370
288
  "beginCaptures": {
371
289
  "0": {
372
- "name": "meta.tag.metadata.script.html"
373
- },
374
- "1": {
375
- "name": "punctuation.definition.tag.begin.html"
376
- },
377
- "2": {
378
- "name": "entity.name.tag.html"
290
+ "name": "entity.other.attribute-name.html"
379
291
  }
380
- },
381
- "endCaptures": {
292
+ }
293
+ },
294
+ {
295
+ "name": "meta.attribute.data-x.$1.html",
296
+ "begin": "(data-[a-z\\-]+)(?![\\w:-])",
297
+ "end": "(?=\\s*+[^=\\s])",
298
+ "patterns": [
299
+ {
300
+ "include": "#attribute-interior"
301
+ }
302
+ ],
303
+ "beginCaptures": {
382
304
  "0": {
383
- "name": "meta.tag.metadata.script.html"
384
- },
385
- "1": {
386
- "name": "punctuation.definition.tag.end.html"
387
- },
388
- "2": {
389
- "name": "punctuation.definition.tag.begin.html"
390
- },
391
- "3": {
392
- "name": "entity.name.tag.html"
393
- },
394
- "4": {
395
- "name": "punctuation.definition.tag.end.html"
305
+ "name": "entity.other.attribute-name.html"
396
306
  }
397
307
  }
398
- }
399
- ],
400
- "beginCaptures": {
401
- "1": {
402
- "name": "punctuation.whitespace.embedded.leading.html"
403
- }
404
- },
405
- "endCaptures": {
406
- "1": {
407
- "name": "punctuation.whitespace.embedded.trailing.html"
408
- }
409
- }
410
- },
411
- {
412
- "name": "meta.tag.structure.any.html",
413
- "begin": "(\u003c/?)((?i:body|head|html)\\b)",
414
- "end": "(\u003e)",
415
- "patterns": [
308
+ },
416
309
  {
417
- "include": "#tag-stuff"
418
- }
419
- ],
420
- "captures": {
421
- "1": {
422
- "name": "punctuation.definition.tag.html"
310
+ "name": "meta.attribute.$1.html",
311
+ "begin": "(align|bgcolor|border)(?![\\w:-])",
312
+ "end": "(?=\\s*+[^=\\s])",
313
+ "patterns": [
314
+ {
315
+ "include": "#attribute-interior"
316
+ }
317
+ ],
318
+ "beginCaptures": {
319
+ "0": {
320
+ "name": "invalid.deprecated.entity.other.attribute-name.html"
321
+ }
322
+ }
423
323
  },
424
- "2": {
425
- "name": "entity.name.tag.structure.any.html"
426
- }
427
- }
428
- },
429
- {
430
- "name": "meta.tag.block.any.html",
431
- "begin": "(\u003c/?)((?i:address|blockquote|dd|div|section|article|aside|header|footer|nav|menu|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|pre)\\b)",
432
- "end": "(\u003e)",
433
- "patterns": [
434
324
  {
435
- "include": "#tag-stuff"
436
- }
437
- ],
438
- "beginCaptures": {
439
- "1": {
440
- "name": "punctuation.definition.tag.begin.html"
325
+ "name": "meta.attribute.unrecognized.$1.html",
326
+ "begin": "([^\\x{0020}\"'\u003c\u003e/=\\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}]+)",
327
+ "end": "(?=\\s*+[^=\\s])",
328
+ "patterns": [
329
+ {
330
+ "include": "#attribute-interior"
331
+ }
332
+ ],
333
+ "beginCaptures": {
334
+ "0": {
335
+ "name": "entity.other.attribute-name.html"
336
+ }
337
+ }
441
338
  },
442
- "2": {
443
- "name": "entity.name.tag.block.any.html"
444
- }
445
- },
446
- "endCaptures": {
447
- "1": {
448
- "name": "punctuation.definition.tag.end.html"
339
+ {
340
+ "name": "invalid.illegal.character-not-allowed-here.html",
341
+ "match": "[^\\s\u003e]+"
449
342
  }
450
- }
343
+ ]
451
344
  },
452
- {
453
- "name": "meta.tag.inline.any.html",
454
- "begin": "(\u003c/?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)\\b(?!-))",
455
- "end": "((?: ?/)?\u003e)",
345
+ "attribute-interior": {
456
346
  "patterns": [
457
347
  {
458
- "include": "#tag-stuff"
348
+ "begin": "=",
349
+ "end": "(?\u003c=[^\\s=])(?!\\s*=)|(?=/?\u003e)",
350
+ "patterns": [
351
+ {
352
+ "name": "string.unquoted.html",
353
+ "match": "([^\\s\"'=\u003c\u003e`/]|/(?!\u003e))+"
354
+ },
355
+ {
356
+ "name": "string.quoted.double.html",
357
+ "begin": "\"",
358
+ "end": "\"",
359
+ "patterns": [
360
+ {
361
+ "include": "#entities"
362
+ }
363
+ ],
364
+ "beginCaptures": {
365
+ "0": {
366
+ "name": "punctuation.definition.string.begin.html"
367
+ }
368
+ },
369
+ "endCaptures": {
370
+ "0": {
371
+ "name": "punctuation.definition.string.end.html"
372
+ }
373
+ }
374
+ },
375
+ {
376
+ "name": "string.quoted.single.html",
377
+ "begin": "'",
378
+ "end": "'",
379
+ "patterns": [
380
+ {
381
+ "include": "#entities"
382
+ }
383
+ ],
384
+ "beginCaptures": {
385
+ "0": {
386
+ "name": "punctuation.definition.string.begin.html"
387
+ }
388
+ },
389
+ "endCaptures": {
390
+ "0": {
391
+ "name": "punctuation.definition.string.end.html"
392
+ }
393
+ }
394
+ },
395
+ {
396
+ "name": "invalid.illegal.unexpected-equals-sign.html",
397
+ "match": "="
398
+ }
399
+ ],
400
+ "beginCaptures": {
401
+ "0": {
402
+ "name": "punctuation.separator.key-value.html"
403
+ }
404
+ }
459
405
  }
460
- ],
406
+ ]
407
+ },
408
+ "cdata": {
409
+ "name": "meta.tag.metadata.cdata.html",
410
+ "contentName": "string.other.inline-data.html",
411
+ "begin": "\u003c!\\[CDATA\\[",
412
+ "end": "]]\u003e",
461
413
  "beginCaptures": {
462
- "1": {
414
+ "0": {
463
415
  "name": "punctuation.definition.tag.begin.html"
464
- },
465
- "2": {
466
- "name": "entity.name.tag.inline.any.html"
467
416
  }
468
417
  },
469
418
  "endCaptures": {
470
- "1": {
419
+ "0": {
471
420
  "name": "punctuation.definition.tag.end.html"
472
421
  }
473
422
  }
474
423
  },
475
- {
476
- "name": "meta.tag.other.html",
477
- "begin": "(\u003c/?)([a-zA-Z][a-zA-Z0-9:-]*)",
478
- "end": "(/?\u003e)",
424
+ "comment": {
425
+ "name": "comment.block.html",
426
+ "begin": "\u003c!--",
427
+ "end": "--\u003e",
479
428
  "patterns": [
480
429
  {
481
- "include": "#tag-stuff"
482
- }
483
- ],
484
- "beginCaptures": {
485
- "1": {
486
- "name": "punctuation.definition.tag.begin.html"
430
+ "name": "invalid.illegal.characters-not-allowed-here.html",
431
+ "match": "\\G-?\u003e"
487
432
  },
488
- "2": {
489
- "name": "entity.name.tag.other.html"
490
- }
491
- },
492
- "endCaptures": {
493
- "1": {
494
- "name": "punctuation.definition.tag.end.html"
495
- }
496
- }
497
- },
498
- {
499
- "include": "#entities"
500
- },
501
- {
502
- "name": "invalid.illegal.incomplete.html",
503
- "match": "\u003c\u003e"
504
- }
505
- ],
506
- "repository": {
507
- "embedded-code": {
508
- "patterns": [
509
433
  {
510
- "include": "#smarty"
434
+ "name": "invalid.illegal.characters-not-allowed-here.html",
435
+ "match": "\u003c!--(?!\u003e)|\u003c!-(?=--\u003e)"
511
436
  },
512
437
  {
513
- "include": "#python"
438
+ "name": "invalid.illegal.characters-not-allowed-here.html",
439
+ "match": "--!\u003e"
514
440
  }
515
- ]
441
+ ],
442
+ "captures": {
443
+ "0": {
444
+ "name": "punctuation.definition.comment.html"
445
+ }
446
+ }
516
447
  },
517
448
  "entities": {
518
449
  "patterns": [
519
450
  {
520
- "name": "constant.character.entity.html",
521
- "match": "(\u0026)([a-zA-Z0-9]+|#[0-9]+|#[xX][0-9a-fA-F]+)(;)",
451
+ "name": "constant.character.entity.named.$2.html",
452
+ "match": "(?x)\n\t\t\t\t\t\t(\u0026)\t(?=[a-zA-Z])\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t(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))\n\t\t\t\t\t\t | (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)?))\n\t\t\t\t\t\t | (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))\n\t\t\t\t\t\t | (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)))\n\t\t\t\t\t\t | (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)))\n\t\t\t\t\t\t | (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))\n\t\t\t\t\t\t | (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))\n\t\t\t\t\t\t | (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))\n\t\t\t\t\t\t | (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))?))\n\t\t\t\t\t\t | (j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))\n\t\t\t\t\t\t | (k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))\n\t\t\t\t\t\t | (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))\n\t\t\t\t\t\t | (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)))\n\t\t\t\t\t\t | (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))\n\t\t\t\t\t\t | (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)))\n\t\t\t\t\t\t | (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)?)?))\n\t\t\t\t\t\t | (q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))\n\t\t\t\t\t\t | (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)))\n\t\t\t\t\t\t | (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))\n\t\t\t\t\t\t | (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))\n\t\t\t\t\t\t | (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)))\n\t\t\t\t\t\t | (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))\n\t\t\t\t\t\t | (w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))\n\t\t\t\t\t\t | (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))\n\t\t\t\t\t\t | (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))\n\t\t\t\t\t\t | (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))\n\t\t\t\t\t\t)\n\t\t\t\t\t\t(;)\n\t\t\t\t\t",
522
453
  "captures": {
523
454
  "1": {
524
455
  "name": "punctuation.definition.entity.html"
525
456
  },
526
- "3": {
457
+ "912": {
527
458
  "name": "punctuation.definition.entity.html"
528
459
  }
529
460
  }
530
461
  },
531
462
  {
532
- "name": "invalid.illegal.bad-ampersand.html",
533
- "match": "\u0026"
534
- }
535
- ]
536
- },
537
- "python": {
538
- "name": "source.python.embedded.html",
539
- "begin": "(?:^\\s*)\u003c\\?python(?!.*\\?\u003e)",
540
- "end": "\\?\u003e(?:\\s*$\\n)?",
541
- "patterns": [
542
- {
543
- "include": "source.python"
544
- }
545
- ]
546
- },
547
- "smarty": {
548
- "patterns": [
549
- {
550
- "begin": "(\\{(literal)\\})",
551
- "end": "(\\{/(literal)\\})",
463
+ "name": "constant.character.entity.numeric.decimal.html",
464
+ "match": "(\u0026)#[0-9]+(;)",
552
465
  "captures": {
553
466
  "1": {
554
- "name": "source.smarty.embedded.html"
467
+ "name": "punctuation.definition.entity.html"
555
468
  },
556
- "2": {
557
- "name": "support.function.built-in.smarty"
469
+ "3": {
470
+ "name": "punctuation.definition.entity.html"
558
471
  }
559
472
  }
560
473
  },
561
474
  {
562
- "name": "source.smarty.embedded.html",
563
- "begin": "{{|{",
564
- "end": "}}|}",
565
- "patterns": [
566
- {}
567
- ],
568
- "disabled": true
569
- }
570
- ]
571
- },
572
- "string-double-quoted": {
573
- "name": "string.quoted.double.html",
574
- "begin": "\"",
575
- "end": "\"",
576
- "patterns": [
577
- {
578
- "include": "#embedded-code"
579
- },
580
- {
581
- "include": "#entities"
582
- }
583
- ],
584
- "beginCaptures": {
585
- "0": {
586
- "name": "punctuation.definition.string.begin.html"
587
- }
588
- },
589
- "endCaptures": {
590
- "0": {
591
- "name": "punctuation.definition.string.end.html"
592
- }
593
- }
594
- },
595
- "string-single-quoted": {
596
- "name": "string.quoted.single.html",
597
- "begin": "'",
598
- "end": "'",
599
- "patterns": [
600
- {
601
- "include": "#embedded-code"
475
+ "name": "constant.character.entity.numeric.hexadecimal.html",
476
+ "match": "(\u0026)#[xX][0-9a-fA-F]+(;)",
477
+ "captures": {
478
+ "1": {
479
+ "name": "punctuation.definition.entity.html"
480
+ },
481
+ "3": {
482
+ "name": "punctuation.definition.entity.html"
483
+ }
484
+ }
602
485
  },
603
486
  {
604
- "include": "#entities"
605
- }
606
- ],
607
- "beginCaptures": {
608
- "0": {
609
- "name": "punctuation.definition.string.begin.html"
610
- }
611
- },
612
- "endCaptures": {
613
- "0": {
614
- "name": "punctuation.definition.string.end.html"
487
+ "name": "invalid.illegal.ambiguous-ampersand.html",
488
+ "match": "\u0026(?=[a-zA-Z0-9]+;)"
615
489
  }
616
- }
617
- },
618
- "tag-generic-attribute": {
619
- "name": "entity.other.attribute-name.html",
620
- "match": "(?\u003c=[^=])\\b([a-zA-Z0-9:-]+)"
490
+ ]
621
491
  },
622
- "tag-id-attribute": {
623
- "name": "meta.attribute-with-value.id.html",
624
- "begin": "\\b(id)\\b\\s*(=)",
625
- "end": "(?!\\G)(?\u003c='|\"|[^\\s\u003c\u003e/])",
492
+ "math": {
626
493
  "patterns": [
627
494
  {
628
- "name": "string.quoted.double.html",
629
- "contentName": "meta.toc-list.id.html",
630
- "begin": "\"",
631
- "end": "\"",
495
+ "name": "meta.element.structure.$2.html",
496
+ "begin": "(?i)(\u003c)(math)(?=\\s|/?\u003e)(?:(([^\"'\u003e]|\"[^\"]*\"|'[^']*')*)(\u003e))?",
497
+ "end": "(?i)(\u003c/)(\\2)\\s*(\u003e)",
632
498
  "patterns": [
633
499
  {
634
- "include": "#embedded-code"
500
+ "name": "meta.tag.structure.start.html",
501
+ "begin": "(?\u003c!\u003e)\\G",
502
+ "end": "\u003e",
503
+ "patterns": [
504
+ {
505
+ "include": "#attribute"
506
+ }
507
+ ],
508
+ "endCaptures": {
509
+ "0": {
510
+ "name": "punctuation.definition.tag.end.html"
511
+ }
512
+ }
635
513
  },
636
514
  {
637
- "include": "#entities"
515
+ "include": "#tags"
638
516
  }
639
517
  ],
640
518
  "beginCaptures": {
641
519
  "0": {
642
- "name": "punctuation.definition.string.begin.html"
520
+ "name": "meta.tag.structure.$2.start.html"
521
+ },
522
+ "1": {
523
+ "name": "punctuation.definition.tag.begin.html"
524
+ },
525
+ "2": {
526
+ "name": "entity.name.tag.html"
527
+ },
528
+ "3": {
529
+ "patterns": [
530
+ {
531
+ "include": "#attribute"
532
+ }
533
+ ]
534
+ },
535
+ "5": {
536
+ "name": "punctuation.definition.tag.end.html"
643
537
  }
644
538
  },
645
539
  "endCaptures": {
646
540
  "0": {
647
- "name": "punctuation.definition.string.end.html"
541
+ "name": "meta.tag.structure.$2.end.html"
542
+ },
543
+ "1": {
544
+ "name": "punctuation.definition.tag.begin.html"
545
+ },
546
+ "2": {
547
+ "name": "entity.name.tag.html"
548
+ },
549
+ "3": {
550
+ "name": "punctuation.definition.tag.end.html"
648
551
  }
649
552
  }
650
- },
651
- {
652
- "name": "string.quoted.single.html",
653
- "contentName": "meta.toc-list.id.html",
654
- "begin": "'",
655
- "end": "'",
553
+ }
554
+ ],
555
+ "repository": {
556
+ "attribute": {
656
557
  "patterns": [
657
558
  {
658
- "include": "#embedded-code"
559
+ "name": "meta.attribute.$1.html",
560
+ "begin": "(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:-])",
561
+ "end": "(?=\\s*+[^=\\s])",
562
+ "patterns": [
563
+ {
564
+ "include": "#attribute-interior"
565
+ }
566
+ ],
567
+ "beginCaptures": {
568
+ "0": {
569
+ "name": "entity.other.attribute-name.html"
570
+ }
571
+ }
659
572
  },
660
573
  {
661
- "include": "#entities"
662
- }
663
- ],
664
- "beginCaptures": {
665
- "0": {
666
- "name": "punctuation.definition.string.begin.html"
667
- }
668
- },
669
- "endCaptures": {
574
+ "name": "meta.attribute.unrecognized.$1.html",
575
+ "begin": "([^\\x{0020}\"'\u003c\u003e/=\\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}]+)",
576
+ "end": "(?=\\s*+[^=\\s])",
577
+ "patterns": [
578
+ {
579
+ "include": "#attribute-interior"
580
+ }
581
+ ],
582
+ "beginCaptures": {
583
+ "0": {
584
+ "name": "entity.other.attribute-name.html"
585
+ }
586
+ }
587
+ },
588
+ {
589
+ "name": "invalid.illegal.character-not-allowed-here.html",
590
+ "match": "[^\\s\u003e]+"
591
+ }
592
+ ]
593
+ },
594
+ "tags": {
595
+ "patterns": [
596
+ {
597
+ "include": "#comment"
598
+ },
599
+ {
600
+ "include": "#cdata"
601
+ },
602
+ {
603
+ "name": "meta.element.structure.math.$2.html",
604
+ "match": "(?i)(\u003c)(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|/?\u003e)(?:(([^\"'\u003e]|\"[^\"]*\"|'[^']*')*)(/\u003e))",
605
+ "captures": {
606
+ "0": {
607
+ "name": "meta.tag.structure.math.$2.void.html"
608
+ },
609
+ "1": {
610
+ "name": "punctuation.definition.tag.begin.html"
611
+ },
612
+ "2": {
613
+ "name": "entity.name.tag.html"
614
+ },
615
+ "3": {
616
+ "patterns": [
617
+ {
618
+ "include": "#attribute"
619
+ }
620
+ ]
621
+ },
622
+ "5": {
623
+ "name": "punctuation.definition.tag.end.html"
624
+ }
625
+ }
626
+ },
627
+ {
628
+ "name": "meta.element.structure.math.$2.html",
629
+ "begin": "(?i)(\u003c)(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|/?\u003e)(?:(([^\"'\u003e]|\"[^\"]*\"|'[^']*')*)(\u003e))?",
630
+ "end": "(?i)(\u003c/)(\\2)\\s*(\u003e)|(/\u003e)|(?=\u003c/\\w+)",
631
+ "patterns": [
632
+ {
633
+ "name": "meta.tag.structure.start.html",
634
+ "begin": "(?\u003c!\u003e)\\G",
635
+ "end": "(?=/\u003e)|\u003e",
636
+ "patterns": [
637
+ {
638
+ "include": "#attribute"
639
+ }
640
+ ],
641
+ "endCaptures": {
642
+ "0": {
643
+ "name": "punctuation.definition.tag.end.html"
644
+ }
645
+ }
646
+ },
647
+ {
648
+ "include": "#tags"
649
+ }
650
+ ],
651
+ "beginCaptures": {
652
+ "0": {
653
+ "name": "meta.tag.structure.math.$2.start.html"
654
+ },
655
+ "1": {
656
+ "name": "punctuation.definition.tag.begin.html"
657
+ },
658
+ "2": {
659
+ "name": "entity.name.tag.html"
660
+ },
661
+ "3": {
662
+ "patterns": [
663
+ {
664
+ "include": "#attribute"
665
+ }
666
+ ]
667
+ },
668
+ "5": {
669
+ "name": "punctuation.definition.tag.end.html"
670
+ }
671
+ },
672
+ "endCaptures": {
673
+ "0": {
674
+ "name": "meta.tag.structure.math.$2.end.html"
675
+ },
676
+ "1": {
677
+ "name": "punctuation.definition.tag.begin.html"
678
+ },
679
+ "2": {
680
+ "name": "entity.name.tag.html"
681
+ },
682
+ "3": {
683
+ "name": "punctuation.definition.tag.end.html"
684
+ },
685
+ "4": {
686
+ "name": "punctuation.definition.tag.end.html"
687
+ }
688
+ }
689
+ },
690
+ {
691
+ "name": "meta.element.inline.math.$2.html",
692
+ "match": "(?i)(\u003c)(mi|mn|mo|ms|mspace|mtext|maligngroup|malignmark)(?=\\s|/?\u003e)(?:(([^\"'\u003e]|\"[^\"]*\"|'[^']*')*)(/\u003e))",
693
+ "captures": {
694
+ "0": {
695
+ "name": "meta.tag.inline.math.$2.void.html"
696
+ },
697
+ "1": {
698
+ "name": "punctuation.definition.tag.begin.html"
699
+ },
700
+ "2": {
701
+ "name": "entity.name.tag.html"
702
+ },
703
+ "3": {
704
+ "patterns": [
705
+ {
706
+ "include": "#attribute"
707
+ }
708
+ ]
709
+ },
710
+ "5": {
711
+ "name": "punctuation.definition.tag.end.html"
712
+ }
713
+ }
714
+ },
715
+ {
716
+ "name": "meta.element.inline.math.$2.html",
717
+ "begin": "(?i)(\u003c)(mi|mn|mo|ms|mspace|mtext|maligngroup|malignmark)(?=\\s|/?\u003e)(?:(([^\"'\u003e]|\"[^\"]*\"|'[^']*')*)(\u003e))?",
718
+ "end": "(?i)(\u003c/)(\\2)\\s*(\u003e)|(/\u003e)|(?=\u003c/\\w+)",
719
+ "patterns": [
720
+ {
721
+ "name": "meta.tag.inline.start.html",
722
+ "begin": "(?\u003c!\u003e)\\G",
723
+ "end": "(?=/\u003e)|\u003e",
724
+ "patterns": [
725
+ {
726
+ "include": "#attribute"
727
+ }
728
+ ],
729
+ "endCaptures": {
730
+ "0": {
731
+ "name": "punctuation.definition.tag.end.html"
732
+ }
733
+ }
734
+ },
735
+ {
736
+ "include": "#tags"
737
+ }
738
+ ],
739
+ "beginCaptures": {
740
+ "0": {
741
+ "name": "meta.tag.inline.math.$2.start.html"
742
+ },
743
+ "1": {
744
+ "name": "punctuation.definition.tag.begin.html"
745
+ },
746
+ "2": {
747
+ "name": "entity.name.tag.html"
748
+ },
749
+ "3": {
750
+ "patterns": [
751
+ {
752
+ "include": "#attribute"
753
+ }
754
+ ]
755
+ },
756
+ "5": {
757
+ "name": "punctuation.definition.tag.end.html"
758
+ }
759
+ },
760
+ "endCaptures": {
761
+ "0": {
762
+ "name": "meta.tag.inline.math.$2.end.html"
763
+ },
764
+ "1": {
765
+ "name": "punctuation.definition.tag.begin.html"
766
+ },
767
+ "2": {
768
+ "name": "entity.name.tag.html"
769
+ },
770
+ "3": {
771
+ "name": "punctuation.definition.tag.end.html"
772
+ },
773
+ "4": {
774
+ "name": "punctuation.definition.tag.end.html"
775
+ }
776
+ }
777
+ },
778
+ {
779
+ "name": "meta.element.object.math.$2.html",
780
+ "match": "(?i)(\u003c)(mglyph)(?=\\s|/?\u003e)(?:(([^\"'\u003e]|\"[^\"]*\"|'[^']*')*)(/\u003e))",
781
+ "captures": {
782
+ "0": {
783
+ "name": "meta.tag.object.math.$2.void.html"
784
+ },
785
+ "1": {
786
+ "name": "punctuation.definition.tag.begin.html"
787
+ },
788
+ "2": {
789
+ "name": "entity.name.tag.html"
790
+ },
791
+ "3": {
792
+ "patterns": [
793
+ {
794
+ "include": "#attribute"
795
+ }
796
+ ]
797
+ },
798
+ "5": {
799
+ "name": "punctuation.definition.tag.end.html"
800
+ }
801
+ }
802
+ },
803
+ {
804
+ "name": "meta.element.object.math.$2.html",
805
+ "begin": "(?i)(\u003c)(mglyph)(?=\\s|/?\u003e)(?:(([^\"'\u003e]|\"[^\"]*\"|'[^']*')*)(\u003e))?",
806
+ "end": "(?i)(\u003c/)(\\2)\\s*(\u003e)|(/\u003e)|(?=\u003c/\\w+)",
807
+ "patterns": [
808
+ {
809
+ "name": "meta.tag.object.start.html",
810
+ "begin": "(?\u003c!\u003e)\\G",
811
+ "end": "(?=/\u003e)|\u003e",
812
+ "patterns": [
813
+ {
814
+ "include": "#attribute"
815
+ }
816
+ ],
817
+ "endCaptures": {
818
+ "0": {
819
+ "name": "punctuation.definition.tag.end.html"
820
+ }
821
+ }
822
+ },
823
+ {
824
+ "include": "#tags"
825
+ }
826
+ ],
827
+ "beginCaptures": {
828
+ "0": {
829
+ "name": "meta.tag.object.math.$2.start.html"
830
+ },
831
+ "1": {
832
+ "name": "punctuation.definition.tag.begin.html"
833
+ },
834
+ "2": {
835
+ "name": "entity.name.tag.html"
836
+ },
837
+ "3": {
838
+ "patterns": [
839
+ {
840
+ "include": "#attribute"
841
+ }
842
+ ]
843
+ },
844
+ "5": {
845
+ "name": "punctuation.definition.tag.end.html"
846
+ }
847
+ },
848
+ "endCaptures": {
849
+ "0": {
850
+ "name": "meta.tag.object.math.$2.end.html"
851
+ },
852
+ "1": {
853
+ "name": "punctuation.definition.tag.begin.html"
854
+ },
855
+ "2": {
856
+ "name": "entity.name.tag.html"
857
+ },
858
+ "3": {
859
+ "name": "punctuation.definition.tag.end.html"
860
+ },
861
+ "4": {
862
+ "name": "punctuation.definition.tag.end.html"
863
+ }
864
+ }
865
+ },
866
+ {
867
+ "name": "meta.element.other.invalid.html",
868
+ "match": "(?i)(\u003c)(([\\w:]+))(?=\\s|/?\u003e)(?:(([^\"'\u003e]|\"[^\"]*\"|'[^']*')*)(/\u003e))",
869
+ "captures": {
870
+ "0": {
871
+ "name": "meta.tag.other.invalid.void.html"
872
+ },
873
+ "1": {
874
+ "name": "punctuation.definition.tag.begin.html"
875
+ },
876
+ "2": {
877
+ "name": "entity.name.tag.html"
878
+ },
879
+ "3": {
880
+ "name": "invalid.illegal.unrecognized-tag.html"
881
+ },
882
+ "4": {
883
+ "patterns": [
884
+ {
885
+ "include": "#attribute"
886
+ }
887
+ ]
888
+ },
889
+ "6": {
890
+ "name": "punctuation.definition.tag.end.html"
891
+ }
892
+ }
893
+ },
894
+ {
895
+ "name": "meta.element.other.invalid.html",
896
+ "begin": "(?i)(\u003c)((\\w[^\\s\u003e]*))(?=\\s|/?\u003e)(?:(([^\"'\u003e]|\"[^\"]*\"|'[^']*')*)(\u003e))?",
897
+ "end": "(?i)(\u003c/)((\\2))\\s*(\u003e)|(/\u003e)|(?=\u003c/\\w+)",
898
+ "patterns": [
899
+ {
900
+ "name": "meta.tag.other.invalid.start.html",
901
+ "begin": "(?\u003c!\u003e)\\G",
902
+ "end": "(?=/\u003e)|\u003e",
903
+ "patterns": [
904
+ {
905
+ "include": "#attribute"
906
+ }
907
+ ],
908
+ "endCaptures": {
909
+ "0": {
910
+ "name": "punctuation.definition.tag.end.html"
911
+ }
912
+ }
913
+ },
914
+ {
915
+ "include": "#tags"
916
+ }
917
+ ],
918
+ "beginCaptures": {
919
+ "0": {
920
+ "name": "meta.tag.other.invalid.start.html"
921
+ },
922
+ "1": {
923
+ "name": "punctuation.definition.tag.begin.html"
924
+ },
925
+ "2": {
926
+ "name": "entity.name.tag.html"
927
+ },
928
+ "3": {
929
+ "name": "invalid.illegal.unrecognized-tag.html"
930
+ },
931
+ "4": {
932
+ "patterns": [
933
+ {
934
+ "include": "#attribute"
935
+ }
936
+ ]
937
+ },
938
+ "6": {
939
+ "name": "punctuation.definition.tag.end.html"
940
+ }
941
+ },
942
+ "endCaptures": {
943
+ "0": {
944
+ "name": "meta.tag.other.invalid.end.html"
945
+ },
946
+ "1": {
947
+ "name": "punctuation.definition.tag.begin.html"
948
+ },
949
+ "2": {
950
+ "name": "entity.name.tag.html"
951
+ },
952
+ "3": {
953
+ "name": "invalid.illegal.unrecognized-tag.html"
954
+ },
955
+ "4": {
956
+ "name": "punctuation.definition.tag.end.html"
957
+ },
958
+ "5": {
959
+ "name": "punctuation.definition.tag.end.html"
960
+ }
961
+ }
962
+ },
963
+ {
964
+ "include": "#tags-invalid"
965
+ }
966
+ ]
967
+ }
968
+ }
969
+ },
970
+ "svg": {
971
+ "patterns": [
972
+ {
973
+ "name": "meta.element.structure.$2.html",
974
+ "begin": "(?i)(\u003c)(svg)(?=\\s|/?\u003e)(?:(([^\"'\u003e]|\"[^\"]*\"|'[^']*')*)(\u003e))?",
975
+ "end": "(?i)(\u003c/)(\\2)\\s*(\u003e)",
976
+ "patterns": [
977
+ {
978
+ "name": "meta.tag.structure.start.html",
979
+ "begin": "(?\u003c!\u003e)\\G",
980
+ "end": "\u003e",
981
+ "patterns": [
982
+ {
983
+ "include": "#attribute"
984
+ }
985
+ ],
986
+ "endCaptures": {
987
+ "0": {
988
+ "name": "punctuation.definition.tag.end.html"
989
+ }
990
+ }
991
+ },
992
+ {
993
+ "include": "#tags"
994
+ }
995
+ ],
996
+ "beginCaptures": {
997
+ "0": {
998
+ "name": "meta.tag.structure.$2.start.html"
999
+ },
1000
+ "1": {
1001
+ "name": "punctuation.definition.tag.begin.html"
1002
+ },
1003
+ "2": {
1004
+ "name": "entity.name.tag.html"
1005
+ },
1006
+ "3": {
1007
+ "patterns": [
1008
+ {
1009
+ "include": "#attribute"
1010
+ }
1011
+ ]
1012
+ },
1013
+ "5": {
1014
+ "name": "punctuation.definition.tag.end.html"
1015
+ }
1016
+ },
1017
+ "endCaptures": {
1018
+ "0": {
1019
+ "name": "meta.tag.structure.$2.end.html"
1020
+ },
1021
+ "1": {
1022
+ "name": "punctuation.definition.tag.begin.html"
1023
+ },
1024
+ "2": {
1025
+ "name": "entity.name.tag.html"
1026
+ },
1027
+ "3": {
1028
+ "name": "punctuation.definition.tag.end.html"
1029
+ }
1030
+ }
1031
+ }
1032
+ ],
1033
+ "repository": {
1034
+ "attribute": {
1035
+ "patterns": [
1036
+ {
1037
+ "name": "meta.attribute.$1.html",
1038
+ "begin": "(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:-])",
1039
+ "end": "(?=\\s*+[^=\\s])",
1040
+ "patterns": [
1041
+ {
1042
+ "include": "#attribute-interior"
1043
+ }
1044
+ ],
1045
+ "beginCaptures": {
1046
+ "0": {
1047
+ "name": "entity.other.attribute-name.html"
1048
+ }
1049
+ }
1050
+ },
1051
+ {
1052
+ "name": "meta.attribute.unrecognized.$1.html",
1053
+ "begin": "([^\\x{0020}\"'\u003c\u003e/=\\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}]+)",
1054
+ "end": "(?=\\s*+[^=\\s])",
1055
+ "patterns": [
1056
+ {
1057
+ "include": "#attribute-interior"
1058
+ }
1059
+ ],
1060
+ "beginCaptures": {
1061
+ "0": {
1062
+ "name": "entity.other.attribute-name.html"
1063
+ }
1064
+ }
1065
+ },
1066
+ {
1067
+ "name": "invalid.illegal.character-not-allowed-here.html",
1068
+ "match": "[^\\s\u003e]+"
1069
+ }
1070
+ ]
1071
+ },
1072
+ "tags": {
1073
+ "patterns": [
1074
+ {
1075
+ "include": "#comment"
1076
+ },
1077
+ {
1078
+ "include": "#cdata"
1079
+ },
1080
+ {
1081
+ "name": "meta.element.metadata.svg.$2.html",
1082
+ "match": "(?i)(\u003c)(color-profile|desc|metadata|script|style|title)(?=\\s|/?\u003e)(?:(([^\"'\u003e]|\"[^\"]*\"|'[^']*')*)(/\u003e))",
1083
+ "captures": {
1084
+ "0": {
1085
+ "name": "meta.tag.metadata.svg.$2.void.html"
1086
+ },
1087
+ "1": {
1088
+ "name": "punctuation.definition.tag.begin.html"
1089
+ },
1090
+ "2": {
1091
+ "name": "entity.name.tag.html"
1092
+ },
1093
+ "3": {
1094
+ "patterns": [
1095
+ {
1096
+ "include": "#attribute"
1097
+ }
1098
+ ]
1099
+ },
1100
+ "5": {
1101
+ "name": "punctuation.definition.tag.end.html"
1102
+ }
1103
+ }
1104
+ },
1105
+ {
1106
+ "name": "meta.element.metadata.svg.$2.html",
1107
+ "begin": "(?i)(\u003c)(color-profile|desc|metadata|script|style|title)(?=\\s|/?\u003e)(?:(([^\"'\u003e]|\"[^\"]*\"|'[^']*')*)(\u003e))?",
1108
+ "end": "(?i)(\u003c/)(\\2)\\s*(\u003e)|(/\u003e)|(?=\u003c/\\w+)",
1109
+ "patterns": [
1110
+ {
1111
+ "name": "meta.tag.metadata.start.html",
1112
+ "begin": "(?\u003c!\u003e)\\G",
1113
+ "end": "(?=/\u003e)|\u003e",
1114
+ "patterns": [
1115
+ {
1116
+ "include": "#attribute"
1117
+ }
1118
+ ],
1119
+ "endCaptures": {
1120
+ "0": {
1121
+ "name": "punctuation.definition.tag.end.html"
1122
+ }
1123
+ }
1124
+ },
1125
+ {
1126
+ "include": "#tags"
1127
+ }
1128
+ ],
1129
+ "beginCaptures": {
1130
+ "0": {
1131
+ "name": "meta.tag.metadata.svg.$2.start.html"
1132
+ },
1133
+ "1": {
1134
+ "name": "punctuation.definition.tag.begin.html"
1135
+ },
1136
+ "2": {
1137
+ "name": "entity.name.tag.html"
1138
+ },
1139
+ "3": {
1140
+ "patterns": [
1141
+ {
1142
+ "include": "#attribute"
1143
+ }
1144
+ ]
1145
+ },
1146
+ "5": {
1147
+ "name": "punctuation.definition.tag.end.html"
1148
+ }
1149
+ },
1150
+ "endCaptures": {
1151
+ "0": {
1152
+ "name": "meta.tag.metadata.svg.$2.end.html"
1153
+ },
1154
+ "1": {
1155
+ "name": "punctuation.definition.tag.begin.html"
1156
+ },
1157
+ "2": {
1158
+ "name": "entity.name.tag.html"
1159
+ },
1160
+ "3": {
1161
+ "name": "punctuation.definition.tag.end.html"
1162
+ },
1163
+ "4": {
1164
+ "name": "punctuation.definition.tag.end.html"
1165
+ }
1166
+ }
1167
+ },
1168
+ {
1169
+ "name": "meta.element.structure.svg.$2.html",
1170
+ "match": "(?i)(\u003c)(animateMotion|clipPath|defs|feComponentTransfer|feDiffuseLighting|feMerge|feSpecularLighting|filter|g|hatch|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|pattern|radialGradient|switch|text|textPath)(?=\\s|/?\u003e)(?:(([^\"'\u003e]|\"[^\"]*\"|'[^']*')*)(/\u003e))",
1171
+ "captures": {
1172
+ "0": {
1173
+ "name": "meta.tag.structure.svg.$2.void.html"
1174
+ },
1175
+ "1": {
1176
+ "name": "punctuation.definition.tag.begin.html"
1177
+ },
1178
+ "2": {
1179
+ "name": "entity.name.tag.html"
1180
+ },
1181
+ "3": {
1182
+ "patterns": [
1183
+ {
1184
+ "include": "#attribute"
1185
+ }
1186
+ ]
1187
+ },
1188
+ "5": {
1189
+ "name": "punctuation.definition.tag.end.html"
1190
+ }
1191
+ }
1192
+ },
1193
+ {
1194
+ "name": "meta.element.structure.svg.$2.html",
1195
+ "begin": "(?i)(\u003c)(animateMotion|clipPath|defs|feComponentTransfer|feDiffuseLighting|feMerge|feSpecularLighting|filter|g|hatch|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|pattern|radialGradient|switch|text|textPath)(?=\\s|/?\u003e)(?:(([^\"'\u003e]|\"[^\"]*\"|'[^']*')*)(\u003e))?",
1196
+ "end": "(?i)(\u003c/)(\\2)\\s*(\u003e)|(/\u003e)|(?=\u003c/\\w+)",
1197
+ "patterns": [
1198
+ {
1199
+ "name": "meta.tag.structure.start.html",
1200
+ "begin": "(?\u003c!\u003e)\\G",
1201
+ "end": "(?=/\u003e)|\u003e",
1202
+ "patterns": [
1203
+ {
1204
+ "include": "#attribute"
1205
+ }
1206
+ ],
1207
+ "endCaptures": {
1208
+ "0": {
1209
+ "name": "punctuation.definition.tag.end.html"
1210
+ }
1211
+ }
1212
+ },
1213
+ {
1214
+ "include": "#tags"
1215
+ }
1216
+ ],
1217
+ "beginCaptures": {
1218
+ "0": {
1219
+ "name": "meta.tag.structure.svg.$2.start.html"
1220
+ },
1221
+ "1": {
1222
+ "name": "punctuation.definition.tag.begin.html"
1223
+ },
1224
+ "2": {
1225
+ "name": "entity.name.tag.html"
1226
+ },
1227
+ "3": {
1228
+ "patterns": [
1229
+ {
1230
+ "include": "#attribute"
1231
+ }
1232
+ ]
1233
+ },
1234
+ "5": {
1235
+ "name": "punctuation.definition.tag.end.html"
1236
+ }
1237
+ },
1238
+ "endCaptures": {
1239
+ "0": {
1240
+ "name": "meta.tag.structure.svg.$2.end.html"
1241
+ },
1242
+ "1": {
1243
+ "name": "punctuation.definition.tag.begin.html"
1244
+ },
1245
+ "2": {
1246
+ "name": "entity.name.tag.html"
1247
+ },
1248
+ "3": {
1249
+ "name": "punctuation.definition.tag.end.html"
1250
+ },
1251
+ "4": {
1252
+ "name": "punctuation.definition.tag.end.html"
1253
+ }
1254
+ }
1255
+ },
1256
+ {
1257
+ "name": "meta.element.inline.svg.$2.html",
1258
+ "match": "(?i)(\u003c)(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|/?\u003e)(?:(([^\"'\u003e]|\"[^\"]*\"|'[^']*')*)(/\u003e))",
1259
+ "captures": {
1260
+ "0": {
1261
+ "name": "meta.tag.inline.svg.$2.void.html"
1262
+ },
1263
+ "1": {
1264
+ "name": "punctuation.definition.tag.begin.html"
1265
+ },
1266
+ "2": {
1267
+ "name": "entity.name.tag.html"
1268
+ },
1269
+ "3": {
1270
+ "patterns": [
1271
+ {
1272
+ "include": "#attribute"
1273
+ }
1274
+ ]
1275
+ },
1276
+ "5": {
1277
+ "name": "punctuation.definition.tag.end.html"
1278
+ }
1279
+ }
1280
+ },
1281
+ {
1282
+ "name": "meta.element.inline.svg.$2.html",
1283
+ "begin": "(?i)(\u003c)(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|/?\u003e)(?:(([^\"'\u003e]|\"[^\"]*\"|'[^']*')*)(\u003e))?",
1284
+ "end": "(?i)(\u003c/)(\\2)\\s*(\u003e)|(/\u003e)|(?=\u003c/\\w+)",
1285
+ "patterns": [
1286
+ {
1287
+ "name": "meta.tag.inline.start.html",
1288
+ "begin": "(?\u003c!\u003e)\\G",
1289
+ "end": "(?=/\u003e)|\u003e",
1290
+ "patterns": [
1291
+ {
1292
+ "include": "#attribute"
1293
+ }
1294
+ ],
1295
+ "endCaptures": {
1296
+ "0": {
1297
+ "name": "punctuation.definition.tag.end.html"
1298
+ }
1299
+ }
1300
+ },
1301
+ {
1302
+ "include": "#tags"
1303
+ }
1304
+ ],
1305
+ "beginCaptures": {
1306
+ "0": {
1307
+ "name": "meta.tag.inline.svg.$2.start.html"
1308
+ },
1309
+ "1": {
1310
+ "name": "punctuation.definition.tag.begin.html"
1311
+ },
1312
+ "2": {
1313
+ "name": "entity.name.tag.html"
1314
+ },
1315
+ "3": {
1316
+ "patterns": [
1317
+ {
1318
+ "include": "#attribute"
1319
+ }
1320
+ ]
1321
+ },
1322
+ "5": {
1323
+ "name": "punctuation.definition.tag.end.html"
1324
+ }
1325
+ },
1326
+ "endCaptures": {
1327
+ "0": {
1328
+ "name": "meta.tag.inline.svg.$2.end.html"
1329
+ },
1330
+ "1": {
1331
+ "name": "punctuation.definition.tag.begin.html"
1332
+ },
1333
+ "2": {
1334
+ "name": "entity.name.tag.html"
1335
+ },
1336
+ "3": {
1337
+ "name": "punctuation.definition.tag.end.html"
1338
+ },
1339
+ "4": {
1340
+ "name": "punctuation.definition.tag.end.html"
1341
+ }
1342
+ }
1343
+ },
1344
+ {
1345
+ "name": "meta.element.object.svg.$2.html",
1346
+ "match": "(?i)(\u003c)(circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\\s|/?\u003e)(?:(([^\"'\u003e]|\"[^\"]*\"|'[^']*')*)(/\u003e))",
1347
+ "captures": {
1348
+ "0": {
1349
+ "name": "meta.tag.object.svg.$2.void.html"
1350
+ },
1351
+ "1": {
1352
+ "name": "punctuation.definition.tag.begin.html"
1353
+ },
1354
+ "2": {
1355
+ "name": "entity.name.tag.html"
1356
+ },
1357
+ "3": {
1358
+ "patterns": [
1359
+ {
1360
+ "include": "#attribute"
1361
+ }
1362
+ ]
1363
+ },
1364
+ "5": {
1365
+ "name": "punctuation.definition.tag.end.html"
1366
+ }
1367
+ }
1368
+ },
1369
+ {
1370
+ "name": "meta.element.object.svg.$2.html",
1371
+ "begin": "(?i)(\u003c)(a|circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\\s|/?\u003e)(?:(([^\"'\u003e]|\"[^\"]*\"|'[^']*')*)(\u003e))?",
1372
+ "end": "(?i)(\u003c/)(\\2)\\s*(\u003e)|(/\u003e)|(?=\u003c/\\w+)",
1373
+ "patterns": [
1374
+ {
1375
+ "name": "meta.tag.object.start.html",
1376
+ "begin": "(?\u003c!\u003e)\\G",
1377
+ "end": "(?=/\u003e)|\u003e",
1378
+ "patterns": [
1379
+ {
1380
+ "include": "#attribute"
1381
+ }
1382
+ ],
1383
+ "endCaptures": {
1384
+ "0": {
1385
+ "name": "punctuation.definition.tag.end.html"
1386
+ }
1387
+ }
1388
+ },
1389
+ {
1390
+ "include": "#tags"
1391
+ }
1392
+ ],
1393
+ "beginCaptures": {
1394
+ "0": {
1395
+ "name": "meta.tag.object.svg.$2.start.html"
1396
+ },
1397
+ "1": {
1398
+ "name": "punctuation.definition.tag.begin.html"
1399
+ },
1400
+ "2": {
1401
+ "name": "entity.name.tag.html"
1402
+ },
1403
+ "3": {
1404
+ "patterns": [
1405
+ {
1406
+ "include": "#attribute"
1407
+ }
1408
+ ]
1409
+ },
1410
+ "5": {
1411
+ "name": "punctuation.definition.tag.end.html"
1412
+ }
1413
+ },
1414
+ "endCaptures": {
1415
+ "0": {
1416
+ "name": "meta.tag.object.svg.$2.end.html"
1417
+ },
1418
+ "1": {
1419
+ "name": "punctuation.definition.tag.begin.html"
1420
+ },
1421
+ "2": {
1422
+ "name": "entity.name.tag.html"
1423
+ },
1424
+ "3": {
1425
+ "name": "punctuation.definition.tag.end.html"
1426
+ },
1427
+ "4": {
1428
+ "name": "punctuation.definition.tag.end.html"
1429
+ }
1430
+ }
1431
+ },
1432
+ {
1433
+ "name": "meta.element.other.svg.$2.html",
1434
+ "match": "(?i)(\u003c)((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|/?\u003e)(?:(([^\"'\u003e]|\"[^\"]*\"|'[^']*')*)(/\u003e))",
1435
+ "captures": {
1436
+ "0": {
1437
+ "name": "meta.tag.other.svg.$2.void.html"
1438
+ },
1439
+ "1": {
1440
+ "name": "punctuation.definition.tag.begin.html"
1441
+ },
1442
+ "2": {
1443
+ "name": "entity.name.tag.html"
1444
+ },
1445
+ "3": {
1446
+ "name": "invalid.deprecated.html"
1447
+ },
1448
+ "4": {
1449
+ "patterns": [
1450
+ {
1451
+ "include": "#attribute"
1452
+ }
1453
+ ]
1454
+ },
1455
+ "6": {
1456
+ "name": "punctuation.definition.tag.end.html"
1457
+ }
1458
+ }
1459
+ },
1460
+ {
1461
+ "name": "meta.element.other.svg.$2.html",
1462
+ "begin": "(?i)(\u003c)((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|/?\u003e)(?:(([^\"'\u003e]|\"[^\"]*\"|'[^']*')*)(\u003e))?",
1463
+ "end": "(?i)(\u003c/)((\\2))\\s*(\u003e)|(/\u003e)|(?=\u003c/\\w+)",
1464
+ "patterns": [
1465
+ {
1466
+ "name": "meta.tag.other.start.html",
1467
+ "begin": "(?\u003c!\u003e)\\G",
1468
+ "end": "(?=/\u003e)|\u003e",
1469
+ "patterns": [
1470
+ {
1471
+ "include": "#attribute"
1472
+ }
1473
+ ],
1474
+ "endCaptures": {
1475
+ "0": {
1476
+ "name": "punctuation.definition.tag.end.html"
1477
+ }
1478
+ }
1479
+ },
1480
+ {
1481
+ "include": "#tags"
1482
+ }
1483
+ ],
1484
+ "beginCaptures": {
1485
+ "0": {
1486
+ "name": "meta.tag.other.svg.$2.start.html"
1487
+ },
1488
+ "1": {
1489
+ "name": "punctuation.definition.tag.begin.html"
1490
+ },
1491
+ "2": {
1492
+ "name": "entity.name.tag.html"
1493
+ },
1494
+ "3": {
1495
+ "name": "invalid.deprecated.html"
1496
+ },
1497
+ "4": {
1498
+ "patterns": [
1499
+ {
1500
+ "include": "#attribute"
1501
+ }
1502
+ ]
1503
+ },
1504
+ "6": {
1505
+ "name": "punctuation.definition.tag.end.html"
1506
+ }
1507
+ },
1508
+ "endCaptures": {
1509
+ "0": {
1510
+ "name": "meta.tag.other.svg.$2.end.html"
1511
+ },
1512
+ "1": {
1513
+ "name": "punctuation.definition.tag.begin.html"
1514
+ },
1515
+ "2": {
1516
+ "name": "entity.name.tag.html"
1517
+ },
1518
+ "3": {
1519
+ "name": "invalid.deprecated.html"
1520
+ },
1521
+ "4": {
1522
+ "name": "punctuation.definition.tag.end.html"
1523
+ },
1524
+ "5": {
1525
+ "name": "punctuation.definition.tag.end.html"
1526
+ }
1527
+ }
1528
+ },
1529
+ {
1530
+ "name": "meta.element.other.invalid.html",
1531
+ "match": "(?i)(\u003c)(([\\w:]+))(?=\\s|/?\u003e)(?:(([^\"'\u003e]|\"[^\"]*\"|'[^']*')*)(/\u003e))",
1532
+ "captures": {
1533
+ "0": {
1534
+ "name": "meta.tag.other.invalid.void.html"
1535
+ },
1536
+ "1": {
1537
+ "name": "punctuation.definition.tag.begin.html"
1538
+ },
1539
+ "2": {
1540
+ "name": "entity.name.tag.html"
1541
+ },
1542
+ "3": {
1543
+ "name": "invalid.illegal.unrecognized-tag.html"
1544
+ },
1545
+ "4": {
1546
+ "patterns": [
1547
+ {
1548
+ "include": "#attribute"
1549
+ }
1550
+ ]
1551
+ },
1552
+ "6": {
1553
+ "name": "punctuation.definition.tag.end.html"
1554
+ }
1555
+ }
1556
+ },
1557
+ {
1558
+ "name": "meta.element.other.invalid.html",
1559
+ "begin": "(?i)(\u003c)((\\w[^\\s\u003e]*))(?=\\s|/?\u003e)(?:(([^\"'\u003e]|\"[^\"]*\"|'[^']*')*)(\u003e))?",
1560
+ "end": "(?i)(\u003c/)((\\2))\\s*(\u003e)|(/\u003e)|(?=\u003c/\\w+)",
1561
+ "patterns": [
1562
+ {
1563
+ "name": "meta.tag.other.invalid.start.html",
1564
+ "begin": "(?\u003c!\u003e)\\G",
1565
+ "end": "(?=/\u003e)|\u003e",
1566
+ "patterns": [
1567
+ {
1568
+ "include": "#attribute"
1569
+ }
1570
+ ],
1571
+ "endCaptures": {
1572
+ "0": {
1573
+ "name": "punctuation.definition.tag.end.html"
1574
+ }
1575
+ }
1576
+ },
1577
+ {
1578
+ "include": "#tags"
1579
+ }
1580
+ ],
1581
+ "beginCaptures": {
1582
+ "0": {
1583
+ "name": "meta.tag.other.invalid.start.html"
1584
+ },
1585
+ "1": {
1586
+ "name": "punctuation.definition.tag.begin.html"
1587
+ },
1588
+ "2": {
1589
+ "name": "entity.name.tag.html"
1590
+ },
1591
+ "3": {
1592
+ "name": "invalid.illegal.unrecognized-tag.html"
1593
+ },
1594
+ "4": {
1595
+ "patterns": [
1596
+ {
1597
+ "include": "#attribute"
1598
+ }
1599
+ ]
1600
+ },
1601
+ "6": {
1602
+ "name": "punctuation.definition.tag.end.html"
1603
+ }
1604
+ },
1605
+ "endCaptures": {
1606
+ "0": {
1607
+ "name": "meta.tag.other.invalid.end.html"
1608
+ },
1609
+ "1": {
1610
+ "name": "punctuation.definition.tag.begin.html"
1611
+ },
1612
+ "2": {
1613
+ "name": "entity.name.tag.html"
1614
+ },
1615
+ "3": {
1616
+ "name": "invalid.illegal.unrecognized-tag.html"
1617
+ },
1618
+ "4": {
1619
+ "name": "punctuation.definition.tag.end.html"
1620
+ },
1621
+ "5": {
1622
+ "name": "punctuation.definition.tag.end.html"
1623
+ }
1624
+ }
1625
+ },
1626
+ {
1627
+ "include": "#tags-invalid"
1628
+ }
1629
+ ]
1630
+ }
1631
+ }
1632
+ },
1633
+ "tags-invalid": {
1634
+ "patterns": [
1635
+ {
1636
+ "name": "meta.tag.other.$2.html",
1637
+ "begin": "(\u003c/?)((\\w[^\\s\u003e]*))(?\u003c!/)",
1638
+ "end": "((?: ?/)?\u003e)",
1639
+ "patterns": [
1640
+ {
1641
+ "include": "#attribute"
1642
+ }
1643
+ ],
1644
+ "beginCaptures": {
1645
+ "1": {
1646
+ "name": "punctuation.definition.tag.begin.html"
1647
+ },
1648
+ "2": {
1649
+ "name": "entity.name.tag.html"
1650
+ },
1651
+ "3": {
1652
+ "name": "invalid.illegal.unrecognized-tag.html"
1653
+ }
1654
+ },
1655
+ "endCaptures": {
1656
+ "1": {
1657
+ "name": "punctuation.definition.tag.end.html"
1658
+ }
1659
+ }
1660
+ }
1661
+ ]
1662
+ },
1663
+ "tags-valid": {
1664
+ "patterns": [
1665
+ {
1666
+ "begin": "(^[ \\t]+)?(?=\u003c(?i:style)\\b(?!-))",
1667
+ "end": "(?!\\G)([ \\t]*$\\n?)?",
1668
+ "patterns": [
1669
+ {
1670
+ "name": "meta.embedded.block.html",
1671
+ "begin": "(?i)(\u003c)(style)(?=\\s|/?\u003e)",
1672
+ "end": "(?i)((\u003c)/)(style)\\s*(\u003e)",
1673
+ "patterns": [
1674
+ {
1675
+ "name": "meta.tag.metadata.style.start.html",
1676
+ "begin": "\\G",
1677
+ "end": "(\u003e)",
1678
+ "patterns": [
1679
+ {
1680
+ "include": "#attribute"
1681
+ }
1682
+ ],
1683
+ "captures": {
1684
+ "1": {
1685
+ "name": "punctuation.definition.tag.end.html"
1686
+ }
1687
+ }
1688
+ },
1689
+ {
1690
+ "name": "source.css",
1691
+ "begin": "(?!\\G)",
1692
+ "end": "(?=\u003c/(?i:style))",
1693
+ "patterns": [
1694
+ {
1695
+ "include": "source.css"
1696
+ }
1697
+ ]
1698
+ }
1699
+ ],
1700
+ "beginCaptures": {
1701
+ "0": {
1702
+ "name": "meta.tag.metadata.style.start.html"
1703
+ },
1704
+ "1": {
1705
+ "name": "punctuation.definition.tag.begin.html"
1706
+ },
1707
+ "2": {
1708
+ "name": "entity.name.tag.html"
1709
+ }
1710
+ },
1711
+ "endCaptures": {
1712
+ "0": {
1713
+ "name": "meta.tag.metadata.style.end.html"
1714
+ },
1715
+ "1": {
1716
+ "name": "punctuation.definition.tag.begin.html"
1717
+ },
1718
+ "2": {
1719
+ "name": "source.css"
1720
+ },
1721
+ "3": {
1722
+ "name": "entity.name.tag.html"
1723
+ },
1724
+ "4": {
1725
+ "name": "punctuation.definition.tag.end.html"
1726
+ }
1727
+ }
1728
+ }
1729
+ ],
1730
+ "beginCaptures": {
1731
+ "1": {
1732
+ "name": "punctuation.whitespace.embedded.leading.html"
1733
+ }
1734
+ },
1735
+ "endCaptures": {
1736
+ "1": {
1737
+ "name": "punctuation.whitespace.embedded.trailing.html"
1738
+ }
1739
+ }
1740
+ },
1741
+ {
1742
+ "begin": "(^[ \\t]+)?(?=\u003c(?i:script)\\b(?!-))",
1743
+ "end": "(?!\\G)([ \\t]*$\\n?)?",
1744
+ "patterns": [
1745
+ {
1746
+ "name": "meta.embedded.block.html",
1747
+ "begin": "(\u003c)((?i:script))\\b",
1748
+ "end": "(/)((?i:script))(\u003e)",
1749
+ "patterns": [
1750
+ {
1751
+ "begin": "\\G",
1752
+ "end": "(?=/)",
1753
+ "patterns": [
1754
+ {
1755
+ "begin": "(\u003e)",
1756
+ "end": "((\u003c))(?=/(?i:script))",
1757
+ "patterns": [
1758
+ {
1759
+ "name": "source.js",
1760
+ "begin": "\\G",
1761
+ "end": "(?=\u003c/(?i:script))",
1762
+ "patterns": [
1763
+ {
1764
+ "begin": "(^[ \\t]+)?(?=//)",
1765
+ "end": "(?!\\G)",
1766
+ "patterns": [
1767
+ {
1768
+ "name": "comment.line.double-slash.js",
1769
+ "begin": "//",
1770
+ "end": "(?=\u003c/script)|\\n",
1771
+ "beginCaptures": {
1772
+ "0": {
1773
+ "name": "punctuation.definition.comment.js"
1774
+ }
1775
+ }
1776
+ }
1777
+ ],
1778
+ "beginCaptures": {
1779
+ "1": {
1780
+ "name": "punctuation.whitespace.comment.leading.js"
1781
+ }
1782
+ }
1783
+ },
1784
+ {
1785
+ "name": "comment.block.js",
1786
+ "begin": "/\\*",
1787
+ "end": "\\*/|(?=\u003c/script)",
1788
+ "captures": {
1789
+ "0": {
1790
+ "name": "punctuation.definition.comment.js"
1791
+ }
1792
+ }
1793
+ },
1794
+ {
1795
+ "include": "source.js"
1796
+ }
1797
+ ]
1798
+ }
1799
+ ],
1800
+ "beginCaptures": {
1801
+ "0": {
1802
+ "name": "meta.tag.metadata.script.start.html"
1803
+ },
1804
+ "1": {
1805
+ "name": "punctuation.definition.tag.end.html"
1806
+ }
1807
+ },
1808
+ "endCaptures": {
1809
+ "0": {
1810
+ "name": "meta.tag.metadata.script.end.html"
1811
+ },
1812
+ "1": {
1813
+ "name": "punctuation.definition.tag.begin.html"
1814
+ },
1815
+ "2": {
1816
+ "name": "source.js"
1817
+ }
1818
+ }
1819
+ },
1820
+ {
1821
+ "name": "meta.tag.metadata.script.start.html",
1822
+ "begin": "\\G",
1823
+ "end": "(?ix:\n\t\t\t\t\t\t\t\t\t\t\t\t(?=\u003e\t\t\t\t\t\t\t\t\t\t\t# Tag without type attribute\n\t\t\t\t\t\t\t\t\t\t\t\t | type(?=[\\s=])\n\t\t\t\t\t\t\t\t\t\t\t\t \t(?!\\s*=\\s*\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t''\t\t\t\t\t\t\t\t# Empty\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t | \"\"\t\t\t\t\t\t\t\t\t# Values\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t | ('|\"|)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttext/\t\t\t\t\t\t\t# Text mime-types\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tjavascript(1\\.[0-5])?\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t | x-javascript\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t | jscript\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t | livescript\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t | (x-)?ecmascript\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t | babel\t\t\t\t\t\t# Javascript variant currently\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t\t\t\t\t\t\t\t# recognized as such\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t | application/\t\t\t\t\t# Application mime-types\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(x-)?javascript\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t | (x-)?ecmascript\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t | module\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[\\s\"'\u003e]\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t)",
1824
+ "patterns": [
1825
+ {
1826
+ "include": "#attribute"
1827
+ }
1828
+ ]
1829
+ },
1830
+ {
1831
+ "begin": "(?ix:\n\t\t\t\t\t\t\t\t\t\t\t\t(?=\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype\\s*=\\s*\n\t\t\t\t\t\t\t\t\t\t\t\t\t('|\"|)\n\t\t\t\t\t\t\t\t\t\t\t\t\ttext/\n\t\t\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tx-handlebars\n\t\t\t\t\t\t\t\t\t\t\t\t\t | (x-(handlebars-)?|ng-)?template\n\t\t\t\t\t\t\t\t\t\t\t\t\t | html\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t[\\s\"'\u003e]\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t)",
1832
+ "end": "((\u003c))(?=/(?i:script))",
1833
+ "patterns": [
1834
+ {
1835
+ "name": "meta.tag.metadata.script.start.html",
1836
+ "begin": "\\G",
1837
+ "end": "(\u003e)",
1838
+ "patterns": [
1839
+ {
1840
+ "include": "#attribute"
1841
+ }
1842
+ ],
1843
+ "endCaptures": {
1844
+ "1": {
1845
+ "name": "punctuation.definition.tag.end.html"
1846
+ }
1847
+ }
1848
+ },
1849
+ {
1850
+ "name": "text.html.basic",
1851
+ "begin": "(?!\\G)",
1852
+ "end": "(?=\u003c/(?i:script))",
1853
+ "patterns": [
1854
+ {
1855
+ "include": "text.html.basic"
1856
+ }
1857
+ ]
1858
+ }
1859
+ ],
1860
+ "endCaptures": {
1861
+ "0": {
1862
+ "name": "meta.tag.metadata.script.end.html"
1863
+ },
1864
+ "1": {
1865
+ "name": "punctuation.definition.tag.begin.html"
1866
+ },
1867
+ "2": {
1868
+ "name": "text.html.basic"
1869
+ }
1870
+ }
1871
+ },
1872
+ {
1873
+ "begin": "(?=(?i:type))",
1874
+ "end": "(\u003c)(?=/(?i:script))",
1875
+ "patterns": [
1876
+ {
1877
+ "name": "meta.tag.metadata.script.start.html",
1878
+ "begin": "\\G",
1879
+ "end": "(\u003e)",
1880
+ "patterns": [
1881
+ {
1882
+ "include": "#attribute"
1883
+ }
1884
+ ],
1885
+ "endCaptures": {
1886
+ "1": {
1887
+ "name": "punctuation.definition.tag.end.html"
1888
+ }
1889
+ }
1890
+ },
1891
+ {
1892
+ "name": "source.unknown",
1893
+ "begin": "(?!\\G)",
1894
+ "end": "(?=\u003c/(?i:script))"
1895
+ }
1896
+ ],
1897
+ "endCaptures": {
1898
+ "0": {
1899
+ "name": "meta.tag.metadata.script.end.html"
1900
+ },
1901
+ "1": {
1902
+ "name": "punctuation.definition.tag.begin.html"
1903
+ }
1904
+ }
1905
+ }
1906
+ ]
1907
+ }
1908
+ ],
1909
+ "beginCaptures": {
1910
+ "0": {
1911
+ "name": "meta.tag.metadata.script.start.html"
1912
+ },
1913
+ "1": {
1914
+ "name": "punctuation.definition.tag.begin.html"
1915
+ },
1916
+ "2": {
1917
+ "name": "entity.name.tag.html"
1918
+ }
1919
+ },
1920
+ "endCaptures": {
1921
+ "0": {
1922
+ "name": "meta.tag.metadata.script.end.html"
1923
+ },
1924
+ "1": {
1925
+ "name": "punctuation.definition.tag.begin.html"
1926
+ },
1927
+ "2": {
1928
+ "name": "entity.name.tag.html"
1929
+ },
1930
+ "3": {
1931
+ "name": "punctuation.definition.tag.end.html"
1932
+ }
1933
+ }
1934
+ }
1935
+ ],
1936
+ "beginCaptures": {
1937
+ "1": {
1938
+ "name": "punctuation.whitespace.embedded.leading.html"
1939
+ }
1940
+ },
1941
+ "endCaptures": {
1942
+ "1": {
1943
+ "name": "punctuation.whitespace.embedded.trailing.html"
1944
+ }
1945
+ }
1946
+ },
1947
+ {
1948
+ "name": "meta.tag.metadata.$2.void.html",
1949
+ "begin": "(?i)(\u003c)(base|link|meta)(?=\\s|/?\u003e)",
1950
+ "end": "/?\u003e",
1951
+ "patterns": [
1952
+ {
1953
+ "include": "#attribute"
1954
+ }
1955
+ ],
1956
+ "beginCaptures": {
1957
+ "1": {
1958
+ "name": "punctuation.definition.tag.begin.html"
1959
+ },
1960
+ "2": {
1961
+ "name": "entity.name.tag.html"
1962
+ }
1963
+ },
1964
+ "endCaptures": {
1965
+ "0": {
1966
+ "name": "punctuation.definition.tag.end.html"
1967
+ }
1968
+ }
1969
+ },
1970
+ {
1971
+ "name": "meta.tag.metadata.$2.start.html",
1972
+ "begin": "(?i)(\u003c)(noscript|title)(?=\\s|/?\u003e)",
1973
+ "end": "\u003e",
1974
+ "patterns": [
1975
+ {
1976
+ "include": "#attribute"
1977
+ }
1978
+ ],
1979
+ "beginCaptures": {
1980
+ "1": {
1981
+ "name": "punctuation.definition.tag.begin.html"
1982
+ },
1983
+ "2": {
1984
+ "name": "entity.name.tag.html"
1985
+ }
1986
+ },
1987
+ "endCaptures": {
1988
+ "0": {
1989
+ "name": "punctuation.definition.tag.end.html"
1990
+ }
1991
+ }
1992
+ },
1993
+ {
1994
+ "name": "meta.tag.metadata.$2.end.html",
1995
+ "begin": "(?i)(\u003c/)(noscript|title)(?=\\s|/?\u003e)",
1996
+ "end": "\u003e",
1997
+ "patterns": [
1998
+ {
1999
+ "include": "#attribute"
2000
+ }
2001
+ ],
2002
+ "beginCaptures": {
2003
+ "1": {
2004
+ "name": "punctuation.definition.tag.begin.html"
2005
+ },
2006
+ "2": {
2007
+ "name": "entity.name.tag.html"
2008
+ }
2009
+ },
2010
+ "endCaptures": {
2011
+ "0": {
2012
+ "name": "punctuation.definition.tag.end.html"
2013
+ }
2014
+ }
2015
+ },
2016
+ {
2017
+ "name": "meta.tag.structure.$2.void.html",
2018
+ "begin": "(?i)(\u003c)(col|hr|input)(?=\\s|/?\u003e)",
2019
+ "end": "/?\u003e",
2020
+ "patterns": [
2021
+ {
2022
+ "include": "#attribute"
2023
+ }
2024
+ ],
2025
+ "beginCaptures": {
2026
+ "1": {
2027
+ "name": "punctuation.definition.tag.begin.html"
2028
+ },
2029
+ "2": {
2030
+ "name": "entity.name.tag.html"
2031
+ }
2032
+ },
2033
+ "endCaptures": {
2034
+ "0": {
2035
+ "name": "punctuation.definition.tag.end.html"
2036
+ }
2037
+ }
2038
+ },
2039
+ {
2040
+ "name": "meta.tag.structure.$2.start.html",
2041
+ "begin": "(?i)(\u003c)(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|/?\u003e)",
2042
+ "end": "\u003e",
2043
+ "patterns": [
2044
+ {
2045
+ "include": "#attribute"
2046
+ }
2047
+ ],
2048
+ "beginCaptures": {
2049
+ "1": {
2050
+ "name": "punctuation.definition.tag.begin.html"
2051
+ },
2052
+ "2": {
2053
+ "name": "entity.name.tag.html"
2054
+ }
2055
+ },
2056
+ "endCaptures": {
2057
+ "0": {
2058
+ "name": "punctuation.definition.tag.end.html"
2059
+ }
2060
+ }
2061
+ },
2062
+ {
2063
+ "name": "meta.tag.structure.$2.end.html",
2064
+ "begin": "(?i)(\u003c/)(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|/?\u003e)",
2065
+ "end": "\u003e",
2066
+ "patterns": [
2067
+ {
2068
+ "include": "#attribute"
2069
+ }
2070
+ ],
2071
+ "beginCaptures": {
2072
+ "1": {
2073
+ "name": "punctuation.definition.tag.begin.html"
2074
+ },
2075
+ "2": {
2076
+ "name": "entity.name.tag.html"
2077
+ }
2078
+ },
2079
+ "endCaptures": {
2080
+ "0": {
2081
+ "name": "punctuation.definition.tag.end.html"
2082
+ }
2083
+ }
2084
+ },
2085
+ {
2086
+ "name": "meta.tag.inline.$2.void.html",
2087
+ "begin": "(?i)(\u003c)(area|br|wbr)(?=\\s|/?\u003e)",
2088
+ "end": "/?\u003e",
2089
+ "patterns": [
2090
+ {
2091
+ "include": "#attribute"
2092
+ }
2093
+ ],
2094
+ "beginCaptures": {
2095
+ "1": {
2096
+ "name": "punctuation.definition.tag.begin.html"
2097
+ },
2098
+ "2": {
2099
+ "name": "entity.name.tag.html"
2100
+ }
2101
+ },
2102
+ "endCaptures": {
2103
+ "0": {
2104
+ "name": "punctuation.definition.tag.end.html"
2105
+ }
2106
+ }
2107
+ },
2108
+ {
2109
+ "name": "meta.tag.inline.$2.start.html",
2110
+ "begin": "(?i)(\u003c)(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|/?\u003e)",
2111
+ "end": "\u003e",
2112
+ "patterns": [
2113
+ {
2114
+ "include": "#attribute"
2115
+ }
2116
+ ],
2117
+ "beginCaptures": {
2118
+ "1": {
2119
+ "name": "punctuation.definition.tag.begin.html"
2120
+ },
2121
+ "2": {
2122
+ "name": "entity.name.tag.html"
2123
+ }
2124
+ },
2125
+ "endCaptures": {
2126
+ "0": {
2127
+ "name": "punctuation.definition.tag.end.html"
2128
+ }
2129
+ }
2130
+ },
2131
+ {
2132
+ "name": "meta.tag.inline.$2.end.html",
2133
+ "begin": "(?i)(\u003c/)(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|/?\u003e)",
2134
+ "end": "\u003e",
2135
+ "patterns": [
2136
+ {
2137
+ "include": "#attribute"
2138
+ }
2139
+ ],
2140
+ "beginCaptures": {
2141
+ "1": {
2142
+ "name": "punctuation.definition.tag.begin.html"
2143
+ },
2144
+ "2": {
2145
+ "name": "entity.name.tag.html"
2146
+ }
2147
+ },
2148
+ "endCaptures": {
2149
+ "0": {
2150
+ "name": "punctuation.definition.tag.end.html"
2151
+ }
2152
+ }
2153
+ },
2154
+ {
2155
+ "name": "meta.tag.object.$2.void.html",
2156
+ "begin": "(?i)(\u003c)(embed|img|param|source|track)(?=\\s|/?\u003e)",
2157
+ "end": "/?\u003e",
2158
+ "patterns": [
2159
+ {
2160
+ "include": "#attribute"
2161
+ }
2162
+ ],
2163
+ "beginCaptures": {
2164
+ "1": {
2165
+ "name": "punctuation.definition.tag.begin.html"
2166
+ },
2167
+ "2": {
2168
+ "name": "entity.name.tag.html"
2169
+ }
2170
+ },
2171
+ "endCaptures": {
2172
+ "0": {
2173
+ "name": "punctuation.definition.tag.end.html"
2174
+ }
2175
+ }
2176
+ },
2177
+ {
2178
+ "name": "meta.tag.object.$2.start.html",
2179
+ "begin": "(?i)(\u003c)(audio|canvas|iframe|object|picture|video)(?=\\s|/?\u003e)",
2180
+ "end": "\u003e",
2181
+ "patterns": [
2182
+ {
2183
+ "include": "#attribute"
2184
+ }
2185
+ ],
2186
+ "beginCaptures": {
2187
+ "1": {
2188
+ "name": "punctuation.definition.tag.begin.html"
2189
+ },
2190
+ "2": {
2191
+ "name": "entity.name.tag.html"
2192
+ }
2193
+ },
2194
+ "endCaptures": {
2195
+ "0": {
2196
+ "name": "punctuation.definition.tag.end.html"
2197
+ }
2198
+ }
2199
+ },
2200
+ {
2201
+ "name": "meta.tag.object.$2.end.html",
2202
+ "begin": "(?i)(\u003c/)(audio|canvas|iframe|object|picture|video)(?=\\s|/?\u003e)",
2203
+ "end": "\u003e",
2204
+ "patterns": [
2205
+ {
2206
+ "include": "#attribute"
2207
+ }
2208
+ ],
2209
+ "beginCaptures": {
2210
+ "1": {
2211
+ "name": "punctuation.definition.tag.begin.html"
2212
+ },
2213
+ "2": {
2214
+ "name": "entity.name.tag.html"
2215
+ }
2216
+ },
2217
+ "endCaptures": {
670
2218
  "0": {
671
- "name": "punctuation.definition.string.end.html"
2219
+ "name": "punctuation.definition.tag.end.html"
672
2220
  }
673
2221
  }
674
2222
  },
675
2223
  {
676
- "name": "string.unquoted.html",
677
- "match": "(?\u003c==)(?:[^\\s\u003c\u003e/'\"]|/(?!\u003e))+",
678
- "captures": {
2224
+ "name": "meta.tag.metadata.$2.void.html",
2225
+ "begin": "(?i)(\u003c)((basefont|isindex))(?=\\s|/?\u003e)",
2226
+ "end": "/?\u003e",
2227
+ "patterns": [
2228
+ {
2229
+ "include": "#attribute"
2230
+ }
2231
+ ],
2232
+ "beginCaptures": {
2233
+ "1": {
2234
+ "name": "punctuation.definition.tag.begin.html"
2235
+ },
2236
+ "2": {
2237
+ "name": "entity.name.tag.html"
2238
+ },
2239
+ "3": {
2240
+ "name": "invalid.deprecated.html"
2241
+ }
2242
+ },
2243
+ "endCaptures": {
679
2244
  "0": {
680
- "name": "meta.toc-list.id.html"
2245
+ "name": "punctuation.definition.tag.end.html"
2246
+ }
2247
+ }
2248
+ },
2249
+ {
2250
+ "name": "meta.tag.structure.$2.start.html",
2251
+ "begin": "(?i)(\u003c)((center|frameset|noembed|noframes))(?=\\s|/?\u003e)",
2252
+ "end": "\u003e",
2253
+ "patterns": [
2254
+ {
2255
+ "include": "#attribute"
2256
+ }
2257
+ ],
2258
+ "beginCaptures": {
2259
+ "1": {
2260
+ "name": "punctuation.definition.tag.begin.html"
2261
+ },
2262
+ "2": {
2263
+ "name": "entity.name.tag.html"
2264
+ },
2265
+ "3": {
2266
+ "name": "invalid.deprecated.html"
2267
+ }
2268
+ },
2269
+ "endCaptures": {
2270
+ "0": {
2271
+ "name": "punctuation.definition.tag.end.html"
2272
+ }
2273
+ }
2274
+ },
2275
+ {
2276
+ "name": "meta.tag.structure.$2.end.html",
2277
+ "begin": "(?i)(\u003c/)((center|frameset|noembed|noframes))(?=\\s|/?\u003e)",
2278
+ "end": "\u003e",
2279
+ "patterns": [
2280
+ {
2281
+ "include": "#attribute"
2282
+ }
2283
+ ],
2284
+ "beginCaptures": {
2285
+ "1": {
2286
+ "name": "punctuation.definition.tag.begin.html"
2287
+ },
2288
+ "2": {
2289
+ "name": "entity.name.tag.html"
2290
+ },
2291
+ "3": {
2292
+ "name": "invalid.deprecated.html"
2293
+ }
2294
+ },
2295
+ "endCaptures": {
2296
+ "0": {
2297
+ "name": "punctuation.definition.tag.end.html"
2298
+ }
2299
+ }
2300
+ },
2301
+ {
2302
+ "name": "meta.tag.inline.$2.start.html",
2303
+ "begin": "(?i)(\u003c)((acronym|big|blink|font|strike|tt|xmp))(?=\\s|/?\u003e)",
2304
+ "end": "\u003e",
2305
+ "patterns": [
2306
+ {
2307
+ "include": "#attribute"
2308
+ }
2309
+ ],
2310
+ "beginCaptures": {
2311
+ "1": {
2312
+ "name": "punctuation.definition.tag.begin.html"
2313
+ },
2314
+ "2": {
2315
+ "name": "entity.name.tag.html"
2316
+ },
2317
+ "3": {
2318
+ "name": "invalid.deprecated.html"
2319
+ }
2320
+ },
2321
+ "endCaptures": {
2322
+ "0": {
2323
+ "name": "punctuation.definition.tag.end.html"
2324
+ }
2325
+ }
2326
+ },
2327
+ {
2328
+ "name": "meta.tag.inline.$2.end.html",
2329
+ "begin": "(?i)(\u003c/)((acronym|big|blink|font|strike|tt|xmp))(?=\\s|/?\u003e)",
2330
+ "end": "\u003e",
2331
+ "patterns": [
2332
+ {
2333
+ "include": "#attribute"
2334
+ }
2335
+ ],
2336
+ "beginCaptures": {
2337
+ "1": {
2338
+ "name": "punctuation.definition.tag.begin.html"
2339
+ },
2340
+ "2": {
2341
+ "name": "entity.name.tag.html"
2342
+ },
2343
+ "3": {
2344
+ "name": "invalid.deprecated.html"
2345
+ }
2346
+ },
2347
+ "endCaptures": {
2348
+ "0": {
2349
+ "name": "punctuation.definition.tag.end.html"
2350
+ }
2351
+ }
2352
+ },
2353
+ {
2354
+ "name": "meta.tag.object.$2.void.html",
2355
+ "begin": "(?i)(\u003c)((frame))(?=\\s|/?\u003e)",
2356
+ "end": "/?\u003e",
2357
+ "patterns": [
2358
+ {
2359
+ "include": "#attribute"
2360
+ }
2361
+ ],
2362
+ "beginCaptures": {
2363
+ "1": {
2364
+ "name": "punctuation.definition.tag.begin.html"
2365
+ },
2366
+ "2": {
2367
+ "name": "entity.name.tag.html"
2368
+ },
2369
+ "3": {
2370
+ "name": "invalid.deprecated.html"
2371
+ }
2372
+ },
2373
+ "endCaptures": {
2374
+ "0": {
2375
+ "name": "punctuation.definition.tag.end.html"
2376
+ }
2377
+ }
2378
+ },
2379
+ {
2380
+ "name": "meta.tag.object.$2.start.html",
2381
+ "begin": "(?i)(\u003c)((applet))(?=\\s|/?\u003e)",
2382
+ "end": "\u003e",
2383
+ "patterns": [
2384
+ {
2385
+ "include": "#attribute"
2386
+ }
2387
+ ],
2388
+ "beginCaptures": {
2389
+ "1": {
2390
+ "name": "punctuation.definition.tag.begin.html"
2391
+ },
2392
+ "2": {
2393
+ "name": "entity.name.tag.html"
2394
+ },
2395
+ "3": {
2396
+ "name": "invalid.deprecated.html"
2397
+ }
2398
+ },
2399
+ "endCaptures": {
2400
+ "0": {
2401
+ "name": "punctuation.definition.tag.end.html"
2402
+ }
2403
+ }
2404
+ },
2405
+ {
2406
+ "name": "meta.tag.object.$2.end.html",
2407
+ "begin": "(?i)(\u003c/)((applet))(?=\\s|/?\u003e)",
2408
+ "end": "\u003e",
2409
+ "patterns": [
2410
+ {
2411
+ "include": "#attribute"
2412
+ }
2413
+ ],
2414
+ "beginCaptures": {
2415
+ "1": {
2416
+ "name": "punctuation.definition.tag.begin.html"
2417
+ },
2418
+ "2": {
2419
+ "name": "entity.name.tag.html"
2420
+ },
2421
+ "3": {
2422
+ "name": "invalid.deprecated.html"
2423
+ }
2424
+ },
2425
+ "endCaptures": {
2426
+ "0": {
2427
+ "name": "punctuation.definition.tag.end.html"
681
2428
  }
682
2429
  }
683
- }
684
- ],
685
- "captures": {
686
- "1": {
687
- "name": "entity.other.attribute-name.id.html"
688
2430
  },
689
- "2": {
690
- "name": "punctuation.separator.key-value.html"
691
- }
692
- }
693
- },
694
- "tag-stuff": {
695
- "patterns": [
696
2431
  {
697
- "include": "#tag-id-attribute"
2432
+ "name": "meta.tag.other.$2.start.html",
2433
+ "begin": "(?i)(\u003c)((dir|keygen|listing|menuitem|plaintext|spacer))(?=\\s|/?\u003e)",
2434
+ "end": "\u003e",
2435
+ "patterns": [
2436
+ {
2437
+ "include": "#attribute"
2438
+ }
2439
+ ],
2440
+ "beginCaptures": {
2441
+ "1": {
2442
+ "name": "punctuation.definition.tag.begin.html"
2443
+ },
2444
+ "2": {
2445
+ "name": "entity.name.tag.html"
2446
+ },
2447
+ "3": {
2448
+ "name": "invalid.illegal.no-longer-supported.html"
2449
+ }
2450
+ },
2451
+ "endCaptures": {
2452
+ "0": {
2453
+ "name": "punctuation.definition.tag.end.html"
2454
+ }
2455
+ }
698
2456
  },
699
2457
  {
700
- "include": "#tag-generic-attribute"
2458
+ "name": "meta.tag.other.$2.end.html",
2459
+ "begin": "(?i)(\u003c/)((dir|keygen|listing|menuitem|plaintext|spacer))(?=\\s|/?\u003e)",
2460
+ "end": "\u003e",
2461
+ "patterns": [
2462
+ {
2463
+ "include": "#attribute"
2464
+ }
2465
+ ],
2466
+ "beginCaptures": {
2467
+ "1": {
2468
+ "name": "punctuation.definition.tag.begin.html"
2469
+ },
2470
+ "2": {
2471
+ "name": "entity.name.tag.html"
2472
+ },
2473
+ "3": {
2474
+ "name": "invalid.illegal.no-longer-supported.html"
2475
+ }
2476
+ },
2477
+ "endCaptures": {
2478
+ "0": {
2479
+ "name": "punctuation.definition.tag.end.html"
2480
+ }
2481
+ }
701
2482
  },
702
2483
  {
703
- "include": "#string-double-quoted"
2484
+ "include": "#math"
704
2485
  },
705
2486
  {
706
- "include": "#string-single-quoted"
2487
+ "include": "#svg"
707
2488
  },
708
2489
  {
709
- "include": "#embedded-code"
2490
+ "name": "meta.tag.custom.start.html",
2491
+ "begin": "(\u003c)([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|/?\u003e)",
2492
+ "end": "/?\u003e",
2493
+ "patterns": [
2494
+ {
2495
+ "include": "#attribute"
2496
+ }
2497
+ ],
2498
+ "beginCaptures": {
2499
+ "1": {
2500
+ "name": "punctuation.definition.tag.begin.html"
2501
+ },
2502
+ "2": {
2503
+ "name": "entity.name.tag.html"
2504
+ }
2505
+ },
2506
+ "endCaptures": {
2507
+ "0": {
2508
+ "name": "punctuation.definition.tag.end.html"
2509
+ }
2510
+ }
710
2511
  },
711
2512
  {
712
- "include": "#unquoted-attribute"
2513
+ "name": "meta.tag.custom.end.html",
2514
+ "begin": "(\u003c/)([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|/?\u003e)",
2515
+ "end": "\u003e",
2516
+ "patterns": [
2517
+ {
2518
+ "include": "#attribute"
2519
+ }
2520
+ ],
2521
+ "beginCaptures": {
2522
+ "1": {
2523
+ "name": "punctuation.definition.tag.begin.html"
2524
+ },
2525
+ "2": {
2526
+ "name": "entity.name.tag.html"
2527
+ }
2528
+ },
2529
+ "endCaptures": {
2530
+ "0": {
2531
+ "name": "punctuation.definition.tag.end.html"
2532
+ }
2533
+ }
713
2534
  }
714
2535
  ]
715
- },
716
- "unquoted-attribute": {
717
- "name": "string.unquoted.html",
718
- "match": "(?\u003c==)(?:[^\\s\u003c\u003e/'\"]|/(?!\u003e))+"
719
2536
  }
720
2537
  },
721
2538
  "injections": {
722
- "R:text.html - (comment.block, text.html source)": {
2539
+ "R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)": {
723
2540
  "patterns": [
724
2541
  {
725
2542
  "name": "invalid.illegal.bad-angle-bracket.html",