github-linguist 9.2.0 → 9.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. checksums.yaml +4 -4
  2. data/bin/github-linguist +23 -4
  3. data/grammars/dart.inline.edgeql.json +1 -0
  4. data/grammars/go.inline.edgeql.json +1 -0
  5. data/grammars/injection.interpolated-ruby.json +1 -0
  6. data/grammars/injections.etc.json +1 -1
  7. data/grammars/inline.surrealql-js-literal.json +1 -0
  8. data/grammars/js.inline.edgeql.json +1 -0
  9. data/grammars/markdown.move.codeblock.json +1 -1
  10. data/grammars/markdown.surrealql.codeblock.json +1 -0
  11. data/grammars/markdown.vue.codeblock.json +1 -1
  12. data/grammars/markdown.wesl.codeblock.json +1 -0
  13. data/grammars/markdown.wgsl.codeblock.json +1 -0
  14. data/grammars/mdx.vue.codeblock.json +1 -1
  15. data/grammars/res.inline.edgeql.json +1 -0
  16. data/grammars/source.abl.json +1 -1
  17. data/grammars/source.agda.json +1 -1
  18. data/grammars/source.al.json +1 -1
  19. data/grammars/source.algol60.json +1 -0
  20. data/grammars/source.apex.json +1 -1
  21. data/grammars/source.ash.json +1 -0
  22. data/grammars/source.ats.json +1 -1
  23. data/grammars/source.b.json +1 -0
  24. data/grammars/source.bicep.json +1 -1
  25. data/grammars/source.brs.json +1 -1
  26. data/grammars/source.bru.json +1 -0
  27. data/grammars/source.c++.json +1 -1
  28. data/grammars/source.c.json +1 -1
  29. data/grammars/source.c.linker.json +1 -1
  30. data/grammars/source.c3.json +1 -0
  31. data/grammars/source.cadence.json +1 -1
  32. data/grammars/source.cj.json +1 -0
  33. data/grammars/source.clar.json +1 -1
  34. data/grammars/source.clean.json +1 -1
  35. data/grammars/source.cmake.json +1 -1
  36. data/grammars/source.cmakecache.json +1 -1
  37. data/grammars/source.cobol.json +1 -1
  38. data/grammars/source.comment-string.wesl.json +1 -0
  39. data/grammars/source.comment-string.wgsl.json +1 -0
  40. data/grammars/source.cooklang.json +1 -0
  41. data/grammars/source.cql.json +1 -0
  42. data/grammars/source.cs.json +1 -1
  43. data/grammars/source.csv.json +1 -0
  44. data/grammars/source.curlrc.json +1 -1
  45. data/grammars/source.data-weave.json +1 -1
  46. data/grammars/source.dotenv.json +1 -1
  47. data/grammars/source.dsv.json +1 -0
  48. data/grammars/source.edgeql.json +1 -1
  49. data/grammars/source.erlang.json +1 -1
  50. data/grammars/source.flix.json +1 -0
  51. data/grammars/source.fsharp.json +1 -1
  52. data/grammars/source.gdscript.json +1 -1
  53. data/grammars/source.gfm.blade.json +1 -1
  54. data/grammars/source.gitignore.json +1 -1
  55. data/grammars/source.go-template.json +1 -0
  56. data/grammars/source.go.injection.double.go-template.json +1 -0
  57. data/grammars/source.go.injection.raw.go-template.json +1 -0
  58. data/grammars/source.hack.json +1 -1
  59. data/grammars/source.harbour.json +1 -1
  60. data/grammars/source.httpspec.json +1 -1
  61. data/grammars/source.hurl.json +1 -0
  62. data/grammars/source.hx.json +1 -1
  63. data/grammars/source.ilecobol.json +1 -1
  64. data/grammars/source.inputrc.json +1 -1
  65. data/grammars/source.isabelle.theory.json +1 -1
  66. data/grammars/source.jac.json +1 -0
  67. data/grammars/source.jai.json +1 -1
  68. data/grammars/source.jq.json +1 -1
  69. data/grammars/source.json.comments.json +1 -1
  70. data/grammars/source.julia.json +1 -1
  71. data/grammars/source.just.json +1 -1
  72. data/grammars/source.kcl.json +1 -0
  73. data/grammars/source.langium.json +1 -0
  74. data/grammars/source.lean.markdown.json +1 -1
  75. data/grammars/source.lean4.json +1 -1
  76. data/grammars/source.lean4.markdown.json +1 -1
  77. data/grammars/source.lp.json +1 -0
  78. data/grammars/source.lua.json +1 -1
  79. data/grammars/source.luau.json +1 -1
  80. data/grammars/source.m2.json +1 -1
  81. data/grammars/source.mask.json +1 -1
  82. data/grammars/source.mdx.json +1 -1
  83. data/grammars/source.mermaid.flowchart.json +1 -1
  84. data/grammars/source.mermaid.gantt.json +1 -1
  85. data/grammars/source.mermaid.json +1 -1
  86. data/grammars/source.mermaid.pie-chart.json +1 -1
  87. data/grammars/source.mermaid.quad-chart.json +1 -0
  88. data/grammars/source.mermaid.sankey.json +1 -0
  89. data/grammars/source.mermaid.timeline.json +1 -0
  90. data/grammars/source.mermaid.user-journey.json +1 -1
  91. data/grammars/source.mermaid.zenuml.json +1 -0
  92. data/grammars/source.mo.json +1 -1
  93. data/grammars/source.mojo.json +1 -1
  94. data/grammars/source.moonbit.json +1 -1
  95. data/grammars/source.move.json +1 -1
  96. data/grammars/source.ned.json +1 -1
  97. data/grammars/source.nginx.json +1 -1
  98. data/grammars/source.nickel.json +1 -0
  99. data/grammars/source.nim.json +1 -1
  100. data/grammars/source.nr.json +1 -1
  101. data/grammars/source.nushell.json +1 -1
  102. data/grammars/source.odin-ehr.json +1 -1
  103. data/grammars/source.openqasm.json +1 -1
  104. data/grammars/source.postscript.json +1 -1
  105. data/grammars/source.proto.json +1 -1
  106. data/grammars/source.psl.json +1 -0
  107. data/grammars/source.pyjade.json +1 -1
  108. data/grammars/source.quakec.json +1 -0
  109. data/grammars/source.rascript.json +1 -0
  110. data/grammars/source.record-jar.json +1 -1
  111. data/grammars/source.rego.json +1 -1
  112. data/grammars/source.roc.json +1 -1
  113. data/grammars/source.rosmsg.json +1 -0
  114. data/grammars/source.rpgle.json +1 -1
  115. data/grammars/source.shell.json +1 -1
  116. data/grammars/source.sieve.json +1 -1
  117. data/grammars/source.singularity.json +1 -1
  118. data/grammars/source.slang.json +1 -1
  119. data/grammars/source.slint.json +1 -1
  120. data/grammars/source.soql.json +1 -1
  121. data/grammars/source.sqf.json +1 -1
  122. data/grammars/source.stan.json +1 -1
  123. data/grammars/source.surrealql.json +1 -0
  124. data/grammars/source.swift.json +1 -1
  125. data/grammars/source.teal.json +1 -0
  126. data/grammars/source.templ.json +1 -1
  127. data/grammars/source.tmdl.json +1 -0
  128. data/grammars/source.tsp.json +1 -1
  129. data/grammars/source.tsv.json +1 -0
  130. data/grammars/source.vb6.json +1 -0
  131. data/grammars/source.vba.json +1 -1
  132. data/grammars/source.vcl.json +1 -0
  133. data/grammars/source.vento.json +1 -1
  134. data/grammars/source.vhdl.json +1 -1
  135. data/grammars/source.vscode.c3.json +1 -0
  136. data/grammars/source.wdl.json +1 -1
  137. data/grammars/source.wesl.json +1 -0
  138. data/grammars/source.wgsl.json +1 -1
  139. data/grammars/source.wit.json +1 -1
  140. data/grammars/source.wwb.json +1 -1
  141. data/grammars/text.codeowners.json +1 -1
  142. data/grammars/text.git-commit.json +1 -0
  143. data/grammars/text.haml.json +1 -1
  144. data/grammars/text.html.jte.json +1 -1
  145. data/grammars/text.html.markdown.d2.json +1 -1
  146. data/grammars/text.html.vue.json +1 -0
  147. data/grammars/text.injection.go-template.json +1 -0
  148. data/grammars/text.jira.json +1 -0
  149. data/grammars/text.k.json +1 -0
  150. data/grammars/text.markdown.go-template.codeblock.json +1 -0
  151. data/grammars/text.marko.json +1 -1
  152. data/grammars/text.md.json +1 -1
  153. data/grammars/text.slim.json +1 -1
  154. data/grammars/text.source.mps.json +1 -0
  155. data/grammars/text.srt.json +1 -1
  156. data/grammars/text.valve-cfg.json +1 -1
  157. data/grammars/text.xml.svg.json +1 -1
  158. data/grammars/v.mod.json +1 -0
  159. data/grammars/version +1 -1
  160. data/grammars/vue.directives.json +1 -1
  161. data/grammars/vue.interpolations.json +1 -1
  162. data/grammars/vue.sfc.script.leading-operator-fix.json +1 -0
  163. data/lib/linguist/VERSION +1 -1
  164. data/lib/linguist/generated.rb +29 -5
  165. data/lib/linguist/generic.yml +3 -0
  166. data/lib/linguist/heuristics.yml +98 -11
  167. data/lib/linguist/instrumenter.rb +19 -0
  168. data/lib/linguist/languages.json +1 -1
  169. data/lib/linguist/languages.yml +405 -117
  170. data/lib/linguist/samples.json +1 -1
  171. data/lib/linguist.rb +1 -0
  172. metadata +59 -5
  173. data/grammars/inline.edgeql.json +0 -1
  174. data/grammars/source.varnish.vcl.json +0 -1
  175. data/grammars/source.vue.json +0 -1
