github-linguist 7.6.1 → 7.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. checksums.yaml +5 -5
  2. data/bin/github-linguist +17 -4
  3. data/grammars/annotation.liquidhaskell.haskell.json +58 -11
  4. data/grammars/etc.json +212 -3
  5. data/grammars/hidden.manref.json +29 -0
  6. data/grammars/hint.haskell.json +58 -11
  7. data/grammars/hint.message.haskell.json +58 -11
  8. data/grammars/hint.type.haskell.json +58 -11
  9. data/grammars/injections.etc.json +601 -1
  10. data/grammars/markdown.plantuml.codeblock.json +26 -0
  11. data/grammars/source.4dm.json +1100 -0
  12. data/grammars/source.abap.json +7 -7
  13. data/grammars/source.abnf.json +23 -1
  14. data/grammars/source.agda.json +32 -202
  15. data/grammars/source.ahk.json +9 -5
  16. data/grammars/source.angelscript.json +1 -1
  17. data/grammars/source.ballerina.json +54 -18
  18. data/grammars/source.chapel.json +4 -4
  19. data/grammars/source.csound.json +1 -1
  20. data/grammars/source.css.json +2 -2
  21. data/grammars/source.css.scss.json +164 -15
  22. data/grammars/source.curlrc.json +869 -65
  23. data/grammars/source.dart.json +58 -32
  24. data/grammars/source.dircolors.json +137 -0
  25. data/grammars/source.direct-x.json +135 -0
  26. data/grammars/source.ebnf.json +67 -39
  27. data/grammars/source.editorconfig.json +23 -5
  28. data/grammars/source.elixir.json +51 -0
  29. data/grammars/source.elm.json +1 -1
  30. data/grammars/source.emacs.lisp.json +10 -0
  31. data/grammars/source.faust.json +119 -0
  32. data/grammars/source.gcode.json +166 -8
  33. data/grammars/source.gfm.json +1 -1
  34. data/grammars/source.gitconfig.json +1 -1
  35. data/grammars/source.hack.json +200 -98
  36. data/grammars/source.haskell.json +58 -11
  37. data/grammars/source.hlsl.json +9 -5
  38. data/grammars/source.hosts.json +40 -0
  39. data/grammars/source.hsig.json +58 -11
  40. data/grammars/source.hx.json +4 -0
  41. data/grammars/source.igor.json +46 -2
  42. data/grammars/source.ini.npmrc.json +311 -0
  43. data/grammars/source.inno.json +133 -0
  44. data/grammars/source.inputrc.json +500 -0
  45. data/grammars/source.js.json +4 -4
  46. data/grammars/source.julia.json +69 -23
  47. data/grammars/source.kotlin.json +1 -1
  48. data/grammars/source.lean.json +19 -3
  49. data/grammars/source.lean.markdown.json +2598 -0
  50. data/grammars/source.lex.json +4 -4
  51. data/grammars/source.m4.json +141 -99
  52. data/grammars/source.man-conf.json +46 -34
  53. data/grammars/source.matlab.json +437 -184
  54. data/grammars/source.mcfunction-snapshot.json +21388 -561
  55. data/grammars/source.mcfunction.json +55 -5
  56. data/grammars/source.meson.json +1 -1
  57. data/grammars/source.mlir.json +37 -317
  58. data/grammars/source.mrc.json +740 -0
  59. data/grammars/source.nasl.json +155 -0
  60. data/grammars/source.nextflow.json +2 -2
  61. data/grammars/source.odin-ehr.json +806 -0
  62. data/grammars/source.odin.json +402 -0
  63. data/grammars/source.opts.json +12 -2
  64. data/grammars/source.p4.json +21 -5
  65. data/grammars/source.prisma.json +435 -0
  66. data/grammars/source.python.json +2 -0
  67. data/grammars/source.qasm.json +66 -0
  68. data/grammars/source.ql.json +1408 -0
  69. data/grammars/source.reason.json +28 -16
  70. data/grammars/source.rego.json +124 -0
  71. data/grammars/source.sass.json +158 -3
  72. data/grammars/source.scala.json +53 -18
  73. data/grammars/source.ssh-config.json +1 -14
  74. data/grammars/source.swift.json +162 -2
  75. data/grammars/source.sy.json +2088 -183
  76. data/grammars/source.terraform.json +576 -132
  77. data/grammars/source.tnsaudit.json +256 -0
  78. data/grammars/source.ts.json +159 -51
  79. data/grammars/source.tsx.json +160 -52
  80. data/grammars/source.v.json +559 -764
  81. data/grammars/source.vim-snippet.json +645 -0
  82. data/grammars/source.viml.json +6 -6
  83. data/grammars/source.webassembly.json +10 -0
  84. data/grammars/source.wgetrc.json +1640 -0
  85. data/grammars/source.wsd.json +775 -0
  86. data/grammars/source.zig.json +169 -304
  87. data/grammars/text.html.php.blade.json +1 -1
  88. data/grammars/text.html.riot.json +788 -0
  89. data/grammars/text.muse.json +1471 -0
  90. data/grammars/text.tex.latex.haskell.json +58 -11
  91. data/grammars/text.vim-help.json +383 -0
  92. data/grammars/version +1 -1
  93. data/lib/linguist/VERSION +1 -1
  94. data/lib/linguist/blob_helper.rb +4 -2
  95. data/lib/linguist/file_blob.rb +1 -1
  96. data/lib/linguist/generated.rb +60 -13
  97. data/lib/linguist/heuristics.yml +64 -4
  98. data/lib/linguist/languages.json +1 -1
  99. data/lib/linguist/languages.yml +336 -45
  100. data/lib/linguist/lazy_blob.rb +10 -10
  101. data/lib/linguist/linguist.bundle +0 -0
  102. data/lib/linguist/samples.json +43560 -31457
  103. data/lib/linguist/shebang.rb +5 -3
  104. data/lib/linguist/vendor.yml +9 -0
  105. metadata +29 -10
  106. data/grammars/source.LS.json +0 -85
  107. data/grammars/source.MCPOST.json +0 -54
  108. data/grammars/source.MOD.json +0 -55
  109. data/grammars/source.apt.json +0 -18
  110. data/grammars/source.jlex.json +0 -322
  111. data/grammars/source.yaml-ext.json +0 -324
