github-linguist 7.28.0 → 7.30.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/bin/git-linguist +7 -3
  3. data/bin/github-linguist +6 -3
  4. data/grammars/etc.json +1 -1
  5. data/grammars/inline.graphql.json +1 -1
  6. data/grammars/inline.graphql.markdown.codeblock.json +1 -0
  7. data/grammars/inline.hbs.json +1 -1
  8. data/grammars/markdown.commonlisp.codeblock.json +1 -0
  9. data/grammars/markdown.gleam.codeblock.json +1 -0
  10. data/grammars/markdown.glimmer.codeblock.json +1 -0
  11. data/grammars/markdown.move.codeblock.json +1 -1
  12. data/grammars/markdown.rego.codeblock.json +1 -0
  13. data/grammars/source.8xp.json +1 -0
  14. data/grammars/source.Caddyfile-test.json +1 -0
  15. data/grammars/source.Caddyfile.json +1 -0
  16. data/grammars/source.abl.json +1 -1
  17. data/grammars/source.amxxpawn.json +1 -0
  18. data/grammars/source.astro.json +1 -1
  19. data/grammars/source.bb.json +1 -0
  20. data/grammars/source.bh.json +1 -0
  21. data/grammars/source.bicep.json +1 -1
  22. data/grammars/source.bms.json +1 -1
  23. data/grammars/source.bqn.json +1 -0
  24. data/grammars/source.brs.json +1 -1
  25. data/grammars/source.clarion.json +1 -1
  26. data/grammars/source.cobol.json +1 -1
  27. data/grammars/source.commonlisp.json +1 -0
  28. data/grammars/source.cs.json +1 -1
  29. data/grammars/source.csound.json +1 -1
  30. data/grammars/source.d2.json +1 -1
  31. data/grammars/source.dart.json +1 -1
  32. data/grammars/source.did.json +1 -1
  33. data/grammars/source.elvish-transcript.json +1 -1
  34. data/grammars/source.firrtl.json +1 -0
  35. data/grammars/source.fsharp.json +1 -1
  36. data/grammars/source.gdscript.json +1 -1
  37. data/grammars/source.generic-db.json +1 -1
  38. data/grammars/source.gjs.json +1 -1
  39. data/grammars/source.gleam.json +1 -1
  40. data/grammars/source.gts.json +1 -1
  41. data/grammars/source.hcl.json +1 -1
  42. data/grammars/source.hcl.terraform.json +1 -1
  43. data/grammars/source.hx.json +1 -1
  44. data/grammars/source.ice.json +1 -1
  45. data/grammars/source.julia.json +1 -1
  46. data/grammars/source.kotlin.json +1 -1
  47. data/grammars/source.lean4.json +1 -1
  48. data/grammars/source.lua.json +1 -1
  49. data/grammars/source.luau.json +1 -0
  50. data/grammars/source.m2.json +1 -1
  51. data/grammars/source.markdown.caddy.codeblock.json +1 -0
  52. data/grammars/source.matlab.json +1 -1
  53. data/grammars/source.mdx.json +1 -1
  54. data/grammars/source.mojo.json +1 -0
  55. data/grammars/source.move.json +1 -1
  56. data/grammars/source.nasal.json +1 -1
  57. data/grammars/source.nim.json +1 -1
  58. data/grammars/source.nushell.json +1 -1
  59. data/grammars/source.odin.json +1 -1
  60. data/grammars/source.p4.json +1 -1
  61. data/grammars/source.pip-requirements.json +1 -0
  62. data/grammars/source.pkl.json +1 -0
  63. data/grammars/source.praat.json +1 -1
  64. data/grammars/source.rego.json +1 -1
  65. data/grammars/source.rescript.json +1 -1
  66. data/grammars/source.roc.json +1 -0
  67. data/grammars/source.ron.json +1 -0
  68. data/grammars/source.rust.json +1 -1
  69. data/grammars/source.scala.json +1 -1
  70. data/grammars/source.slice.json +1 -1
  71. data/grammars/source.slint.json +1 -0
  72. data/grammars/source.solidity.json +1 -1
  73. data/grammars/source.sourcepawn.json +1 -1
  74. data/grammars/source.sqf.json +1 -1
  75. data/grammars/source.swift.json +1 -1
  76. data/grammars/source.templ.json +1 -0
  77. data/grammars/source.toit.json +1 -1
  78. data/grammars/source.ts.json +1 -1
  79. data/grammars/source.tsx.json +1 -1
  80. data/grammars/source.vba.json +1 -1
  81. data/grammars/source.wsd.json +1 -1
  82. data/grammars/sp-jsdoc.injection.json +1 -0
  83. data/grammars/text.adblock.json +1 -1
  84. data/grammars/text.crontab.json +1 -0
  85. data/grammars/text.html.edge.json +1 -0
  86. data/grammars/text.html.ember-handlebars.json +1 -1
  87. data/grammars/text.html.statamic.json +1 -1
  88. data/grammars/text.md.json +1 -1
  89. data/grammars/text.srt.json +1 -1
  90. data/grammars/text.valve-cfg.json +1 -0
  91. data/grammars/text.valve-kv.json +1 -0
  92. data/grammars/version +1 -1
  93. data/lib/linguist/VERSION +1 -1
  94. data/lib/linguist/generated.rb +39 -1
  95. data/lib/linguist/heuristics.yml +26 -2
  96. data/lib/linguist/languages.json +1 -1
  97. data/lib/linguist/languages.yml +195 -9
  98. data/lib/linguist/repository.rb +8 -6
  99. data/lib/linguist/samples.json +1 -1
  100. metadata +31 -5
  101. data/grammars/markdown.graphql.codeblock.json +0 -1
  102. data/grammars/source.terraform.json +0 -1