data/lib/linguist.rb CHANGED
@@ -9,6 +9,7 @@ require 'linguist/shebang'
9
9
  require 'linguist/version'
10
10
  require 'linguist/strategy/manpage'
11
11
  require 'linguist/strategy/xml'
12
+ require 'linguist/instrumenter'
12
13
 
13
14
  class << Linguist
14
15
  # Public: Detects the Language of the blob.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: github-linguist
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.2.0
4
+ version: 9.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitHub
@@ -226,9 +226,11 @@ files:
226
226
  - ext/linguist/tokenizer.l
227
227
  - grammars/annotation.liquidhaskell.haskell.json
228
228
  - grammars/config.xcompose.json
229
+ - grammars/dart.inline.edgeql.json
229
230
  - grammars/documentation.markdown.injection.haxe.json
230
231
  - grammars/etc.json
231
232
  - grammars/file.lasso.json
233
+ - grammars/go.inline.edgeql.json
232
234
  - grammars/go.mod.json
233
235
  - grammars/go.sum.json
234
236
  - grammars/hidden.manref.json
@@ -236,8 +238,8 @@ files:
236
238
  - grammars/hint.haskell.json
237
239
  - grammars/hint.message.haskell.json
238
240
  - grammars/hint.type.haskell.json
241
+ - grammars/injection.interpolated-ruby.json
239
242
  - grammars/injections.etc.json