@@ -3580,7 +3580,7 @@
3580
3580
  {
3581
3581
  "name": "meta.directive.blade",
3582
3582
  "contentName": "source.php",
3583
- "begin": "(?x)\n(?\u003c![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n(\n @\n (?i: # Ordering not important as we everything will be matched up to opening parentheses\n auth\n |break\n |can\n |canany\n |cannot\n |case\n |choice\n |component\n |componentfirst\n |continue\n |dd\n |dump\n |each\n |elseauth\n |elsecan\n |elsecanany\n |elsecannot\n |elseguest\n |elseif\n |empty\n |error\n |extends\n |for\n |foreach\n |forelse\n |guest\n |hassection\n |if\n |include\n |includefirst\n |includeif\n |includewhen\n |inject\n |isset\n |json\n |lang\n |method\n |php\n |prepend\n |push\n |section\n |slot\n |stack\n |switch\n |unless\n |unset\n |while\n |yield\n )\n [\\t ]* # Whitespace between name and parentheses\n)\n(\\() # Followed by opening parentheses",
3583
+ "begin": "(?x)\n(?\u003c![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n(\n @\n (?i: # Ordering not important as we everything will be matched up to opening parentheses\n auth\n |break\n |can\n |canany\n |cannot\n |case\n |choice\n |component\n |componentfirst\n |continue\n |dd\n |dump\n |each\n |elseauth\n |elsecan\n |elsecanany\n |elsecannot\n |elseguest\n |elseif\n |empty\n |error\n |extends\n |for\n |foreach\n |forelse\n |guest\n |hassection\n |if\n |include\n |includefirst\n |includeif\n |includeunless\n |includewhen\n |inject\n |isset\n |json\n |lang\n |method\n |php\n |prepend\n |push\n |section\n |slot\n |stack\n |switch\n |unless\n |unset\n |while\n |yield\n )\n [\\t ]* # Whitespace between name and parentheses\n)\n(\\() # Followed by opening parentheses",
3584
3584
  "end": "\\)",
3585
3585
  "patterns": [
3586
3586
  {
@@ -0,0 +1,788 @@
1
+ {
2
+ "name": "Vue Component",
3
+ "scopeName": "text.html.riot",
4
+ "patterns": [
5
+ {
6
+ "include": "#riot-interpolations"
7
+ },
8
+ {
9
+ "name": "meta.tag.any.html",
10
+ "begin": "(\u003c)([a-zA-Z0-9:-]++)(?=[^\u003e]*\u003e\u003c/\\2\u003e)",
11
+ "end": "(\u003e)(\u003c)(/)(\\2)(\u003e)",
12
+ "patterns": [
13
+ {
14
+ "include": "#tag-stuff"
15
+ }
16
+ ],
17
+ "beginCaptures": {
18
+ "1": {
19
+ "name": "punctuation.definition.tag.begin.html"
20
+ },
21
+ "2": {
22
+ "name": "entity.name.tag.html"
23
+ }
24
+ },
25
+ "endCaptures": {
26
+ "1": {
27
+ "name": "punctuation.definition.tag.end.html"
28
+ },
29
+ "2": {
30
+ "name": "punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html"
31
+ },
32
+ "3": {
33
+ "name": "punctuation.definition.tag.begin.html"
34
+ },
35
+ "4": {
36
+ "name": "entity.name.tag.html"
37
+ },
38
+ "5": {
39
+ "name": "punctuation.definition.tag.end.html"
40
+ }
41
+ }
42
+ },
43
+ {
44
+ "name": "meta.tag.preprocessor.xml.html",
45
+ "begin": "(\u003c\\?)(xml)",
46
+ "end": "(\\?\u003e)",
47
+ "patterns": [
48
+ {
49
+ "include": "#tag-generic-attribute"
50
+ },
51
+ {
52
+ "include": "#string-double-quoted"
53
+ },
54
+ {
55
+ "include": "#string-single-quoted"
56
+ }
57
+ ],
58
+ "captures": {
59
+ "1": {
60
+ "name": "punctuation.definition.tag.html"
61
+ },
62
+ "2": {
63
+ "name": "entity.name.tag.xml.html"
64
+ }
65
+ }
66
+ },
67
+ {
68
+ "name": "comment.block.html",
69
+ "begin": "\u003c!--",
70
+ "end": "--\\s*\u003e",
71
+ "patterns": [
72
+ {
73
+ "name": "invalid.illegal.bad-comments-or-CDATA.html",
74
+ "match": "--"
75
+ }
76
+ ],
77
+ "captures": {
78
+ "0": {
79
+ "name": "punctuation.definition.comment.html"
80
+ }
81
+ }
82
+ },
83
+ {
84
+ "name": "meta.tag.sgml.html",
85
+ "begin": "\u003c!",
86
+ "end": "\u003e",
87
+ "patterns": [
88
+ {
89
+ "name": "meta.tag.sgml.doctype.html",
90
+ "begin": "(?i:DOCTYPE)",
91
+ "end": "(?=\u003e)",
92
+ "patterns": [
93
+ {
94
+ "name": "string.quoted.double.doctype.identifiers-and-DTDs.html",
95
+ "match": "\"[^\"\u003e]*\""
96
+ }
97
+ ],
98
+ "captures": {
99
+ "1": {
100
+ "name": "entity.name.tag.doctype.html"
101
+ }
102
+ }
103
+ },
104
+ {
105
+ "name": "constant.other.inline-data.html",
106
+ "begin": "\\[CDATA\\[",
107
+ "end": "]](?=\u003e)"
108
+ },
109
+ {
110
+ "name": "invalid.illegal.bad-comments-or-CDATA.html",
111
+ "match": "(\\s*)(?!--|\u003e)\\S(\\s*)"
112
+ }
113
+ ],
114
+ "captures": {
115
+ "0": {
116
+ "name": "punctuation.definition.tag.html"
117
+ }
118
+ }
119
+ },
120
+ {
121
+ "name": "source.stylus.embedded.html",
122
+ "begin": "(?:^\\s+)?(\u003c)((?i:style))\\b(?=[^\u003e]*type=(['\"])stylus\\1?)",
123
+ "end": "(\u003c/)((?i:style))(\u003e)(?:\\s*\\n)?",
124
+ "patterns": [
125
+ {
126
+ "include": "#tag-stuff"
127
+ },
128
+ {
129
+ "begin": "(\u003e)",
130
+ "end": "(?=\u003c/(?i:style))",
131
+ "patterns": [
132
+ {
133
+ "include": "source.stylus"
134
+ }
135
+ ],
136
+ "beginCaptures": {
137
+ "1": {
138
+ "name": "punctuation.definition.tag.end.html"
139
+ }
140
+ }
141
+ }
142
+ ],
143
+ "captures": {
144
+ "1": {
145
+ "name": "punctuation.definition.tag.begin.html"
146
+ },
147
+ "2": {
148
+ "name": "entity.name.tag.style.html"
149
+ },
150
+ "3": {
151
+ "name": "punctuation.definition.tag.html"
152
+ }
153
+ }
154
+ },
155
+ {
156
+ "name": "source.postcss.embedded.html",
157
+ "begin": "(?:^\\s+)?(\u003c)((?i:style))\\b(?=[^\u003e]*type=(['\"])postcss\\1?)",
158
+ "end": "(\u003c/)((?i:style))(\u003e)(?:\\s*\\n)?",
159
+ "patterns": [
160
+ {
161
+ "include": "#tag-stuff"
162
+ },
163
+ {
164
+ "begin": "(\u003e)",
165
+ "end": "(?=\u003c/(?i:style))",
166
+ "patterns": [
167
+ {
168
+ "include": "source.postcss"
169
+ }
170
+ ],
171
+ "beginCaptures": {
172
+ "1": {
173
+ "name": "punctuation.definition.tag.end.html"
174
+ }
175
+ }
176
+ }
177
+ ],
178
+ "captures": {
179
+ "1": {
180
+ "name": "punctuation.definition.tag.begin.html"
181
+ },
182
+ "2": {
183
+ "name": "entity.name.tag.style.html"
184
+ },
185
+ "3": {
186
+ "name": "punctuation.definition.tag.html"
187
+ }
188
+ }
189
+ },
190
+ {
191
+ "name": "source.sass.embedded.html",
192
+ "begin": "(?:^\\s+)?(\u003c)((?i:style))\\b(?=[^\u003e]*type=(['\"])sass\\1?)",
193
+ "end": "(\u003c/)((?i:style))(\u003e)(?:\\s*\\n)?",
194
+ "patterns": [
195
+ {
196
+ "include": "#tag-stuff"
197
+ },
198
+ {
199
+ "begin": "(\u003e)",
200
+ "end": "(?=\u003c/(?i:style))",
201
+ "patterns": [
202
+ {
203
+ "include": "source.sass"
204
+ }
205
+ ],
206
+ "beginCaptures": {
207
+ "1": {
208
+ "name": "punctuation.definition.tag.end.html"
209
+ }
210
+ }
211
+ }
212
+ ],
213
+ "captures": {
214
+ "1": {
215
+ "name": "punctuation.definition.tag.begin.html"
216
+ },
217
+ "2": {
218
+ "name": "entity.name.tag.style.html"
219
+ },
220
+ "3": {
221
+ "name": "punctuation.definition.tag.html"
222
+ }
223
+ }
224
+ },
225
+ {
226
+ "name": "source.scss.embedded.html",
227
+ "begin": "(?:^\\s+)?(\u003c)((?i:style))\\b(?=[^\u003e]*type=(['\"])scss\\1?)",
228
+ "end": "(\u003c/)((?i:style))(\u003e)(?:\\s*\\n)?",
229
+ "patterns": [
230
+ {
231
+ "include": "#tag-stuff"
232
+ },
233
+ {
234
+ "begin": "(\u003e)",
235
+ "end": "(?=\u003c/(?i:style))",
236
+ "patterns": [
237
+ {
238
+ "include": "source.css.scss"
239
+ }
240
+ ],
241
+ "beginCaptures": {
242
+ "1": {
243
+ "name": "punctuation.definition.tag.end.html"
244
+ }
245
+ }
246
+ }
247
+ ],
248
+ "captures": {
249
+ "1": {
250
+ "name": "punctuation.definition.tag.begin.html"
251
+ },
252
+ "2": {
253
+ "name": "entity.name.tag.style.html"
254
+ },
255
+ "3": {
256
+ "name": "punctuation.definition.tag.html"
257
+ }
258
+ }
259
+ },
260
+ {
261
+ "name": "source.less.embedded.html",
262
+ "begin": "(?:^\\s+)?(\u003c)((?i:style))\\b(?=[^\u003e]*type=(['\"])less\\1?)",
263
+ "end": "(\u003c/)((?i:style))(\u003e)(?:\\s*\\n)?",
264
+ "patterns": [
265
+ {
266
+ "include": "#tag-stuff"
267
+ },
268
+ {
269
+ "begin": "(\u003e)",
270
+ "end": "(?=\u003c/(?i:style))",
271
+ "patterns": [
272
+ {
273
+ "include": "source.css.less"
274
+ }
275
+ ],
276
+ "beginCaptures": {
277
+ "1": {
278
+ "name": "punctuation.definition.tag.end.html"
279
+ }
280
+ }
281
+ }
282
+ ],
283
+ "captures": {
284
+ "1": {
285
+ "name": "punctuation.definition.tag.begin.html"
286
+ },
287
+ "2": {
288
+ "name": "entity.name.tag.style.html"
289
+ },
290
+ "3": {
291
+ "name": "punctuation.definition.tag.html"
292
+ }
293
+ }
294
+ },
295
+ {
296
+ "name": "source.css.embedded.html",
297
+ "begin": "(?:^\\s+)?(\u003c)((?i:style))\\b(?![^\u003e]*/\u003e)",
298
+ "end": "(\u003c/)((?i:style))(\u003e)(?:\\s*\\n)?",
299
+ "patterns": [
300
+ {
301
+ "include": "#tag-stuff"
302
+ },
303
+ {
304
+ "begin": "(\u003e)",
305
+ "end": "(?=\u003c/(?i:style))",
306
+ "patterns": [
307
+ {
308
+ "include": "source.css"
309
+ }
310
+ ],
311
+ "beginCaptures": {
312
+ "1": {
313
+ "name": "punctuation.definition.tag.end.html"
314
+ }
315
+ }
316
+ }
317
+ ],
318
+ "captures": {
319
+ "1": {
320
+ "name": "punctuation.definition.tag.begin.html"
321
+ },
322
+ "2": {
323
+ "name": "entity.name.tag.style.html"
324
+ },
325
+ "3": {
326
+ "name": "punctuation.definition.tag.html"
327
+ }
328
+ }
329
+ },
330
+ {
331
+ "name": "source.ts.embedded.html",
332
+ "begin": "(?:^\\s+)?(\u003c)((?i:script))\\b(?=[^\u003e]*type=(['\"])ts\\1?)",
333
+ "end": "(?\u003c=\u003c/(script|SCRIPT))(\u003e)(?:\\s*\\n)?",
334
+ "patterns": [
335
+ {
336
+ "include": "#tag-stuff"
337
+ },
338
+ {
339
+ "begin": "(?\u003c!\u003c/(?:script|SCRIPT))(\u003e)",
340
+ "end": "(\u003c/)((?i:script))",
341
+ "patterns": [
342
+ {
343
+ "include": "source.ts"
344
+ }
345
+ ],
346
+ "captures": {
347
+ "1": {
348
+ "name": "punctuation.definition.tag.begin.html"
349
+ },
350
+ "2": {
351
+ "name": "entity.name.tag.script.html"
352
+ }
353
+ }
354
+ }
355
+ ],
356
+ "beginCaptures": {
357
+ "1": {
358
+ "name": "punctuation.definition.tag.begin.html"
359
+ },
360
+ "2": {
361
+ "name": "entity.name.tag.script.html"
362
+ }
363
+ },
364
+ "endCaptures": {
365
+ "2": {
366
+ "name": "punctuation.definition.tag.html"
367
+ }
368
+ }
369
+ },
370
+ {
371
+ "name": "source.coffee.embedded.html",
372
+ "begin": "(?:^\\s+)?(\u003c)((?i:script))\\b(?=[^\u003e]*type=(['\"])coffee\\1?)",
373
+ "end": "(?\u003c=\u003c/(script|SCRIPT))(\u003e)(?:\\s*\\n)?",
374
+ "patterns": [
375
+ {
376
+ "include": "#tag-stuff"
377
+ },
378
+ {
379
+ "begin": "(?\u003c!\u003c/(?:script|SCRIPT))(\u003e)",
380
+ "end": "(\u003c/)((?i:script))",
381
+ "patterns": [
382
+ {
383
+ "include": "source.coffee"
384
+ }
385
+ ],
386
+ "captures": {
387
+ "1": {
388
+ "name": "punctuation.definition.tag.begin.html"
389
+ },
390
+ "2": {
391
+ "name": "entity.name.tag.script.html"
392
+ }
393
+ }
394
+ }
395
+ ],
396
+ "beginCaptures": {
397
+ "1": {
398
+ "name": "punctuation.definition.tag.begin.html"
399
+ },
400
+ "2": {
401
+ "name": "entity.name.tag.script.html"
402
+ }
403
+ },
404
+ "endCaptures": {
405
+ "2": {
406
+ "name": "punctuation.definition.tag.html"
407
+ }
408
+ }
409
+ },
410
+ {
411
+ "name": "source.livescript.embedded.html",
412
+ "begin": "(?:^\\s+)?(\u003c)((?i:script))\\b(?=[^\u003e]*type=(['\"])livescript\\1?)",
413
+ "end": "(?\u003c=\u003c/(script|SCRIPT))(\u003e)(?:\\s*\\n)?",
414
+ "patterns": [
415
+ {
416
+ "include": "#tag-stuff"
417
+ },
418
+ {
419
+ "begin": "(?\u003c!\u003c/(?:script|SCRIPT))(\u003e)",
420
+ "end": "(\u003c/)((?i:script))",
421
+ "patterns": [
422
+ {
423
+ "include": "source.livescript"
424
+ }
425
+ ],
426
+ "captures": {
427
+ "1": {
428
+ "name": "punctuation.definition.tag.begin.html"
429
+ },
430
+ "2": {
431
+ "name": "entity.name.tag.script.html"
432
+ }
433
+ }
434
+ }
435
+ ],
436
+ "beginCaptures": {
437
+ "1": {
438
+ "name": "punctuation.definition.tag.begin.html"
439
+ },
440
+ "2": {
441
+ "name": "entity.name.tag.script.html"
442
+ }
443
+ },
444
+ "endCaptures": {
445
+ "2": {
446
+ "name": "punctuation.definition.tag.html"
447
+ }
448
+ }
449
+ },
450
+ {
451
+ "name": "source.js.embedded.html",
452
+ "begin": "(\u003c)((?i:script))\\b(?![^\u003e]*/\u003e)(?![^\u003e]*(?i:type.?=.?text/((?!javascript|babel|ecmascript).*)))",
453
+ "end": "(?\u003c=\u003c/(script|SCRIPT))(\u003e)(?:\\s*\\n)?",
454
+ "patterns": [
455
+ {
456
+ "include": "#tag-stuff"
457
+ },
458
+ {
459
+ "begin": "(?\u003c!\u003c/(?:script|SCRIPT))(\u003e)",
460
+ "end": "(\u003c/)((?i:script))",
461
+ "patterns": [
462
+ {
463
+ "name": "comment.line.double-slash.js",
464
+ "match": "(//).*?((?=\u003c/script)|$\\n?)",
465
+ "captures": {
466
+ "1": {
467
+ "name": "punctuation.definition.comment.js"
468
+ }
469
+ }
470
+ },
471
+ {
472
+ "name": "comment.block.js",
473
+ "begin": "/\\*",
474
+ "end": "\\*/|(?=\u003c/script)",
475
+ "captures": {
476
+ "0": {
477
+ "name": "punctuation.definition.comment.js"
478
+ }
479
+ }
480
+ },
481
+ {
482
+ "include": "source.js"
483
+ }
484
+ ],
485
+ "captures": {
486
+ "1": {
487
+ "name": "punctuation.definition.tag.begin.html"
488
+ },
489
+ "2": {
490
+ "name": "entity.name.tag.script.html"
491
+ }
492
+ }
493
+ }
494
+ ],
495
+ "beginCaptures": {
496
+ "1": {
497
+ "name": "punctuation.definition.tag.begin.html"
498
+ },
499
+ "2": {
500
+ "name": "entity.name.tag.script.html"
501
+ }
502
+ },
503
+ "endCaptures": {
504
+ "2": {
505
+ "name": "punctuation.definition.tag.html"
506
+ }
507
+ }
508
+ },
509
+ {
510
+ "name": "meta.tag.structure.any.html",
511
+ "begin": "(\u003c/?)((?i:body|head|html)\\b)",
512
+ "end": "(\u003e)",
513
+ "patterns": [
514
+ {
515
+ "include": "#tag-stuff"
516
+ }
517
+ ],
518
+ "captures": {
519
+ "1": {
520
+ "name": "punctuation.definition.tag.begin.html"
521
+ },
522
+ "2": {
523
+ "name": "entity.name.tag.structure.any.html"
524
+ }
525
+ },
526
+ "endCaptures": {
527
+ "1": {
528
+ "name": "punctuation.definition.tag.end.html"
529
+ }
530
+ }
531
+ },
532
+ {
533
+ "name": "meta.tag.block.any.html",
534
+ "begin": "(\u003c/?)((?i:address|blockquote|dd|div|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre)\\b)",
535
+ "end": "(\u003e)",
536
+ "patterns": [
537
+ {
538
+ "include": "#tag-stuff"
539
+ }
540
+ ],
541
+ "beginCaptures": {
542
+ "1": {
543
+ "name": "punctuation.definition.tag.begin.html"
544
+ },
545
+ "2": {
546
+ "name": "entity.name.tag.block.any.html"
547
+ }
548
+ },
549
+ "endCaptures": {
550
+ "1": {
551
+ "name": "punctuation.definition.tag.end.html"
552
+ }
553
+ }
554
+ },
555
+ {
556
+ "name": "meta.tag.inline.any.html",
557
+ "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)",
558
+ "end": "((?: ?/)?\u003e)",
559
+ "patterns": [
560
+ {
561
+ "include": "#tag-stuff"
562
+ }
563
+ ],
564
+ "beginCaptures": {
565
+ "1": {
566
+ "name": "punctuation.definition.tag.begin.html"
567
+ },
568
+ "2": {
569
+ "name": "entity.name.tag.inline.any.html"
570
+ }
571
+ },
572
+ "endCaptures": {
573
+ "1": {
574
+ "name": "punctuation.definition.tag.end.html"
575
+ }
576
+ }
577
+ },
578
+ {
579
+ "name": "meta.tag.other.html",
580
+ "begin": "(\u003c/?)([a-zA-Z0-9:-]+)",
581
+ "end": "(\u003e)",
582
+ "patterns": [
583
+ {
584
+ "include": "#tag-stuff"
585
+ }
586
+ ],
587
+ "beginCaptures": {
588
+ "1": {
589
+ "name": "punctuation.definition.tag.begin.html"
590
+ },
591
+ "2": {
592
+ "name": "entity.name.tag.other.html"
593
+ }
594
+ },
595
+ "endCaptures": {
596
+ "1": {
597
+ "name": "punctuation.definition.tag.end.html"
598
+ }
599
+ }
600
+ },
601
+ {
602
+ "include": "#entities"
603
+ },
604
+ {
605
+ "name": "invalid.illegal.incomplete.html",
606
+ "match": "\u003c\u003e"
607
+ },
608
+ {
609
+ "name": "invalid.illegal.bad-angle-bracket.html",
610
+ "match": "\u003c"
611
+ }
612
+ ],
613
+ "repository": {
614
+ "entities": {
615
+ "patterns": [
616
+ {
617
+ "name": "constant.character.entity.html",
618
+ "match": "(\u0026)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)",
619
+ "captures": {
620
+ "1": {
621
+ "name": "punctuation.definition.entity.html"
622
+ },
623
+ "3": {
624
+ "name": "punctuation.definition.entity.html"
625
+ }
626
+ }
627
+ },
628
+ {
629
+ "name": "invalid.illegal.bad-ampersand.html",
630
+ "match": "\u0026"
631
+ }
632
+ ]
633
+ },
634
+ "riot-interpolations": {
635
+ "patterns": [
636
+ {
637
+ "name": "expression.embbeded.riot",
638
+ "begin": "(?\u003c!\\\\){",
639
+ "end": "}",
640
+ "patterns": [
641
+ {
642
+ "include": "source.js"
643
+ }
644
+ ],
645
+ "beginCaptures": {
646
+ "0": {
647
+ "name": "punctuation.definition.generic.begin.html"
648
+ }
649
+ },
650
+ "endCaptures": {
651
+ "0": {
652
+ "name": "punctuation.definition.generic.end.html"
653
+ }
654
+ }
655
+ }
656
+ ]
657
+ },
658
+ "string-double-quoted": {
659
+ "name": "string.quoted.double.html",
660
+ "begin": "\"",
661
+ "end": "\"",
662
+ "patterns": [
663
+ {
664
+ "include": "#riot-interpolations"
665
+ },
666
+ {
667
+ "include": "#entities"
668
+ }
669
+ ],
670
+ "beginCaptures": {
671
+ "0": {
672
+ "name": "punctuation.definition.string.begin.html"
673
+ }
674
+ },
675
+ "endCaptures": {
676
+ "0": {
677
+ "name": "punctuation.definition.string.end.html"
678
+ }
679
+ }
680
+ },
681
+ "string-single-quoted": {
682
+ "name": "string.quoted.single.html",
683
+ "begin": "'",
684
+ "end": "'",
685
+ "patterns": [
686
+ {
687
+ "include": "#riot-interpolations"
688
+ },
689
+ {
690
+ "include": "#entities"
691
+ }
692
+ ],
693
+ "beginCaptures": {
694
+ "0": {
695
+ "name": "punctuation.definition.string.begin.html"
696
+ }
697
+ },
698
+ "endCaptures": {
699
+ "0": {
700
+ "name": "punctuation.definition.string.end.html"
701
+ }
702
+ }
703
+ },
704
+ "tag-generic-attribute": {
705
+ "name": "entity.other.attribute-name.html",
706
+ "match": "\\b([a-zA-Z\\-:]+)"
707
+ },
708
+ "tag-id-attribute": {
709
+ "name": "meta.attribute-with-value.id.html",
710
+ "begin": "\\b(id)\\b\\s*(=)",
711
+ "end": "(?\u003c='|\")",
712
+ "patterns": [
713
+ {
714
+ "name": "string.quoted.double.html",
715
+ "contentName": "meta.toc-list.id.html",
716
+ "begin": "\"",
717
+ "end": "\"",
718
+ "patterns": [
719
+ {
720
+ "include": "#riot-interpolations"
721
+ },
722
+ {
723
+ "include": "#entities"
724
+ }
725
+ ],
726
+ "beginCaptures": {
727
+ "0": {
728
+ "name": "punctuation.definition.string.begin.html"
729
+ }
730
+ },
731
+ "endCaptures": {
732
+ "0": {
733
+ "name": "punctuation.definition.string.end.html"
734
+ }
735
+ }
736
+ },
737
+ {
738
+ "name": "string.quoted.single.html",
739
+ "contentName": "meta.toc-list.id.html",
740
+ "begin": "'",
741
+ "end": "'",
742
+ "patterns": [
743
+ {
744
+ "include": "#riot-interpolations"
745
+ },
746
+ {
747
+ "include": "#entities"
748
+ }
749
+ ],
750
+ "beginCaptures": {
751
+ "0": {
752
+ "name": "punctuation.definition.string.begin.html"
753
+ }
754
+ },
755
+ "endCaptures": {
756
+ "0": {
757
+ "name": "punctuation.definition.string.end.html"
758
+ }
759
+ }
760
+ }
761
+ ],
762
+ "captures": {
763
+ "1": {
764
+ "name": "entity.other.attribute-name.id.html"
765
+ },
766
+ "2": {
767
+ "name": "punctuation.separator.key-value.html"
768
+ }
769
+ }
770
+ },
771
+ "tag-stuff": {
772
+ "patterns": [
773
+ {
774
+ "include": "#tag-id-attribute"
775
+ },
776
+ {
777
+ "include": "#tag-generic-attribute"
778
+ },
779
+ {
780
+ "include": "#string-double-quoted"
781
+ },
782
+ {
783
+ "include": "#string-single-quoted"
784
+ }
785
+ ]
786
+ }
787
+ }
788
+ }