@@ -1 +1 @@
1
- {"name":"SubRip Text","scopeName":"text.srt","patterns":[{"include":"#main"}],"repository":{"action":{"patterns":[{"name":"string.quoted.other.sound.action.square-brackets.srt","begin":"\\[","end":"\\]|(?=^[ \\t]*$)","patterns":[{"include":"#formatting"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.srt"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.srt"}}},{"name":"string.quoted.other.sound.action.round-brackets.srt","begin":"\\(","end":"\\)|(?=^[ \\t]*$)","patterns":[{"include":"#formatting"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.srt"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.srt"}}}]},"arrow":{"name":"keyword.operator.timespan.srt","match":"--\u003e","captures":{"0":{"name":"punctuation.definition.separator.srt"}}},"bold":{"contentName":"markup.bold.srt","begin":"(\u003c)([Bb])(?=$|\u003e|\\s)([^\u003e]*)(\u003e)","end":"(\u003c/)([Bb])[ \\t]*(\u003e)|(?=^[ \\t]*$)","patterns":[{"include":"#text"}],"beginCaptures":{"0":{"name":"meta.tag.inline.b.html.srt"},"1":{"name":"punctuation.definition.tag.begin.html.srt"},"2":{"name":"entity.name.tag.inline.b.html.srt"},"3":{"patterns":[{"include":"text.html.basic#tag-stuff"}]},"4":{"name":"punctuation.definition.tag.end.html.srt"}},"endCaptures":{"0":{"name":"meta.tag.inline.b.html.srt"},"1":{"name":"punctuation.definition.tag.begin.html.srt"},"2":{"name":"entity.name.tag.inline.b.html"},"3":{"name":"punctuation.definition.tag.end.html.srt"}}},"dash":{"name":"markup.quote.quotation-dash.srt","match":"(?:^|\\G)(-)","captures":{"1":{"name":"punctuation.section.quote.srt"}}},"escapes":{"patterns":[{"name":"constant.character.whitespace.escape.hard-space.srt","match":"(\\\\)h","captures":{"1":{"name":"punctuation.definition.escape.backslash.srt"}}},{"name":"constant.character.whitespace.escape.forced-newline.srt","match":"(\\\\)N","captures":{"1":{"name":"punctuation.definition.escape.backslash.srt"}}}]},"font":{"contentName":"markup.other.font.srt","begin":"(?i)(\u003c)(font)(?=$|\u003e|\\s)([^\u003e]*)(\u003e)","end":"(?i)(\u003c/)(font)[ \\t]*(\u003e)|(?=^[ \\t]*$)","patterns":[{"include":"#text"}],"beginCaptures":{"0":{"name":"meta.tag.inline.font.html.srt"},"1":{"name":"punctuation.definition.tag.begin.html.srt"},"2":{"name":"entity.name.tag.inline.font.html.srt"},"3":{"patterns":[{"include":"text.html.basic#tag-stuff"}]},"4":{"name":"punctuation.definition.tag.end.html.srt"}},"endCaptures":{"0":{"name":"meta.tag.inline.font.html.srt"},"1":{"name":"punctuation.definition.tag.begin.html.srt"},"2":{"name":"entity.name.tag.inline.font.html.srt"},"3":{"name":"punctuation.definition.tag.end.html.srt"}}},"formatting":{"patterns":[{"include":"#bold"},{"include":"#italic"},{"include":"#underline"},{"include":"#strike"},{"include":"#font"}]},"italic":{"contentName":"markup.italic.srt","begin":"(\u003c)([Ii])(?=$|\u003e|\\s)([^\u003e]*)(\u003e)","end":"(\u003c/)([Ii])[ \\t]*(\u003e)|(?=^[ \\t]*$)","patterns":[{"include":"#text"}],"beginCaptures":{"0":{"name":"meta.tag.inline.i.html.srt"},"1":{"name":"punctuation.definition.tag.begin.html.srt"},"2":{"name":"entity.name.tag.inline.i.html.srt"},"3":{"patterns":[{"include":"text.html.basic#tag-stuff"}]},"4":{"name":"punctuation.definition.tag.end.html.srt"}},"endCaptures":{"0":{"name":"meta.tag.inline.i.html.srt"},"1":{"name":"punctuation.definition.tag.begin.html.srt"},"2":{"name":"entity.name.tag.inline.i.html"},"3":{"name":"punctuation.definition.tag.end.html.srt"}}},"linePosition":{"name":"meta.line-position.${2:/downcase}-axis.srt","match":"\\b(([XY])[0-9]+)(:)(?:([-+]?[0-9]+\\.[0-9]+)|([-+]?[0-9]+))\\b","captures":{"1":{"name":"variable.parameter.position.srt"},"3":{"name":"keyword.operator.assignment.key-value.colon.srt"},"4":{"name":"constant.numeric.float.srt"},"5":{"name":"constant.numeric.integer.srt"}}},"lyrics":{"name":"markup.quote.lyrics.srt","begin":"(♪+)[ \\t]*","end":"[ \\t]*(♪+)|(?=^-|^[ \\t]*$|\\s*\u003c/)","patterns":[{"include":"#formatting"}],"beginCaptures":{"1":{"name":"punctuation.definition.lyrics.begin.srt"}},"endCaptures":{"1":{"name":"punctuation.definition.lyrics.end.srt"}}},"main":{"patterns":[{"include":"#subtitle"}]},"speaker":{"match":"(?:^|\\G)(-[ \\t]*)?((?:[^-\u003c\u003e\\s:][^:]*(?=:[ \\t]*\\S)|[^-\u003c\u003e\\s:a-z][^:a-z]*)(:))(?=$|\\s)","captures":{"1":{"patterns":[{"include":"#dash"}]},"2":{"name":"entity.name.speaker.srt","patterns":[{"include":"#formatting"},{"include":"#action"}]},"3":{"name":"punctuation.separator.speaker.colon.srt"}}},"strike":{"contentName":"markup.strike.srt","begin":"(\u003c)([Ss])(?=$|\u003e|\\s)([^\u003e]*)(\u003e)","end":"(\u003c/)([Ss])[ \\t]*(\u003e)|(?=^[ \\t]*$)","patterns":[{"include":"#text"}],"beginCaptures":{"0":{"name":"meta.tag.inline.s.html.srt"},"1":{"name":"punctuation.definition.tag.begin.html.srt"},"2":{"name":"entity.name.tag.inline.s.html.srt"},"3":{"patterns":[{"include":"text.html.basic#tag-stuff"}]},"4":{"name":"punctuation.definition.tag.end.html.srt"}},"endCaptures":{"0":{"name":"meta.tag.inline.s.html.srt"},"1":{"name":"punctuation.definition.tag.begin.html.srt"},"2":{"name":"entity.name.tag.inline.s.html"},"3":{"name":"punctuation.definition.tag.end.html.srt"}}},"subtitle":{"name":"meta.subtitle.srt","begin":"^(?:?)(\\d+)$","end":"^[ \\t]*$","patterns":[{"begin":"\\G\\s*","end":"(?!\\G)$","patterns":[{"name":"meta.timespan.empty.srt","contentName":"comment.block.ignored.hidden-subtitle.srt","begin":"(?x) ^\n([0-9]{2}:[0-9]{2}:[0-9]{2}[,.][0-9]{3}) \\x20(--\u003e)\\x20 (\\1)\n((?:\\s*[XY][0-9]+:[-+]?[0-9]+(?:\\.[0-9]+)?)++)?\n[ \\t]* $ ","end":"(?=^[ \\t]*$)","beginCaptures":{"1":{"name":"constant.numeric.time.timecode.start.srt","patterns":[{"include":"#timecode"}]},"2":{"patterns":[{"include":"#arrow"}]},"3":{"name":"constant.numeric.time.timecode.end.srt","patterns":[{"include":"#timecode"}]},"4":{"patterns":[{"include":"#linePosition"}]}}},{"name":"meta.timespan.srt","match":"(?x) ^\n([0-9]{2}:[0-9]{2}:[0-9]{2}[,.][0-9]{3}) \\x20(--\u003e)\\x20\n([0-9]{2}:[0-9]{2}:[0-9]{2}[,.][0-9]{3})\n((?:\\s*[XY][0-9]+:[-+]?[0-9]+(?:\\.[0-9]+)?)++)?\n[ \\t]* $ ","captures":{"1":{"name":"constant.numeric.time.timecode.start.srt","patterns":[{"include":"#timecode"}]},"2":{"patterns":[{"include":"#arrow"}]},"3":{"name":"constant.numeric.time.timecode.end.srt","patterns":[{"include":"#timecode"}]},"4":{"patterns":[{"include":"#linePosition"}]}}},{"include":"#text"}]},{"include":"#text"}],"beginCaptures":{"1":{"name":"entity.name.section.srt"}}},"text":{"patterns":[{"include":"#speaker"},{"include":"#dash"},{"include":"#action"},{"include":"#lyrics"},{"include":"#formatting"},{"include":"#escapes"}]},"timecode":{"patterns":[{"name":"invalid.illegal.syntax.decimal-separator.srt","match":"\\."},{"name":"invalid.illegal.value.out-of-range.vtt","match":"(?\u003c=:)([6-9][0-9])"}]},"underline":{"contentName":"markup.underline.srt","begin":"(\u003c)([Uu])(?=$|\u003e|\\s)([^\u003e]*)(\u003e)","end":"(\u003c/)([Uu])[ \\t]*(\u003e)|(?=^[ \\t]*$)","patterns":[{"include":"#text"}],"beginCaptures":{"0":{"name":"meta.tag.inline.u.html.srt"},"1":{"name":"punctuation.definition.tag.begin.html.srt"},"2":{"name":"entity.name.tag.inline.u.html.srt"},"3":{"patterns":[{"include":"text.html.basic#tag-stuff"}]},"4":{"name":"punctuation.definition.tag.end.html.srt"}},"endCaptures":{"0":{"name":"meta.tag.inline.u.html.srt"},"1":{"name":"punctuation.definition.tag.begin.html.srt"},"2":{"name":"entity.name.tag.inline.u.html"},"3":{"name":"punctuation.definition.tag.end.html.srt"}}}}}
1
+ {"name":"SubRip Text","scopeName":"text.srt","patterns":[{"include":"#main"}],"repository":{"action":{"patterns":[{"name":"string.quoted.other.sound.action.square-brackets.srt","begin":"\\[","end":"\\]|(?=^[ \\t]*$)","patterns":[{"include":"#formatting"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.srt"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.srt"}}},{"name":"string.quoted.other.sound.action.round-brackets.srt","begin":"\\(","end":"\\)|(?=^[ \\t]*$)","patterns":[{"include":"#formatting"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.srt"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.srt"}}}]},"align":{"name":"meta.tag.override.line-alignment.srt","match":"({)(\\\\a(?:n[1-9]|(10|11|(?!4|8)\\d)))(})","captures":{"1":{"name":"punctuation.definition.tag.begin.srt"},"2":{"name":"entity.name.tag.srt"},"3":{"name":"invalid.deprecated.syntax.tag.srt"},"4":{"name":"punctuation.definition.tag.end.srt"}}},"arrow":{"name":"keyword.operator.timespan.srt","match":"--\u003e","captures":{"0":{"name":"punctuation.definition.separator.srt"}}},"bold":{"contentName":"markup.bold.srt","begin":"(\u003c)([Bb])(?=$|\u003e|\\s)([^\u003e]*)(\u003e)","end":"(\u003c/)([Bb])[ \\t]*(\u003e)|(?=^[ \\t]*$)","patterns":[{"include":"#text"}],"beginCaptures":{"0":{"name":"meta.tag.inline.b.html.srt"},"1":{"name":"punctuation.definition.tag.begin.html.srt"},"2":{"name":"entity.name.tag.inline.b.html.srt"},"3":{"patterns":[{"include":"text.html.basic#tag-stuff"}]},"4":{"name":"punctuation.definition.tag.end.html.srt"}},"endCaptures":{"0":{"name":"meta.tag.inline.b.html.srt"},"1":{"name":"punctuation.definition.tag.begin.html.srt"},"2":{"name":"entity.name.tag.inline.b.html"},"3":{"name":"punctuation.definition.tag.end.html.srt"}}},"dash":{"name":"markup.quote.quotation-dash.srt","match":"(?:^|\\G)(-)","captures":{"1":{"name":"punctuation.section.quote.srt"}}},"escapes":{"patterns":[{"name":"constant.character.whitespace.escape.hard-space.srt","match":"(\\\\)h","captures":{"1":{"name":"punctuation.definition.escape.backslash.srt"}}},{"name":"constant.character.whitespace.escape.forced-newline.srt","match":"(\\\\)N","captures":{"1":{"name":"punctuation.definition.escape.backslash.srt"}}}]},"font":{"contentName":"markup.other.font.srt","begin":"(?i)(\u003c)(font)(?=$|\u003e|\\s)([^\u003e]*)(\u003e)","end":"(?i)(\u003c/)(font)[ \\t]*(\u003e)|(?=^[ \\t]*$)","patterns":[{"include":"#text"}],"beginCaptures":{"0":{"name":"meta.tag.inline.font.html.srt"},"1":{"name":"punctuation.definition.tag.begin.html.srt"},"2":{"name":"entity.name.tag.inline.font.html.srt"},"3":{"patterns":[{"include":"text.html.basic#tag-stuff"}]},"4":{"name":"punctuation.definition.tag.end.html.srt"}},"endCaptures":{"0":{"name":"meta.tag.inline.font.html.srt"},"1":{"name":"punctuation.definition.tag.begin.html.srt"},"2":{"name":"entity.name.tag.inline.font.html.srt"},"3":{"name":"punctuation.definition.tag.end.html.srt"}}},"formatting":{"patterns":[{"include":"#bold"},{"include":"#italic"},{"include":"#underline"},{"include":"#strike"},{"include":"#font"},{"include":"#align"}]},"italic":{"contentName":"markup.italic.srt","begin":"(\u003c)([Ii])(?=$|\u003e|\\s)([^\u003e]*)(\u003e)","end":"(\u003c/)([Ii])[ \\t]*(\u003e)|(?=^[ \\t]*$)","patterns":[{"include":"#text"}],"beginCaptures":{"0":{"name":"meta.tag.inline.i.html.srt"},"1":{"name":"punctuation.definition.tag.begin.html.srt"},"2":{"name":"entity.name.tag.inline.i.html.srt"},"3":{"patterns":[{"include":"text.html.basic#tag-stuff"}]},"4":{"name":"punctuation.definition.tag.end.html.srt"}},"endCaptures":{"0":{"name":"meta.tag.inline.i.html.srt"},"1":{"name":"punctuation.definition.tag.begin.html.srt"},"2":{"name":"entity.name.tag.inline.i.html"},"3":{"name":"punctuation.definition.tag.end.html.srt"}}},"linePosition":{"name":"meta.line-position.${2:/downcase}-axis.srt","match":"\\b(([XY])[0-9]+)(:)(?:([-+]?[0-9]+\\.[0-9]+)|([-+]?[0-9]+))\\b","captures":{"1":{"name":"variable.parameter.position.srt"},"3":{"name":"keyword.operator.assignment.key-value.colon.srt"},"4":{"name":"constant.numeric.float.srt"},"5":{"name":"constant.numeric.integer.srt"}}},"lyrics":{"name":"markup.quote.lyrics.srt","begin":"(♪+)[ \\t]*","end":"[ \\t]*(♪+)|(?=^-|^[ \\t]*$|\\s*\u003c/)","patterns":[{"include":"#formatting"}],"beginCaptures":{"1":{"name":"punctuation.definition.lyrics.begin.srt"}},"endCaptures":{"1":{"name":"punctuation.definition.lyrics.end.srt"}}},"main":{"patterns":[{"include":"#subtitle"}]},"speaker":{"match":"(?:^|\\G)(-[ \\t]*)?((?:[^-\u003c\u003e\\s:][^:]*(?=:[ \\t]*\\S)|[^-\u003c\u003e\\s:a-z][^:a-z]*)(:))(?=$|\\s)","captures":{"1":{"patterns":[{"include":"#dash"}]},"2":{"name":"entity.name.speaker.srt","patterns":[{"include":"#formatting"},{"include":"#action"}]},"3":{"name":"punctuation.separator.speaker.colon.srt"}}},"strike":{"contentName":"markup.strike.srt","begin":"(\u003c)([Ss])(?=$|\u003e|\\s)([^\u003e]*)(\u003e)","end":"(\u003c/)([Ss])[ \\t]*(\u003e)|(?=^[ \\t]*$)","patterns":[{"include":"#text"}],"beginCaptures":{"0":{"name":"meta.tag.inline.s.html.srt"},"1":{"name":"punctuation.definition.tag.begin.html.srt"},"2":{"name":"entity.name.tag.inline.s.html.srt"},"3":{"patterns":[{"include":"text.html.basic#tag-stuff"}]},"4":{"name":"punctuation.definition.tag.end.html.srt"}},"endCaptures":{"0":{"name":"meta.tag.inline.s.html.srt"},"1":{"name":"punctuation.definition.tag.begin.html.srt"},"2":{"name":"entity.name.tag.inline.s.html"},"3":{"name":"punctuation.definition.tag.end.html.srt"}}},"subtitle":{"name":"meta.subtitle.srt","begin":"^(?:?)(\\d+)$","end":"^[ \\t]*$","patterns":[{"begin":"\\G\\s*","end":"(?!\\G)$","patterns":[{"name":"meta.timespan.empty.srt","contentName":"comment.block.ignored.hidden-subtitle.srt","begin":"(?x) ^\n([0-9]{2}:[0-9]{2}:[0-9]{2}[,.][0-9]{3}) \\x20(--\u003e)\\x20 (\\1)\n((?:\\s*[XY][0-9]+:[-+]?[0-9]+(?:\\.[0-9]+)?)++)?\n[ \\t]* $ ","end":"(?=^[ \\t]*$)","beginCaptures":{"1":{"name":"constant.numeric.time.timecode.start.srt","patterns":[{"include":"#timecode"}]},"2":{"patterns":[{"include":"#arrow"}]},"3":{"name":"constant.numeric.time.timecode.end.srt","patterns":[{"include":"#timecode"}]},"4":{"patterns":[{"include":"#linePosition"}]}}},{"name":"meta.timespan.srt","match":"(?x) ^\n([0-9]{2}:[0-9]{2}:[0-9]{2}[,.][0-9]{3}) \\x20(--\u003e)\\x20\n([0-9]{2}:[0-9]{2}:[0-9]{2}[,.][0-9]{3})\n((?:\\s*[XY][0-9]+:[-+]?[0-9]+(?:\\.[0-9]+)?)++)?\n[ \\t]* $ ","captures":{"1":{"name":"constant.numeric.time.timecode.start.srt","patterns":[{"include":"#timecode"}]},"2":{"patterns":[{"include":"#arrow"}]},"3":{"name":"constant.numeric.time.timecode.end.srt","patterns":[{"include":"#timecode"}]},"4":{"patterns":[{"include":"#linePosition"}]}}},{"include":"#text"}]},{"include":"#text"}],"beginCaptures":{"1":{"name":"entity.name.section.srt"}}},"text":{"patterns":[{"include":"#speaker"},{"include":"#dash"},{"include":"#action"},{"include":"#lyrics"},{"include":"#formatting"},{"include":"#escapes"}]},"timecode":{"patterns":[{"name":"invalid.illegal.syntax.decimal-separator.srt","match":"\\."},{"name":"invalid.illegal.value.out-of-range.vtt","match":"(?\u003c=:)([6-9][0-9])"}]},"underline":{"contentName":"markup.underline.srt","begin":"(\u003c)([Uu])(?=$|\u003e|\\s)([^\u003e]*)(\u003e)","end":"(\u003c/)([Uu])[ \\t]*(\u003e)|(?=^[ \\t]*$)","patterns":[{"include":"#text"}],"beginCaptures":{"0":{"name":"meta.tag.inline.u.html.srt"},"1":{"name":"punctuation.definition.tag.begin.html.srt"},"2":{"name":"entity.name.tag.inline.u.html.srt"},"3":{"patterns":[{"include":"text.html.basic#tag-stuff"}]},"4":{"name":"punctuation.definition.tag.end.html.srt"}},"endCaptures":{"0":{"name":"meta.tag.inline.u.html.srt"},"1":{"name":"punctuation.definition.tag.begin.html.srt"},"2":{"name":"entity.name.tag.inline.u.html"},"3":{"name":"punctuation.definition.tag.end.html.srt"}}}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"text.valve-cfg","patterns":[{"include":"#comments"},{"include":"#function"},{"include":"#cvar"},{"include":"#value"}],"repository":{"comments":{"patterns":[{"name":"comment.valve-cfg","match":"\\/\\/.*"},{"name":"comment.block.valve-cfg","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"comment.valve-cfg"}}}]},"cvar":{"patterns":[{"match":"^\\s*(\"[A-Za-z0-9_-]*\")","captures":{"1":{"name":"support.type.property-name.valve-cfg"}}},{"match":"^\\s*('[A-Za-z0-9_-]*')","captures":{"1":{"name":"support.type.property-name.valve-cfg"}}},{"match":"^\\s*([A-Za-z0-9_-]*)","captures":{"1":{"name":"support.type.property-name.valve-cfg"}}}]},"function":{"patterns":[{"name":"support.function.valve-cfg","match":"^\\s*\\b(alias|bind_osx|bind|clear|echo|execifexists|execwithwhitelist|exec|host_writeconfig_ss|host_writeconfig|key_updatelayout|playvol|say_team|say|unbindalljoystick|unbindallmousekeyboard|unbindall)","captures":{"1":{"name":"support.function.valve-cfg"}}}]},"numeric-literal":{"patterns":[{"name":"constant.numeric.float.valve-cfg","match":"[0-9]+\\.[0-9]+"},{"name":"constant.numeric.valve-cfg","match":"\\b0b[0-1]+\\b"},{"name":"constant.numeric.valve-cfg","match":"\\b0o[0-7]+\\b"},{"name":"constant.numeric.valve-cfg","match":"\\b0x[0-9a-fA-F]+\\b"},{"name":"constant.numeric.integer.valve-cfg","match":"\\b\\d+\\b"},{"name":"invalid.illegal.constant.valve-cfg","match":"\\b\\d+\\w+\\b"}]},"strings":{"name":"string.quoted.double.valve-cfg","begin":"\"","end":"\"","patterns":[{"name":"variable","match":"\\\\."}]},"value":{"begin":".","end":"\\n","patterns":[{"include":"#numeric-literal"},{"include":"#strings"}]}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"text.valve-kv","patterns":[{"include":"#value"},{"include":"#key"},{"include":"#comments"}],"repository":{"comments":{"patterns":[{"name":"comment.line.valve-kv","match":"//(.*)$"},{"name":"comment.line.number-sign","match":"#(.*)$"},{"name":"comment.block.valve-kv","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"comment.block.valve-kv"}}}]},"key":{"patterns":[{"name":"support.type.property-name.double.valve-kv","match":"(\"[^\"]*\")"},{"name":"support.type.property-name.single.valve-kv","match":"('[^']*')"}]},"placeholder":{"match":"({)([^\\}]*)(})","captures":{"1":{},"2":{"patterns":[{"name":"constant.numeric.valve-kv","match":"\\d+"},{"name":"constant.character.escape.valve-kv","match":"\\w+"},{"match":"([\\d]+):([A-Za-z]+)","captures":{"1":{"name":"constant.numeric.valve-kv"},"2":{"name":"string.regexp.valve-kv"}}}]},"3":{}}},"string_escaped_char":{"patterns":[{"name":"constant.character.escape.valve-kv","match":"\\\\(?:[abefnrt'\"\\\\]|(?:x[a-zA-Z0-9]{0,2}|\\d+);?)"},{"name":"invalid.illegal.unknown-escape.valve-kv","match":"\\\\."}]},"value":{"patterns":[{"name":"meta.structure.dictionnary.valve-kv","begin":"{","end":"}","patterns":[{"include":"#source"}]},{"name":"string.quoted.double.valve-kv","begin":"(\"[^\"]*\")([^{\"]*)(\")","end":"\"","patterns":[{"name":"constant.character.escape.valve-kv","match":"\\\\\""},{"include":"#placeholder"}],"beginCaptures":{"1":{"name":"support.type.property-name.double.valve-kv"},"2":{"patterns":[{"include":"#comments"}]},"3":{"name":"string.quoted.double.valve-kv"}},"endCaptures":{"0":{"name":"string.quoted.double.valve-kv"}}},{"name":"string.quoted.single.valve-kv","begin":"('[^']*')([^{']*)(')","end":"'","patterns":[{"name":"constant.character.escape.valve-kv","match":"\\\\'"},{"include":"#placeholder"}],"beginCaptures":{"1":{"name":"support.type.property-name.single.valve-kv"},"2":{"patterns":[{"include":"#comments"}]},"3":{"name":"string.quoted.single.valve-kv"}},"endCaptures":{"0":{"name":"string.quoted.single.valve-kv"}}}]}}}
data/grammars/version CHANGED
@@ -1 +1 @@
1
- 7.28.0
1
+ 7.30.0
data/lib/linguist/VERSION CHANGED
@@ -1 +1 @@
1
- 7.28.0
1
+ 7.30.0
@@ -60,7 +60,9 @@ module Linguist
60
60
  generated_net_specflow_feature_file? ||
61
61
  composer_lock? ||
62
62
  cargo_lock? ||
63
+ cargo_orig? ||
63
64
  flake_lock? ||
65
+ bazel_lock? ||
64
66
  node_modules? ||
65
67
  go_vendor? ||
66
68
  go_lock? ||
@@ -68,6 +70,7 @@ module Linguist
68
70
  pdm_lock? ||
69
71
  esy_lock? ||
70
72
  npm_shrinkwrap_or_package_lock? ||
73
+ pnpm_lock? ||
71
74
  terraform_lock? ||
72
75
  generated_yarn_plugnplay? ||
73
76
  godeps? ||
@@ -107,7 +110,8 @@ module Linguist
107
110
  generated_haxe? ||
108
111
  generated_jooq? ||
109
112
  generated_pascal_tlb? ||
110
- generated_sorbet_rbi?
113
+ generated_sorbet_rbi? ||
114
+ generated_sqlx_query?
111
115
  end
112
116
 
113
117
  # Internal: Is the blob an Xcode file?
@@ -432,6 +436,13 @@ module Linguist
432
436
  !!name.match(/npm-shrinkwrap\.json/) || !!name.match(/package-lock\.json/)
433
437
  end
434
438
 
439
+ # Internal: Is the blob a generated pnpm lockfile?
440
+ #
441
+ # Returns true or false.
442
+ def pnpm_lock?
443
+ !!name.match(/pnpm-lock\.yaml/)
444
+ end
445
+
435
446
  # Internal: Is the blob a generated Yarn Plug'n'Play?
436
447
  #
437
448
  # Returns true or false.
@@ -468,6 +479,13 @@ module Linguist
468
479
  !!name.match(/Cargo\.lock/)
469
480
  end
470
481
 
482
+ # Internal: Is the blob a generated Rust Cargo original file?
483
+ #
484
+ # Returns true or false.
485
+ def cargo_orig?
486
+ !!name.match(/Cargo\.toml\.orig/)
487
+ end
488
+
471
489
  # Internal: Is the blob a generated Nix flakes lock file?
472
490
  #
473
491
  # Returns true or false
@@ -475,6 +493,13 @@ module Linguist
475
493
  !!name.match(/(^|\/)flake\.lock$/)
476
494
  end
477
495
 
496
+ # Internal: Is the blob a Bazel generated bzlmod lockfile?
497
+ #
498
+ # Returns true or false
499
+ def bazel_lock?
500
+ !!name.match(/(^|\/)MODULE\.bazel\.lock$/)
501
+ end
502
+
478
503
  # Is the blob a VCR Cassette file?
479
504
  #
480
505
  # Returns true or false
@@ -825,5 +850,18 @@ module Linguist
825
850
  [key, val]
826
851
  end.select { |x| x.length == 2 }.to_h
827
852
  end
853
+
854
+ # Internal: Is this a generated SQLx query file?
855
+ #
856
+ # SQLx is a Rust SQL library which generates `**/.sqlx/query-*.json` files
857
+ # in offline mode (enabled by default).
858
+ #
859
+ # These are used to be able to compile a project without requiring
860
+ # the development database to be online.
861
+ #
862
+ # Returns true or false.
863
+ def generated_sqlx_query?
864
+ !!name.match(/(?:^|.*\/)\.sqlx\/query-.+\.json$/)
865
+ end
828
866
  end
829
867
  end
@@ -103,7 +103,7 @@ disambiguations:
103
103
  - language: BlitzBasic
104
104
  pattern: '(<^\s*; |End Function)'
105
105
  - language: BitBake
106
- pattern: '^\s*(# |include|require)\b'
106
+ pattern: '^(# |include|require|inherit)\b'
107
107
  - language: Clojure
108
108
  pattern: '\((def|defn|defmacro|let)\s'
109
109
  - extensions: ['.bf']
@@ -320,6 +320,12 @@ disambiguations:
320
320
  rules:
321
321
  - language: GSC
322
322
  named_pattern: gsc
323
+ - extensions: ['.gts']
324
+ rules:
325
+ - language: Gerber Image
326
+ pattern: '^G0.'
327
+ - language: Glimmer TS
328
+ negative_pattern: '^G0.'
323
329
  - extensions: ['.h']
324
330
  rules:
325
331
  - language: Objective-C
@@ -371,6 +377,8 @@ disambiguations:
371
377
  pattern:
372
378
  - '(?i:^\s*\{\$(?:mode|ifdef|undef|define)[ ]+[a-z0-9_]+\})'
373
379
  - '^\s*end[.;]\s*$'
380
+ - language: BitBake
381
+ pattern: '^inherit(\s+[\w.-]+)+\s*$'
374
382
  - extensions: ['.json']
375
383
  rules:
376
384
  - language: OASv2-json
@@ -461,9 +469,17 @@ disambiguations:
461
469
  rules:
462
470
  - language: XML
463
471
  pattern: '<!ENTITY '
472
+ - language: NMODL
473
+ pattern: '\b(NEURON|INITIAL|UNITS)\b'
464
474
  - language: Modula-2
465
475
  pattern: '^\s*(?i:MODULE|END) [\w\.]+;'
466
476
  - language: [Linux Kernel Module, AMPL]
477
+ - extensions: ['.mojo']
478
+ rules:
479
+ - language: Mojo
480
+ pattern: '^\s*(alias|def|from|fn|import|struct|trait)\s'
481
+ - language: XML
482
+ pattern: '^\s*<\?xml'
467
483
  - extensions: ['.ms']
468
484
  rules:
469
485
  - language: Roff
@@ -516,6 +532,13 @@ disambiguations:
516
532
  pattern: '<\?hh'
517
533
  - language: PHP
518
534
  pattern: '<\?[^h]'
535
+ - extensions: ['.pkl']
536
+ rules:
537
+ - language: Pkl
538
+ pattern:
539
+ - '^\s*(module|import|amends|extends|local|const|fixed|abstract|open|class|typealias|@\w+)\b'
540
+ - '^\s*[a-zA-Z0-9_$]+\s*(=|{|:)|^\s*`[^`]+`\s*(=|{|:)|for\s*\(|when\s*\('
541
+ - language: Pickle
519
542
  - extensions: ['.pl']
520
543
  rules:
521
544
  - language: Prolog
@@ -835,6 +858,7 @@ named_patterns:
835
858
  - '^[ \t]*catch\s*\('
836
859
  - '^[ \t]*(class|(using[ \t]+)?namespace)\s+\w+'
837
860
  - '^[ \t]*(private|public|protected):$'
861
+ - '__has_cpp_attribute|__cplusplus >'
838
862
  - 'std::\w+'
839
863
  euphoria:
840
864
  - '^\s*namespace\s'
@@ -878,7 +902,7 @@ named_patterns:
878
902
  - '^[ ]*#If Win64\b'
879
903
  - '^[ ]*(?:Dim|Const) [0-9a-zA-Z_]*[ ]*As Long(?:Ptr|Long)\b'
880
904
  # Top module declarations unique to VBA
881
- - '^[ ]*Option (?:Private Module|Compare Database)\b'
905
+ - '^[ ]*Option (?:Private Module|Compare (?:Database|Text|Binary))\b'
882
906
  # General VBA libraries and objects
883
907
  - '(?: |\()(?:Access|Excel|Outlook|PowerPoint|Visio|Word|VBIDE)\.\w'
884
908
  - '\b(?:(?:Active)?VBProjects?|VBComponents?|Application\.(?:VBE|ScreenUpdating))\b'