240
- - grammars/inline.edgeql.json
241
243
  - grammars/inline.graphql.json
242
244
  - grammars/inline.graphql.markdown.codeblock.json
243
245
  - grammars/inline.graphql.php.json
@@ -248,7 +250,9 @@ files:
248
250
  - grammars/inline.hbs.json
249
251
  - grammars/inline.peggy.json
250
252
  - grammars/inline.prisma.json
253
+ - grammars/inline.surrealql-js-literal.json
251
254
  - grammars/inline.template.json
255
+ - grammars/js.inline.edgeql.json
252
256
  - grammars/liquid.injection.json
253
257
  - grammars/markdown.bicep.codeblock.json
254
258
  - grammars/markdown.cadence.codeblock.json
@@ -268,12 +272,16 @@ files:
268
272
  - grammars/markdown.prisma.codeblock.json
269
273
  - grammars/markdown.rego.codeblock.json
270
274
  - grammars/markdown.rescript.codeblock.json
275
+ - grammars/markdown.surrealql.codeblock.json
271
276
  - grammars/markdown.talon.codeblock.json
272
277
  - grammars/markdown.textproto.codeblock.json
273
278
  - grammars/markdown.vue.codeblock.json
279
+ - grammars/markdown.wesl.codeblock.json
280
+ - grammars/markdown.wgsl.codeblock.json
274
281
  - grammars/mdx.move.codeblock.json
275
282
  - grammars/mdx.vue.codeblock.json
276
283
  - grammars/objdump.x86asm.json
284
+ - grammars/res.inline.edgeql.json
277
285
  - grammars/source.2da.json
278
286
  - grammars/source.4dm.json
279
287
  - grammars/source.8xp.json
@@ -294,6 +302,7 @@ files:
294
302
  - grammars/source.aidl.json
295
303
  - grammars/source.aiken.json
296
304
  - grammars/source.al.json
305
+ - grammars/source.algol60.json
297
306
  - grammars/source.alloy.json
298
307
  - grammars/source.ampl.json
299
308
  - grammars/source.amxxpawn.json
@@ -305,6 +314,7 @@ files:
305
314
  - grammars/source.apl.json
306
315
  - grammars/source.applescript.json
307
316
  - grammars/source.arr.json
317
+ - grammars/source.ash.json
308
318
  - grammars/source.asl.json
309
319
  - grammars/source.asn.json
310
320
  - grammars/source.asp.json
@@ -315,6 +325,7 @@ files:
315
325
  - grammars/source.autoit.json
316
326
  - grammars/source.avro.json
317
327
  - grammars/source.awk.json
328
+ - grammars/source.b.json
318
329
  - grammars/source.ballerina.json
319
330
  - grammars/source.basic.json
320
331
  - grammars/source.batchfile.json
@@ -337,6 +348,7 @@ files:
337
348
  - grammars/source.bp.json
338
349
  - grammars/source.bqn.json
339
350
  - grammars/source.brs.json
351
+ - grammars/source.bru.json
340
352
  - grammars/source.bsl.json
341
353
  - grammars/source.bst.json
342
354
  - grammars/source.bsv.json
@@ -348,6 +360,7 @@ files:
348
360
  - grammars/source.c.linker.json
349
361
  - grammars/source.c.nwscript.json
350
362
  - grammars/source.c2hs.json
363
+ - grammars/source.c3.json
351
364
  - grammars/source.cabal.json
352
365
  - grammars/source.cadence.json
353
366
  - grammars/source.cairo.json
@@ -363,6 +376,7 @@ files:
363
376
  - grammars/source.cil.json
364
377
  - grammars/source.circom.json
365
378
  - grammars/source.cirru.json
379
+ - grammars/source.cj.json
366
380
  - grammars/source.cl.json
367
381
  - grammars/source.clar.json
368
382
  - grammars/source.clarion.json
@@ -383,10 +397,14 @@ files:
383
397
  - grammars/source.cobolit.json
384
398
  - grammars/source.cobsql_dir.json
385
399
  - grammars/source.coffee.json
400
+ - grammars/source.comment-string.wesl.json
401
+ - grammars/source.comment-string.wgsl.json
386
402
  - grammars/source.commonlisp.json
387
403
  - grammars/source.context.json
404
+ - grammars/source.cooklang.json
388
405
  - grammars/source.cool.json
389
406
  - grammars/source.coq.json
407
+ - grammars/source.cql.json
390
408
  - grammars/source.crystal.json
391
409
  - grammars/source.cs.json
392
410
  - grammars/source.csound-document.json
@@ -398,6 +416,7 @@ files:
398
416
  - grammars/source.css.postcss.sugarss.json
399
417
  - grammars/source.css.scss.json
400
418
  - grammars/source.csswg.json
419
+ - grammars/source.csv.json
401
420
  - grammars/source.cuda-c++.json
402
421
  - grammars/source.cue.json
403
422
  - grammars/source.cuesheet.json
@@ -436,6 +455,7 @@ files:
436
455
  - grammars/source.dosbox-conf.json
437
456
  - grammars/source.dot.json
438
457
  - grammars/source.dotenv.json
458
+ - grammars/source.dsv.json
439
459
  - grammars/source.dune.json
440
460
  - grammars/source.dylan.json
441
461
  - grammars/source.earthfile.json
@@ -463,6 +483,7 @@ files:
463
483
  - grammars/source.firestore.json
464
484
  - grammars/source.firrtl.json
465
485
  - grammars/source.fish.json
486
+ - grammars/source.flix.json
466
487
  - grammars/source.fnl.json
467
488
  - grammars/source.fontdir.json
468
489
  - grammars/source.fontforge.json
@@ -504,6 +525,9 @@ files:
504
525
  - grammars/source.glsl.json
505
526
  - grammars/source.gn.json
506
527
  - grammars/source.gnuplot.json
528
+ - grammars/source.go-template.json
529
+ - grammars/source.go.injection.double.go-template.json
530
+ - grammars/source.go.injection.raw.go-template.json
507
531
  - grammars/source.go.json
508
532
  - grammars/source.goldgrm.json
509
533
  - grammars/source.golo.json
@@ -533,6 +557,7 @@ files:
533
557
  - grammars/source.hsc2hs.json
534
558
  - grammars/source.hsig.json
535
559
  - grammars/source.httpspec.json
560
+ - grammars/source.hurl.json
536
561
  - grammars/source.hx.argument.json
537
562
  - grammars/source.hx.json
538
563
  - grammars/source.hx.type.json
@@ -560,6 +585,7 @@ files:
560
585
  - grammars/source.isabelle.theory.json
561
586
  - grammars/source.ispc.json
562
587
  - grammars/source.j.json
588
+ - grammars/source.jac.json
563
589
  - grammars/source.jai.json
564
590
  - grammars/source.janet.json
565
591
  - grammars/source.jasmin.json
@@ -587,6 +613,7 @@ files:
587
613
  - grammars/source.julia.json
588
614
  - grammars/source.just.json
589
615
  - grammars/source.kakscript.json
616
+ - grammars/source.kcl.json
590
617
  - grammars/source.kdl.json
591
618
  - grammars/source.kerboscript.json
592
619
  - grammars/source.keyvalues.json
@@ -594,6 +621,7 @@ files:
594
621
  - grammars/source.koka.json
595
622
  - grammars/source.kotlin.json
596
623
  - grammars/source.kusto.json
624
+ - grammars/source.langium.json
597
625
  - grammars/source.lark.json
598
626
  - grammars/source.lbnf.json
599
627
  - grammars/source.lcb.json
@@ -617,6 +645,7 @@ files:
617
645
  - grammars/source.logtalk.json
618
646
  - grammars/source.lolcode.json
619
647
  - grammars/source.loomscript.json
648
+ - grammars/source.lp.json
620
649
  - grammars/source.lsl.json
621
650
  - grammars/source.ltspice.symbol.json
622
651
  - grammars/source.lua.json
@@ -649,10 +678,14 @@ files:
649
678
  - grammars/source.mermaid.json
650
679
  - grammars/source.mermaid.mindmap.json
651
680
  - grammars/source.mermaid.pie-chart.json
681
+ - grammars/source.mermaid.quad-chart.json
652
682
  - grammars/source.mermaid.requirement-diagram.json
683
+ - grammars/source.mermaid.sankey.json
653
684
  - grammars/source.mermaid.sequence-diagram.json
654
685
  - grammars/source.mermaid.state-diagram.json
686
+ - grammars/source.mermaid.timeline.json
655
687
  - grammars/source.mermaid.user-journey.json
688
+ - grammars/source.mermaid.zenuml.json
656
689
  - grammars/source.meson.json
657
690
  - grammars/source.meta-info.json
658
691
  - grammars/source.mfu.json
@@ -691,6 +724,7 @@ files:
691
724
  - grammars/source.nextflow-groovy.json
692
725
  - grammars/source.nextflow.json
693
726
  - grammars/source.nginx.json
727
+ - grammars/source.nickel.json
694
728
  - grammars/source.nim.json
695
729
  - grammars/source.ninja.json
696
730
  - grammars/source.nit.json
@@ -772,6 +806,7 @@ files:
772
806
  - grammars/source.prolog.json
773
807
  - grammars/source.promela.json
774
808
  - grammars/source.proto.json
809
+ - grammars/source.psl.json
775
810
  - grammars/source.puppet.json
776
811
  - grammars/source.purescript.json
777
812
  - grammars/source.pyjade.json
@@ -787,11 +822,13 @@ files:
787
822
  - grammars/source.qml.json
788
823
  - grammars/source.qsharp.json
789
824
  - grammars/source.quake.json
825
+ - grammars/source.quakec.json
790
826
  - grammars/source.quoting.raku.json
791
827
  - grammars/source.r.json
792
828
  - grammars/source.racket.json
793
829
  - grammars/source.raku.json
794
830
  - grammars/source.rascal.json
831
+ - grammars/source.rascript.json
795
832
  - grammars/source.rbs.json
796
833
  - grammars/source.reason.hover.type.json
797
834
  - grammars/source.reason.json
@@ -817,6 +854,7 @@ files:
817
854
  - grammars/source.rmcobol.json
818
855
  - grammars/source.roc.json
819
856
  - grammars/source.ron.json
857
+ - grammars/source.rosmsg.json
820
858
  - grammars/source.rpg.json
821
859
  - grammars/source.rpgle.json
822
860
  - grammars/source.rpm-spec.json
@@ -874,6 +912,7 @@ files:
874
912
  - grammars/source.strings.json
875
913
  - grammars/source.stylus.json
876
914
  - grammars/source.supercollider.json
915
+ - grammars/source.surrealql.json
877
916
  - grammars/source.svelte.json
878
917
  - grammars/source.sway.json
879
918
  - grammars/source.swift.json
@@ -884,6 +923,7 @@ files:
884
923
  - grammars/source.talon.json
885
924
  - grammars/source.tcl.json
886
925
  - grammars/source.tea.json
926
+ - grammars/source.teal.json
887
927
  - grammars/source.templ.json
888
928
  - grammars/source.terra.json
889
929
  - grammars/source.textgrid.json
@@ -893,6 +933,7 @@ files:
893
933
  - grammars/source.tla.json
894
934
  - grammars/source.tlverilog.json
895
935
  - grammars/source.tm-properties.json
936
+ - grammars/source.tmdl.json
896
937
  - grammars/source.tnsaudit.json
897
938
  - grammars/source.toc.json
898
939
  - grammars/source.toit.json
@@ -902,6 +943,7 @@ files:
902
943
  - grammars/source.ts.prismaClientRawSQL.json
903
944
  - grammars/source.tsp.json
904
945
  - grammars/source.tsql.json
946
+ - grammars/source.tsv.json
905
947
  - grammars/source.tsx.json
906
948
  - grammars/source.turing.json
907
949
  - grammars/source.turtle.json
@@ -915,10 +957,11 @@ files:
915
957
  - grammars/source.utreport.json
916
958
  - grammars/source.v.json
917
959
  - grammars/source.vala.json
918
- - grammars/source.varnish.vcl.json
960
+ - grammars/source.vb6.json
919
961
  - grammars/source.vba.json
920
962
  - grammars/source.vbnet.json
921
963
  - grammars/source.vcard.json
964
+ - grammars/source.vcl.json
922
965
  - grammars/source.velocity.html.json
923
966
  - grammars/source.velocity.json
924
967
  - grammars/source.vento.json
@@ -926,13 +969,14 @@ files:
926
969
  - grammars/source.vhdl.json
927
970
  - grammars/source.vim-snippet.json
928
971
  - grammars/source.viml.json
929
- - grammars/source.vue.json
972
+ - grammars/source.vscode.c3.json
930
973
  - grammars/source.vyper.json
931
974
  - grammars/source.wavefront.mtl.json
932
975
  - grammars/source.wavefront.obj.json
933
976
  - grammars/source.wdl.json
934
977
  - grammars/source.webassembly.json
935
978
  - grammars/source.webidl.json
979
+ - grammars/source.wesl.json
936
980
  - grammars/source.wgetrc.json
937
981
  - grammars/source.wgsl.json
938
982
  - grammars/source.whiley.json
@@ -981,6 +1025,7 @@ files:
981
1025
  - grammars/text.error-list.json
982
1026
  - grammars/text.find-refs.json
983
1027
  - grammars/text.gherkin.feature.json
1028
+ - grammars/text.git-commit.json
984
1029
  - grammars/text.grammarkdown.json
985
1030
  - grammars/text.haml.json
986
1031
  - grammars/text.hamlc.json
@@ -1027,12 +1072,17 @@ files:
1027
1072
  - grammars/text.html.tcl.json
1028
1073
  - grammars/text.html.twig.json
1029
1074
  - grammars/text.html.vento.json
1075
+ - grammars/text.html.vue.json
1030
1076
  - grammars/text.idl-idldoc.json
1031
1077
  - grammars/text.info.json
1078
+ - grammars/text.injection.go-template.json
1032
1079
  - grammars/text.jade.json
1080
+ - grammars/text.jira.json
1033
1081
  - grammars/text.junit-test-report.json
1082
+ - grammars/text.k.json
1034
1083
  - grammars/text.lesshst.json
1035
1084
  - grammars/text.log.latex.json
1085
+ - grammars/text.markdown.go-template.codeblock.json
1036
1086
  - grammars/text.marko.json
1037
1087
  - grammars/text.md.json
1038
1088
  - grammars/text.muse.json
@@ -1053,6 +1103,7 @@ files:
1053
1103
  - grammars/text.sfd.json
1054
1104
  - grammars/text.shell-session.json
1055
1105
  - grammars/text.slim.json
1106
+ - grammars/text.source.mps.json
1056
1107
  - grammars/text.srt.json
1057
1108
  - grammars/text.tex.json
1058
1109
  - grammars/text.tex.latex.beamer.json
@@ -1077,9 +1128,11 @@ files:
1077
1128
  - grammars/text.youtube.json
1078
1129
  - grammars/text.zone_file.json
1079
1130
  - grammars/textmate.format-string.json
1131
+ - grammars/v.mod.json
1080
1132
  - grammars/version
1081
1133
  - grammars/vue.directives.json
1082
1134
  - grammars/vue.interpolations.json
1135
+ - grammars/vue.sfc.script.leading-operator-fix.json
1083
1136
  - grammars/vue.sfc.style.variable.injection.json
1084
1137
  - lib/linguist.rb
1085
1138
  - lib/linguist/VERSION
@@ -1093,6 +1146,7 @@ files:
1093
1146
  - lib/linguist/grammars.rb
1094
1147
  - lib/linguist/heuristics.rb
1095
1148
  - lib/linguist/heuristics.yml
1149
+ - lib/linguist/instrumenter.rb
1096
1150
  - lib/linguist/language.rb
1097
1151
  - lib/linguist/languages.json
1098
1152
  - lib/linguist/languages.yml
@@ -1134,7 +1188,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1134
1188
  - !ruby/object:Gem::Version
1135
1189
  version: '0'
1136
1190
  requirements: []
1137
- rubygems_version: 3.6.7
1191
+ rubygems_version: 3.6.9
1138
1192
  specification_version: 4
1139
1193
  summary: GitHub Language detection
1140
1194
  test_files: []
@@ -1 +0,0 @@
1
- {"scopeName":"inline.edgeql","patterns":[{"contentName":"meta.embedded.block.edgeql","begin":"(%edgeql\\()\\s*$","end":"(?\u003c=\\))","patterns":[{"begin":"^\\s*(`)$","end":"^\\s*(`)","patterns":[{"include":"source.edgeql"}]}]},{"contentName":"meta.embedded.block.edgeql","begin":"(%edgeql\\(`)","end":"(\\`( )?\\))","patterns":[{"include":"source.edgeql"}]}]}
@@ -1 +0,0 @@
1
- {"name":"VCL","scopeName":"source.varnish.vcl","patterns":[{"name":"comment.line.number-sign.vcl","match":"\\#.*"},{"name":"comment.line.double-slash.vcl","match":"\\/\\/.*"},{"name":"comment.block.vcl","begin":"\\/\\*","end":"\\*\\/"},{"name":"meta.include.vcl","begin":"\\b(import|include)\\b\\s*","end":"(?=\\s|;|$)","patterns":[{"include":"#strings"}],"beginCaptures":{"1":{"name":"keyword.control.import.php"}}},{"name":"meta.director.vcl","begin":"(?i)^\\s*(director)\\s+([a-z0-9_]+)\\s+(round\\-robin|random|client|hash|dns|fallback)\\s*\\{","end":"\\}","patterns":[{"include":"$self"}],"captures":{"1":{"name":"storage.type.director.vcl"},"2":{"name":"entity.name.type.director.vcl"},"3":{"name":"storage.type.director.family.vcl"}}},{"name":"meta.backend.vcl","begin":"(?i)^\\s*(backend)\\s+([a-z0-9_]+)\\s*\\{","end":"\\}","patterns":[{"include":"$self"}],"captures":{"1":{"name":"storage.type.backend.vcl"},"2":{"name":"entity.name.type.backend.vcl"}}},{"name":"meta.acl.vcl","begin":"(?i)^\\s*(acl)\\s+([a-z0-9_]+)\\s*\\{","end":"\\}","patterns":[{"include":"$self"}],"captures":{"1":{"name":"storage.type.acl.vcl"},"2":{"name":"entity.name.type.acl.vcl"}}},{"name":"meta.probe.vcl","match":"(?i)^\\s*(probe)\\s+([a-z0-9_]+)\\s*","captures":{"1":{"name":"storage.type.probe.vcl"},"2":{"name":"entity.name.type.probe.vcl"}}},{"name":"meta.subroutine.vcl","begin":"(?i)^\\s*(sub)\\s+([a-z0-9_]+)\\s*\\{","end":"\\}","patterns":[{"include":"$self"}],"captures":{"1":{"name":"storage.type.subroutine.vcl"},"2":{"name":"entity.name.type.subroutine.vcl"}}},{"begin":"\\b(return)\\s*\\(","end":"\\)","patterns":[{"name":"constant.language.return.vcl","match":"(deliver|error|fetch|hash|hit_for_pass|lookup|ok|pass|pipe|restart|synth|retry|abandon|fail|purge)"}],"captures":{"1":{"name":"keyword.control.vcl"}}},{"name":"meta.error.vcl","begin":"\\b(error)\\b\\s*","end":"(?=\\s|;|$)","patterns":[{"include":"#strings"},{"include":"#numbers"}],"beginCaptures":{"1":{"name":"keyword.control.error"}}},{"match":"\\b(set|unset|remove|synthetic|call|if|else|elsif|else if)\\b","captures":{"1":{"name":"keyword.control.php"}}},{"include":"#variables"},{"include":"#numbers"},{"include":"#strings"},{"include":"#functions"},{"include":"#constants"},{"include":"#subkeys"},{"include":"#blocks"}],"repository":{"blocks":{"patterns":[{"begin":"\\{","end":"\\}","patterns":[{"include":"$self"}]}]},"constants":{"patterns":[{"name":"constant.builtin.vcl","match":"\\b(true|false|now)\\b"}]},"functions":{"patterns":[{"name":"support.function.builtin.vcl","match":"(hash_data|regsuball|regsub|ban_url|ban|purge|synth)"},{"name":"support.function.module.std.vcl","match":"std\\.(log|toupper|tolower|set_ip_tos|random|log|syslog|fileread|collect|duration|integer|ip)"},{"name":"support.function.module.libvmodredis.vcl","match":"redis[0-9]?\\.(call|send|pipeline|init_redis)"}]},"numbers":{"patterns":[{"name":"constant.numeric.time.vcl","match":"\\b[0-9]+ ?(m|s|h|d|w)\\b"},{"name":"constant.numeric.vcl","match":"\\b[0-9]+(\\b|;)"}]},"string-double-quoted":{"patterns":[{"name":"string.quoted.double.vcl","contentName":"meta.string-contents.quoted.double.vcl","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.vcl","match":"\\\\[\\\\\"]"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.vcl"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.vcl"}}}]},"string-long":{"patterns":[{"name":"string.quoted.long.vcl","contentName":"meta.string-contents.quoted.double.vcl","begin":"\\{\"","end":"\"\\}","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.vcl"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.vcl"}}}]},"string-single-quoted":{"name":"string.quoted.single.vcl","contentName":"meta.string-contents.quoted.single.vcl","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.vcl","match":"\\\\[\\\\']"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.vcl"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.vcl"}}},"strings":{"patterns":[{"include":"#string-long"},{"include":"#string-single-quoted"},{"include":"#string-double-quoted"}]},"subkeys":{"patterns":[{"name":"variable.subkey.vcl","match":"\\.(max_connections|first_byte_timeout|between_bytes_timeout|probe|host_header|retries|backend|weight|host|list|port|connect_timeout|ttl|suffix|url|request|window|threshold|initial|expected_response|interval|timeout)\\b"}]},"variables":{"patterns":[{"name":"variable.other.vcl","match":"(req|bereq|obj|beresp|client|server|resp)\\.[a-zA-Z0-9\\-\\_\\.]+"}]}}}
@@ -1 +0,0 @@
1
- {"name":"Vue","scopeName":"source.vue","patterns":[{"include":"#vue-comments"},{"include":"#self-closing-tag"},{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)md\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text.html.markdown","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.gfm"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)html\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text.html.derivative","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"#html-stuff"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)pug\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text.pug","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"text.jade"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)stylus\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.stylus","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.stylus"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)postcss\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.postcss","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.postcss"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)sass\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.sass","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.sass"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)css\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.css","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.css"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)scss\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.css.scss","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.css.scss"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)less\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.css.less","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.css.less"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)js\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.js","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.js"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)ts\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.ts","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.ts"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)jsx\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.js.jsx","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)tsx\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.tsx","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.tsx"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)coffee\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.coffee","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.coffee"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)json\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.json","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.json"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)jsonc\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.json.comments","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.json.comments"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)json5\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.json5","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)yaml\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.yaml","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.yaml"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)toml\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.toml","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.toml"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)(gql|graphql)\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.graphql","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.graphql"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)vue\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.vue","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.vue"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"(template)\\b","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text.html.derivative","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/template\\b)","patterns":[{"include":"#html-stuff"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"(script)\\b","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.js","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/script\\b)","patterns":[{"include":"source.js"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"(style)\\b","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.css","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/style\\b)","patterns":[{"include":"source.css"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)"}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}}],"repository":{"html-stuff":{"patterns":[{"include":"#template-tag"},{},{"include":"text.html.basic"}]},"self-closing-tag":{"name":"self-closing-tag","begin":"(\u003c)([a-zA-Z0-9:-]+)(?=([^\u003e]+/\u003e))","end":"(/\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},"tag-stuff":{"name":"meta.tag-stuff","begin":"\\G","end":"(?=/\u003e)|(\u003e)","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}],"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},"template-tag":{"patterns":[{"include":"#template-tag-1"},{"include":"#template-tag-2"}]},"template-tag-1":{"name":"meta.template-tag.start","begin":"(\u003c)(template)\\b(\u003e)","end":"(/?\u003e)","patterns":[{"name":"meta.template-tag.end","begin":"\\G","end":"(?=/\u003e)|((\u003c/)(template)\\b)","patterns":[{"include":"#html-stuff"}],"endCaptures":{"2":{"name":"punctuation.definition.tag.begin.html.vue"},"3":{"name":"entity.name.tag.$3.html.vue"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"},"3":{"name":"punctuation.definition.tag.end.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},"template-tag-2":{"name":"meta.template-tag.start","begin":"(\u003c)(template)\\b","end":"(/?\u003e)","patterns":[{"name":"meta.template-tag.end","begin":"\\G","end":"(?=/\u003e)|((\u003c/)(template)\\b)","patterns":[{"include":"#tag-stuff"},{"include":"#html-stuff"}],"endCaptures":{"2":{"name":"punctuation.definition.tag.begin.html.vue"},"3":{"name":"entity.name.tag.$3.html.vue"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},"vue-comments":{"patterns":[{"include":"#vue-comments-key-value"},{"name":"comment.block.vue","begin":"\u003c!--","end":"--\u003e","captures":{"0":{"name":"punctuation.definition.comment.vue"}}}]},"vue-comments-key-value":{"name":"comment.block.vue","begin":"(\u003c!--)\\s*(@)([\\w$]+)(?=\\s)","end":"(--\u003e)","patterns":[{"include":"source.json#value"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.vue"},"2":{"name":"punctuation.definition.block.tag.comment.vue"},"3":{"name":"storage.type.class.comment.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.comment.vue"}}},"vue-directives":{"patterns":[{"include":"#vue-directives-control"},{"include":"#vue-directives-generic-attr"},{"include":"#vue-directives-style-attr"},{"include":"#vue-directives-original"}]},"vue-directives-control":{"name":"meta.attribute.directive.control.vue","begin":"(?:(v-for)|(v-if|v-else-if|v-else))(?==)","end":"(?=\\s*[^=\\s])","patterns":[{"include":"#vue-directives-expression"}],"beginCaptures":{"1":{"name":"keyword.control.loop.vue"},"2":{"name":"keyword.control.conditional.vue"}}},"vue-directives-expression":{"patterns":[{"begin":"(=)\\s*('|\"|`)","end":"(\\2)","patterns":[{"name":"source.ts.embedded.html.vue","begin":"(?\u003c=('|\"|`))","end":"(?=\\1)","patterns":[{"include":"source.ts#expression"}]}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.html.vue"},"2":{"name":"punctuation.definition.string.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}}},{"begin":"(=)\\s*(?=[^'\"`])","end":"(?=(\\s|\u003e|\\/\u003e))","patterns":[{"name":"source.ts.embedded.html.vue","begin":"(?=[^'\"`])","end":"(?=(\\s|\u003e|\\/\u003e))","patterns":[{"include":"source.ts#expression"}]}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.html.vue"}}}]},"vue-directives-generic-attr":{"name":"meta.attribute.generic.vue","begin":"\\b(generic)\\s*(=)","end":"(?\u003c='|\")","patterns":[{"name":"meta.type.parameters.vue","begin":"('|\")","end":"(\\1)","patterns":[{"include":"source.ts#comment"},{"name":"storage.modifier.ts","match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(extends|in|out)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"include":"source.ts#type"},{"include":"source.ts#punctuation-comma"},{"name":"keyword.operator.assignment.ts","match":"(=)(?!\u003e)"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}}}],"beginCaptures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"}}},"vue-directives-original":{"name":"meta.attribute.directive.vue","begin":"(?:(?:(v-[\\w-]+)(:)?)|([:\\.])|(@)|(#))(?:(?:(\\[)([^\\]]*)(\\]))|([\\w-]+))?","end":"(?=\\s*[^=\\s])","patterns":[{"match":"(\\.)([\\w-]*)"},{"include":"#vue-directives-expression"}],"beginCaptures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"},"3":{"name":"punctuation.attribute-shorthand.bind.html.vue"},"4":{"name":"punctuation.attribute-shorthand.event.html.vue"},"5":{"name":"punctuation.attribute-shorthand.slot.html.vue"},"6":{"name":"punctuation.separator.key-value.html.vue"},"7":{"name":"source.ts.embedded.html.vue","patterns":[{"include":"source.ts#expression"}]},"8":{"name":"punctuation.separator.key-value.html.vue"},"9":{"name":"entity.other.attribute-name.html.vue"}}},"vue-directives-style-attr":{"name":"meta.attribute.style.vue","begin":"\\b(style)\\s*(=)","end":"(?\u003c='|\")","patterns":[{"name":"source.css.embedded.html.vue","begin":"('|\")","end":"(\\1)","patterns":[{"include":"source.css#comment-block"},{"include":"source.css#escapes"},{"include":"source.css#font-features"},{"name":"variable.css","match":"(?x) (?\u003c![\\w-])\n--\n(?:[-a-zA-Z_] | [^\\x00-\\x7F]) # First letter\n(?:[-a-zA-Z0-9_] | [^\\x00-\\x7F] # Remainder of identifier\n |\\\\(?:[0-9a-fA-F]{1,6}|.)\n)*"},{"name":"meta.property-name.css","begin":"(?\u003c![-a-zA-Z])(?=[-a-zA-Z])","end":"$|(?![-a-zA-Z])","patterns":[{"include":"source.css#property-names"}]},{"contentName":"meta.property-value.css","begin":"(:)\\s*","end":"\\s*(;)|\\s*(?='|\")","patterns":[{"include":"source.css#comment-block"},{"include":"source.css#property-values"}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.css"}},"endCaptures":{"1":{"name":"punctuation.terminator.rule.css"}}},{"name":"punctuation.terminator.rule.css","match":";"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}}}],"beginCaptures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"}}},"vue-interpolations":{"patterns":[{"name":"expression.embedded.vue","begin":"(\\{\\{)","end":"(\\}\\})","patterns":[{"name":"source.ts.embedded.html.vue","begin":"\\G","end":"(?=\\}\\})","patterns":[{"include":"source.ts#expression"}]}],"beginCaptures":{"1":{"name":"punctuation.definition.interpolation.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.interpolation.end.html.vue"}}}]}}}