github-linguist 9.2.0 → 9.3.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 (96) hide show
  1. checksums.yaml +4 -4
  2. data/bin/github-linguist +23 -4
  3. data/grammars/injection.interpolated-ruby.json +1 -0
  4. data/grammars/injections.etc.json +1 -1
  5. data/grammars/inline.edgeql.json +1 -1
  6. data/grammars/markdown.move.codeblock.json +1 -1
  7. data/grammars/source.abl.json +1 -1
  8. data/grammars/source.ash.json +1 -0
  9. data/grammars/source.ats.json +1 -1
  10. data/grammars/source.bru.json +1 -0
  11. data/grammars/source.c++.json +1 -1
  12. data/grammars/source.c.json +1 -1
  13. data/grammars/source.c.linker.json +1 -1
  14. data/grammars/source.c3.json +1 -0
  15. data/grammars/source.cmake.json +1 -1
  16. data/grammars/source.cmakecache.json +1 -1
  17. data/grammars/source.cobol.json +1 -1
  18. data/grammars/source.cooklang.json +1 -0
  19. data/grammars/source.cs.json +1 -1
  20. data/grammars/source.curlrc.json +1 -1
  21. data/grammars/source.dotenv.json +1 -1
  22. data/grammars/source.edgeql.json +1 -1
  23. data/grammars/source.erlang.json +1 -1
  24. data/grammars/source.flix.json +1 -0
  25. data/grammars/source.fsharp.json +1 -1
  26. data/grammars/source.gdscript.json +1 -1
  27. data/grammars/source.gitignore.json +1 -1
  28. data/grammars/source.harbour.json +1 -1
  29. data/grammars/source.httpspec.json +1 -1
  30. data/grammars/source.hx.json +1 -1
  31. data/grammars/source.ilecobol.json +1 -1
  32. data/grammars/source.inputrc.json +1 -1
  33. data/grammars/source.jai.json +1 -1
  34. data/grammars/source.jq.json +1 -1
  35. data/grammars/source.json.comments.json +1 -1
  36. data/grammars/source.julia.json +1 -1
  37. data/grammars/source.lean4.json +1 -1
  38. data/grammars/source.luau.json +1 -1
  39. data/grammars/source.mermaid.flowchart.json +1 -1
  40. data/grammars/source.mermaid.gantt.json +1 -1
  41. data/grammars/source.mermaid.json +1 -1
  42. data/grammars/source.mermaid.pie-chart.json +1 -1
  43. data/grammars/source.mermaid.quad-chart.json +1 -0
  44. data/grammars/source.mermaid.sankey.json +1 -0
  45. data/grammars/source.mermaid.timeline.json +1 -0
  46. data/grammars/source.mermaid.user-journey.json +1 -1
  47. data/grammars/source.mermaid.zenuml.json +1 -0
  48. data/grammars/source.moonbit.json +1 -1
  49. data/grammars/source.move.json +1 -1
  50. data/grammars/source.nginx.json +1 -1
  51. data/grammars/source.nickel.json +1 -0
  52. data/grammars/source.nim.json +1 -1
  53. data/grammars/source.nr.json +1 -1
  54. data/grammars/source.nushell.json +1 -1
  55. data/grammars/source.odin-ehr.json +1 -1
  56. data/grammars/source.openqasm.json +1 -1
  57. data/grammars/source.postscript.json +1 -1
  58. data/grammars/source.psl.json +1 -0
  59. data/grammars/source.quakec.json +1 -0
  60. data/grammars/source.rascal.json +1 -1
  61. data/grammars/source.record-jar.json +1 -1
  62. data/grammars/source.rosmsg.json +1 -0
  63. data/grammars/source.sieve.json +1 -1
  64. data/grammars/source.slang.json +1 -1
  65. data/grammars/source.slint.json +1 -1
  66. data/grammars/source.stan.json +1 -1
  67. data/grammars/source.swift.json +1 -1
  68. data/grammars/source.templ.json +1 -1
  69. data/grammars/source.vba.json +1 -1
  70. data/grammars/source.vcl.json +1 -0
  71. data/grammars/source.vento.json +1 -1
  72. data/grammars/source.vhdl.json +1 -1
  73. data/grammars/source.vue.json +1 -1
  74. data/grammars/source.wdl.json +1 -1
  75. data/grammars/source.wesl.json +1 -0
  76. data/grammars/source.wgsl.json +1 -1
  77. data/grammars/source.wit.json +1 -1
  78. data/grammars/text.codeowners.json +1 -1
  79. data/grammars/text.html.jte.json +1 -1
  80. data/grammars/text.jira.json +1 -0
  81. data/grammars/text.marko.json +1 -1
  82. data/grammars/text.slim.json +1 -1
  83. data/grammars/text.srt.json +1 -1
  84. data/grammars/text.xml.svg.json +1 -1
  85. data/grammars/version +1 -1
  86. data/lib/linguist/VERSION +1 -1
  87. data/lib/linguist/generated.rb +5 -5
  88. data/lib/linguist/generic.yml +2 -0
  89. data/lib/linguist/heuristics.yml +39 -8
  90. data/lib/linguist/instrumenter.rb +19 -0
  91. data/lib/linguist/languages.json +1 -1
  92. data/lib/linguist/languages.yml +184 -92
  93. data/lib/linguist/samples.json +1 -1
  94. data/lib/linguist.rb +1 -0
  95. metadata +20 -3
  96. data/grammars/source.varnish.vcl.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"}}}]},"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"}}}}}
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"},{"include":"#unknownTag"}]},"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":"(?x)\n(?:^|\\G)\n(-[ \\t]*)?\n(\n\t(?: [^-\u003c\u003e\\s:] [^\u003c\u003e:]* (?=:[ \\t]*\\S)\n\t| [^-\u003c\u003e\\s:a-z] [^\u003c\u003e:a-z]*\n\t| \u003c(?!/(?i:[bisu]|font)\u003e\\s*:)\n\t)++\n\t(?:\n\t\t(?=(?:\\s*\u003c/(?i:[bisu]|font)\u003e)++\\s*:)\n\t\t|\n\t\t(:)\n\t)\n)(?=$|\\s|\u003c/)","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"}}},"unknownTag":{"name":"meta.tag.override.unsupported.srt","match":"({)(?:.:[^}]*|\\\\[^}]*)(})","captures":{"0":{"name":"invalid.unimplemented.syntax.tag.srt"},"1":{"name":"punctuation.definition.tag.begin.srt"},"2":{"name":"punctuation.definition.tag.end.srt"}}}}}
@@ -1 +1 @@
1
- {"name":"SVG","scopeName":"text.xml.svg","patterns":[{"include":"#main"}],"repository":{"attr":{"name":"meta.attribute.${0:/downcase}.xml.svg","begin":"[A-Za-z_:][-\\w.:]*","end":"(?=\\s*(?:/?\u003e|[^\\s=]))|(?\u003c=[\"'])","patterns":[{"include":"#attrValueCSS"},{"include":"#attrValuePlain"}],"beginCaptures":{"0":{"patterns":[{"include":"#attrName"}]}}},"attrName":{"patterns":[{"match":"(?:^|\\G)([-\\w.]+)(:)(?=[-\\w.:])","captures":{"1":{"name":"entity.other.attribute-name.namespace.xml.svg"},"2":{"name":"punctuation.separator.namespace.xml.svg"}}},{"name":"entity.other.attribute-name.localname.xml.svg","match":"[A-Za-z_:][-\\w.:]*"}]},"attrValueCSS":{"begin":"(?i)(?\u003c=style)\\G\\s*(=)","end":"(?=\\s*(?:[%?/]?\u003e))|(?\u003c=[\"'])([^\\s\u003e]*)|(?:\\G|^)\\s*([^\\s\"'\u003e]+)","patterns":[{"match":"(?:\\G|^)\\s+(?!/?\u003e)"},{"name":"string.quoted.double.xml.svg","begin":"\"","end":"\"","patterns":[{"name":"source.css.style.xml.svg","match":"[^\"]+","captures":{"0":{"patterns":[{"include":"#entity"},{"include":"source.css#rule-list-innards"}]}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml.svg"}}},{"name":"string.quoted.single.xml.svg","begin":"'","end":"'","patterns":[{"name":"source.css.style.xml.svg","match":"[^']+","captures":{"0":{"patterns":[{"include":"#entity"},{"include":"source.css#rule-list-innards"}]}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml.svg"}}}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.xml.svg"}},"endCaptures":{"1":{"name":"invalid.illegal.syntax.xml.svg"},"2":{"name":"string.unquoted.xml.svg","patterns":[{"include":"source.css#rule-list-innards"}]}}},"attrValuePlain":{"begin":"\\s*(=)","end":"(?=\\s*(?:[%?/]?\u003e))|(?\u003c=[\"'])([^\\s\u003e]*)|(?:\\G|^)\\s*([^\\s\"'\u003e]+)","patterns":[{"match":"(?:\\G|^)\\s+(?!/?\u003e)"},{"name":"string.quoted.double.xml.svg","begin":"\"","end":"\"","patterns":[{"include":"#entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml.svg"}}},{"name":"string.quoted.single.xml.svg","begin":"'","end":"'","patterns":[{"include":"#entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml.svg"}}}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.xml.svg"}},"endCaptures":{"1":{"name":"invalid.illegal.syntax.xml.svg"},"2":{"name":"string.unquoted.xml.svg"}}},"cdata":{"name":"string.unquoted.cdata.xml.svg","begin":"\u003c!\\[CDATA\\[","end":"\\]\\]\u003e","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml.svg"}}},"commands":{"patterns":[{"name":"keyword.operator.drawing-command.xml.svg","match":"(?i)[MLHVCSQTAZ]"},{"name":"constant.numeric.number.xml.svg","match":"-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)"},{"name":"punctuation.separator.coordinates.comma.xml.svg","match":","}]},"comment":{"name":"comment.block.xml.svg","begin":"\u003c!--","end":"--\u003e","patterns":[{"name":"invalid.illegal.bad-comment.xml.svg","match":"--(?!\u003e)"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.xml.svg"}}},"doctype":{"name":"meta.tag.sgml.doctype.xml.svg","begin":"(\u003c!)(DOCTYPE)\\s+([:a-zA-Z_][-:\\w.]*)","end":"\\s*(\u003e)","patterns":[{"include":"text.xml#internalSubset"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.xml.svg"},"2":{"name":"keyword.other.doctype.xml.svg"},"3":{"name":"variable.language.documentroot.xml.svg"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.xml.svg"}}},"entity":{"patterns":[{"include":"text.xml#entity"},{"include":"text.xml#bare-ampersand"}]},"main":{"patterns":[{"include":"#comment"},{"include":"#cdata"},{"include":"#doctype"},{"include":"text.xml#EntityDecl"},{"include":"text.xml#parameterEntity"},{"include":"#entity"},{"include":"#preprocessor"},{"include":"#scriptTag"},{"include":"#styleTag"},{"include":"#tag"},{"include":"#unescapedBracket"},{"include":"#unmatchedTag"}]},"preprocessor":{"name":"meta.tag.preprocessor.xml.svg","begin":"(\u003c\\?)\\s*","end":"\\?\u003e","patterns":[{"begin":"\\G","end":"([-\\w]+)|(?=\\s*\\?\u003e)","endCaptures":{"1":{"name":"entity.name.tag.xml.svg"}}},{"include":"#attr"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.xml.svg"}}},"scriptTag":{"patterns":[{"include":"#scriptTagPlain"},{"include":"#scriptTagJS"}]},"scriptTagJS":{"name":"meta.tag.script.xml.svg","begin":"(?i)(\u003c)(script)(?=$|\\s|/?\u003e)","end":"(?i)(\u003c/)(script)\\s*(\u003e)|(/\u003e)","patterns":[{"include":"#tagAttr"},{"contentName":"source.js.embedded.xml.svg","begin":"(?\u003c=\u003e)","end":"(?i)(?=\\s*\u003c/script\\s*\u003e)","patterns":[{"include":"source.js"},{"include":"#entity"}]}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.opening.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]}},"endCaptures":{"1":{"name":"punctuation.definition.tag.closing.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]},"3":{"name":"punctuation.definition.tag.closing.end.xml.svg"},"4":{"name":"punctuation.definition.tag.self-closing.end.xml.svg"}}},"scriptTagPlain":{"name":"meta.tag.script.xml.svg","begin":"(?x)\n(\u003c)((?i)script)\n(\n\t\\s+[^\u003e]*?\n\t(?\u003c=\\s)(?i:type)\\s*=\\s*\n\t([\"'])?\n\t(?! module\n\t| application/(?:x-)?(?:ecma|java)script\n\t| text/\n\t\t(?: javascript(?:1.[0-5])?\n\t\t| (?:j|ecma|live)script\n\t\t| x-(?:ecma|java)script\n\t\t)\n\t)\n\t(?: (?\u003c=\")(?:[^\"\u003e]+)\"\n\t| (?\u003c=')(?:[^'\u003e]+)'\n\t| [^\\s\"'\u003e]+\n\t)\n\t(?=\\s|/?\u003e)\n)","end":"(?i)(\u003c/)(script)\\s*(\u003e)|(/\u003e)","patterns":[{"include":"#tagAttr"},{"include":"#main"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.opening.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]},"3":{"patterns":[{"include":"#attr"}]}},"endCaptures":{"1":{"name":"punctuation.definition.tag.closing.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]},"3":{"name":"punctuation.definition.tag.closing.end.xml.svg"},"4":{"name":"punctuation.definition.tag.self-closing.end.xml.svg"}}},"styleTag":{"name":"meta.tag.style.xml.svg","begin":"(?i)(\u003c)(style)(?=$|\\s|/?\u003e)","end":"(?i)(\u003c/)(style)\\s*(\u003e)|(/\u003e)","patterns":[{"include":"#tagAttr"},{"contentName":"source.css.embedded.xml.svg","begin":"(?\u003c=\u003e)","end":"(?i)(?=\\s*\u003c/style\\s*\u003e)","patterns":[{"include":"source.css"},{"include":"#entity"}]}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.opening.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]}},"endCaptures":{"1":{"name":"punctuation.definition.tag.closing.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]},"3":{"name":"punctuation.definition.tag.closing.end.xml.svg"},"4":{"name":"punctuation.definition.tag.self-closing.end.xml.svg"}}},"tag":{"name":"meta.tag.${2:/downcase}.xml.svg","begin":"(?i)(\u003c)([A-Za-z_:][-\\w.:]*)(?=$|\\s|/?\u003e)","end":"(?i)(\u003c/)(\\2)(?:\\s*(\u003e)|(?=\\s*$))|(/\u003e)","patterns":[{"include":"#tagAttr"},{"include":"#main"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.opening.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]}},"endCaptures":{"1":{"name":"punctuation.definition.tag.closing.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]},"3":{"name":"punctuation.definition.tag.closing.end.xml.svg"},"4":{"name":"punctuation.definition.tag.self-closing.end.xml.svg"}}},"tagAttr":{"begin":"\\G(?!\\s*/\u003e)","end":"\u003e|(?=\\s*/\u003e)","patterns":[{"include":"#attr"}],"endCaptures":{"0":{"name":"punctuation.definition.tag.opening.end.xml.svg"}}},"tagName":{"patterns":[{"match":"(?:^|\\G)([A-Za-z_][-\\w.]*)(:)(?=[-\\w.:])","captures":{"1":{"name":"entity.name.tag.namespace.xml.svg"},"2":{"name":"punctuation.separator.namespace.xml.svg"}}},{"name":"entity.name.tag.localname.xml.svg","match":"[A-Za-z_:][-\\w.:]*"}]},"unescapedBracket":{"name":"punctuation.definition.tag.closing.end.xml.svg","match":"^\\s*(\u003e)"},"unmatchedTag":{"name":"invalid.illegal.unmatched-tag.xml.svg","match":"(\u003c/)([A-Za-z_:][-\\w.:]*)\\s*(\u003e)"}},"injections":{"R:meta.attribute.d.xml.svg string":{"patterns":[{"include":"#commands"}]}}}
1
+ {"name":"SVG","scopeName":"text.xml.svg","patterns":[{"include":"#main"}],"repository":{"attr":{"name":"meta.attribute.${0:/downcase}.xml.svg","begin":"[A-Za-z_:][-\\w.:]*","end":"(?=\\s*(?:/?\u003e|[^\\s=]))|(?\u003c=[\"'])","patterns":[{"include":"#attrValueCSS"},{"include":"#attrValuePlain"}],"beginCaptures":{"0":{"patterns":[{"include":"#attrName"}]}}},"attrName":{"patterns":[{"match":"(?:^|\\G)([-\\w.]+)(:)(?=[-\\w.:])","captures":{"1":{"name":"entity.other.attribute-name.namespace.xml.svg"},"2":{"name":"punctuation.separator.namespace.xml.svg"}}},{"name":"entity.other.attribute-name.localname.xml.svg","match":"[A-Za-z_:][-\\w.:]*"}]},"attrValueCSS":{"begin":"(?i)(?\u003c=style)\\G\\s*(=)","end":"(?=\\s*(?:[%?/]?\u003e))|(?\u003c=[\"'])([^\\s\u003e]*)|(?:\\G|^)\\s*([^\\s\"'\u003e]+)","patterns":[{"match":"(?:\\G|^)\\s+(?!/?\u003e)"},{"name":"string.quoted.double.xml.svg","begin":"\"","end":"\"","patterns":[{"name":"source.css.style.xml.svg","match":"[^\"]+","captures":{"0":{"patterns":[{"include":"#entity"},{"include":"source.css#rule-list-innards"}]}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml.svg"}}},{"name":"string.quoted.single.xml.svg","begin":"'","end":"'","patterns":[{"name":"source.css.style.xml.svg","match":"[^']+","captures":{"0":{"patterns":[{"include":"#entity"},{"include":"source.css#rule-list-innards"}]}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml.svg"}}}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.xml.svg"}},"endCaptures":{"1":{"name":"invalid.illegal.syntax.xml.svg"},"2":{"name":"string.unquoted.xml.svg","patterns":[{"include":"source.css#rule-list-innards"}]}}},"attrValuePlain":{"begin":"\\s*(=)","end":"(?=\\s*(?:[%?/]?\u003e))|(?\u003c=[\"'])([^\\s\u003e]*)|(?:\\G|^)\\s*([^\\s\"'\u003e]+)","patterns":[{"match":"(?:\\G|^)\\s+(?!/?\u003e)"},{"name":"string.quoted.double.xml.svg","begin":"\"","end":"\"","patterns":[{"include":"#entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml.svg"}}},{"name":"string.quoted.single.xml.svg","begin":"'","end":"'","patterns":[{"include":"#entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml.svg"}}}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.xml.svg"}},"endCaptures":{"1":{"name":"invalid.illegal.syntax.xml.svg"},"2":{"name":"string.unquoted.xml.svg"}}},"cdata":{"name":"string.unquoted.cdata.xml.svg","begin":"\u003c!\\[CDATA\\[","end":"\\]\\]\u003e","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml.svg"}}},"commands":{"patterns":[{"name":"keyword.operator.drawing-command.xml.svg","match":"(?i)[MLHVCSQTAZ]"},{"name":"constant.numeric.number.xml.svg","match":"-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][-+]?\\d+)?"},{"name":"punctuation.separator.coordinates.comma.xml.svg","match":","}]},"comment":{"name":"comment.block.xml.svg","begin":"\u003c!--","end":"--\u003e","patterns":[{"name":"invalid.illegal.bad-comment.xml.svg","match":"--(?!\u003e)"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.xml.svg"}}},"doctype":{"name":"meta.tag.sgml.doctype.xml.svg","begin":"(\u003c!)(DOCTYPE)\\s+([:a-zA-Z_][-:\\w.]*)","end":"\\s*(\u003e)","patterns":[{"include":"text.xml#internalSubset"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.xml.svg"},"2":{"name":"keyword.other.doctype.xml.svg"},"3":{"name":"variable.language.documentroot.xml.svg"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.xml.svg"}}},"entity":{"patterns":[{"include":"text.xml#entity"},{"include":"text.xml#bare-ampersand"}]},"main":{"patterns":[{"include":"#comment"},{"include":"#cdata"},{"include":"#doctype"},{"include":"text.xml#EntityDecl"},{"include":"text.xml#parameterEntity"},{"include":"#entity"},{"include":"#preprocessor"},{"include":"#scriptTag"},{"include":"#styleTag"},{"include":"#tag"},{"include":"#unescapedBracket"},{"include":"#unmatchedTag"}]},"preprocessor":{"name":"meta.tag.preprocessor.xml.svg","begin":"(\u003c\\?)\\s*","end":"\\?\u003e","patterns":[{"begin":"\\G","end":"([-\\w]+)|(?=\\s*\\?\u003e)","endCaptures":{"1":{"name":"entity.name.tag.xml.svg"}}},{"include":"#attr"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.xml.svg"}}},"scriptTag":{"patterns":[{"include":"#scriptTagPlain"},{"include":"#scriptTagJS"}]},"scriptTagJS":{"name":"meta.tag.script.xml.svg","begin":"(?i)(\u003c)(script)(?=$|\\s|/?\u003e)","end":"(?i)(\u003c/)(script)\\s*(\u003e)|(/\u003e)","patterns":[{"include":"#tagAttr"},{"contentName":"source.js.embedded.xml.svg","begin":"(?\u003c=\u003e)","end":"(?i)(?=\\s*\u003c/script\\s*\u003e)","patterns":[{"include":"source.js"},{"include":"#entity"}]}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.opening.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]}},"endCaptures":{"1":{"name":"punctuation.definition.tag.closing.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]},"3":{"name":"punctuation.definition.tag.closing.end.xml.svg"},"4":{"name":"punctuation.definition.tag.self-closing.end.xml.svg"}}},"scriptTagPlain":{"name":"meta.tag.script.xml.svg","begin":"(?x)\n(\u003c)((?i)script)\n(\n\t\\s+[^\u003e]*?\n\t(?\u003c=\\s)(?i:type)\\s*=\\s*\n\t([\"'])?\n\t(?! module\n\t| application/(?:x-)?(?:ecma|java)script\n\t| text/\n\t\t(?: javascript(?:1.[0-5])?\n\t\t| (?:j|ecma|live)script\n\t\t| x-(?:ecma|java)script\n\t\t)\n\t)\n\t(?: (?\u003c=\")(?:[^\"\u003e]+)\"\n\t| (?\u003c=')(?:[^'\u003e]+)'\n\t| [^\\s\"'\u003e]+\n\t)\n\t(?=\\s|/?\u003e)\n)","end":"(?i)(\u003c/)(script)\\s*(\u003e)|(/\u003e)","patterns":[{"include":"#tagAttr"},{"include":"#main"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.opening.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]},"3":{"patterns":[{"include":"#attr"}]}},"endCaptures":{"1":{"name":"punctuation.definition.tag.closing.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]},"3":{"name":"punctuation.definition.tag.closing.end.xml.svg"},"4":{"name":"punctuation.definition.tag.self-closing.end.xml.svg"}}},"styleTag":{"name":"meta.tag.style.xml.svg","begin":"(?i)(\u003c)(style)(?=$|\\s|/?\u003e)","end":"(?i)(\u003c/)(style)\\s*(\u003e)|(/\u003e)","patterns":[{"include":"#tagAttr"},{"contentName":"source.css.embedded.xml.svg","begin":"(?\u003c=\u003e)","end":"(?i)(?=\\s*\u003c/style\\s*\u003e)","patterns":[{"include":"source.css"},{"include":"#entity"}]}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.opening.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]}},"endCaptures":{"1":{"name":"punctuation.definition.tag.closing.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]},"3":{"name":"punctuation.definition.tag.closing.end.xml.svg"},"4":{"name":"punctuation.definition.tag.self-closing.end.xml.svg"}}},"tag":{"name":"meta.tag.${2:/downcase}.xml.svg","begin":"(?i)(\u003c)([A-Za-z_:][-\\w.:]*)(?=$|\\s|/?\u003e)","end":"(?i)(\u003c/)(\\2)(?:\\s*(\u003e)|(?=\\s*$))|(/\u003e)","patterns":[{"include":"#tagAttr"},{"include":"#main"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.opening.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]}},"endCaptures":{"1":{"name":"punctuation.definition.tag.closing.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]},"3":{"name":"punctuation.definition.tag.closing.end.xml.svg"},"4":{"name":"punctuation.definition.tag.self-closing.end.xml.svg"}}},"tagAttr":{"begin":"\\G(?!\\s*/\u003e)","end":"\u003e|(?=\\s*/\u003e)","patterns":[{"include":"#attr"}],"endCaptures":{"0":{"name":"punctuation.definition.tag.opening.end.xml.svg"}}},"tagName":{"patterns":[{"match":"(?:^|\\G)([A-Za-z_][-\\w.]*)(:)(?=[-\\w.:])","captures":{"1":{"name":"entity.name.tag.namespace.xml.svg"},"2":{"name":"punctuation.separator.namespace.xml.svg"}}},{"name":"entity.name.tag.localname.xml.svg","match":"[A-Za-z_:][-\\w.:]*"}]},"unescapedBracket":{"name":"punctuation.definition.tag.closing.end.xml.svg","match":"^\\s*(\u003e)"},"unmatchedTag":{"name":"invalid.illegal.unmatched-tag.xml.svg","match":"(\u003c/)([A-Za-z_:][-\\w.:]*)\\s*(\u003e)"}},"injections":{"R:meta.attribute.d.xml.svg string":{"patterns":[{"include":"#commands"}]}}}
data/grammars/version CHANGED
@@ -1 +1 @@
1
- 9.2.0
1
+ 9.3.0
data/lib/linguist/VERSION CHANGED
@@ -1 +1 @@
1
- 9.2.0
1
+ 9.3.0
@@ -722,19 +722,19 @@ module Linguist
722
722
 
723
723
  # Internal: Is this a generated Dart file?
724
724
  #
725
- # A dart-lang/appengine generated file contains:
725
+ # A google/protoc-plugin generated file contains:
726
726
  # // Generated code. Do not modify.
727
- # on the first line.
727
+ # on the second line.
728
728
  #
729
- # An owl generated file contains:
729
+ # A source_gen generated file may contain:
730
730
  # // GENERATED CODE - DO NOT MODIFY
731
- # on the first line.
731
+ # on the first, second, or third line.
732
732
  #
733
733
  # Return true or false
734
734
  def generated_dart?
735
735
  return false unless extname == '.dart'
736
736
  return false unless lines.count > 1
737
- return lines.first.downcase =~ /generated code\W{2,3}do not modify/
737
+ return lines.first(3).any? { |l| l.downcase.match(/generated code\W{2,3}do not modify/) }
738
738
  end
739
739
 
740
740
  # Internal: Is the file a generated Perl/Pollution/Portability header file?
@@ -14,11 +14,13 @@ extensions:
14
14
  - ".7"
15
15
  - ".8"
16
16
  - ".9"
17
+ - ".action"
17
18
  - ".app"
18
19
  - ".cmp"
19
20
  - ".msg"
20
21
  - ".resource"
21
22
  - ".sol"
23
+ - ".srv"
22
24
  - ".stl"
23
25
  - ".tag"
24
26
  - ".url"
@@ -53,6 +53,13 @@ disambiguations:
53
53
  - named_pattern: man-title
54
54
  - named_pattern: man-heading
55
55
  - language: Roff
56
+ - extensions: ['.action']
57
+ rules:
58
+ - language: ROS Interface
59
+ and:
60
+ - pattern: '^[a-z][a-z0-9_]*(?:\/[a-zA-Z]\w*)?(?:<=\d+)?(?:\[(?:<=\d+)?\])?\s+\w+\b'
61
+ - pattern: '^---\s*$'
62
+ - negative_pattern: '^\s*[^\s@#\w-]'
56
63
  - extensions: ['.al']
57
64
  rules:
58
65
  # AL pattern source from https://github.com/microsoft/AL/blob/master/grammar/alsyntax.tmlanguage - keyword.other.applicationobject.al
@@ -530,6 +537,10 @@ disambiguations:
530
537
  rules:
531
538
  - language: OMNeT++ MSG
532
539
  pattern: '^cplusplus\(?[\S]*\)?[\s]*\{?\{?|^namespace[\s]+([^.\s]*\.)*[^.\s]*;|^struct[\s]+[\S]+|^message[\s]+[\S]+(extends )?[\S]*[\s]*|^packet[\s]+[\S]+|^class[\s]+[\S]+(extends )?[\S]*[\s]*|^enum[\s]+[\S]+|^import ([^.\s]*\.)*[^.\s]*;'
540
+ - language: ROS Interface
541
+ and:
542
+ - pattern: '^[a-z][a-z0-9_]*(?:\/[a-zA-Z]\w*)?(?:<=\d+)?(?:\[(?:<=\d+)?\])?\s+\w+\b'
543
+ - negative_pattern: '^\s*[^\s@#\w-]'
533
544
  - extensions: ['.n']
534
545
  rules:
535
546
  - language: Roff
@@ -542,8 +553,19 @@ disambiguations:
542
553
  pattern: '^\s*<\?xml\s+version'
543
554
  - language: Gerber Image
544
555
  pattern: '^[DGMT][0-9]{2}\*(?:\r?\n|\r)'
556
+ - language: Nickel
557
+ pattern:
558
+ - '^let(?:\srec)?(?:\s[a-zA-Z_][a-zA-Z0-9_]*)?'
559
+ - '^import\s"[^"]+"\s+as\s'
560
+ - 'std\.[a-zA-Z_][a-zA-Z0-9_]*\.'
545
561
  - language: Text
546
562
  pattern: 'THE_TITLE'
563
+ - language: NCL
564
+ pattern:
565
+ - '^load "'
566
+ - '^begin$'
567
+ - '[0-9]\.$'
568
+ - '^;'
547
569
  - extensions: ['.nl']
548
570
  rules:
549
571
  - language: NL
@@ -737,21 +759,23 @@ disambiguations:
737
759
  pattern: '^#+\s+(NAME|SYNOPSIS|DESCRIPTION)'
738
760
  - extensions: ['.scm']
739
761
  rules:
740
- - language: Scheme
741
- pattern:
742
- - '(?:''[\(\*#]|\w->\w|\.\.\.[\s\)]|\([+\-:<>\/=~\)]|~>|[#`]\(|#:\w)'
743
- - '^\s*\((?:define\*?|import|library|lambda)'
744
- negative_pattern:
745
- - '\(#[\w-]+[!\?]'
746
- - '[\)\]"_]\s*(?:[\*\+\?]|@\w)'
747
762
  - language: Tree-sitter Query
748
763
  pattern:
749
764
  - '\(#[\w-]+[!\?]'
750
- - '[\)\]"_]\s*(?:[\*\+\?]|@\w)'
765
+ - '(?:[\)\]]\s*[\*\+\?](?:\s|$))'
751
766
  - '(?:^\s*\w+:\s*[\(\[\"])'
752
767
  - '\(#(?:set!|(?:not-)?(?:any-of|match)\?)'
768
+ - '@[\w.-]+(?:\)\s|$)'
753
769
  negative_pattern:
754
770
  - '\([+\-:<>\/=~\)]'
771
+ - language: Scheme
772
+ pattern:
773
+ - '(?:''[\(\*#]|\w->\w|\.\.\.[\s\)]|\([+\-:<>\/=~\)]|~>|[#`]\(|#:\w)'
774
+ - '^\s*\((?:define\*?|import|library|lambda)'
775
+ negative_pattern:
776
+ - '\(#[\w-]+[!\?]'
777
+ - '(?:[\)\]]\s*[\*\+\?](?:\s|$))'
778
+ - '@[\w.-]+(?:\)\s|$)'
755
779
  - extensions: ['.sol']
756
780
  rules:
757
781
  - language: Solidity
@@ -777,6 +801,13 @@ disambiguations:
777
801
  rules:
778
802
  - language: SubRip Text
779
803
  pattern: '^(\d{2}:\d{2}:\d{2},\d{3})\s*(-->)\s*(\d{2}:\d{2}:\d{2},\d{3})$'
804
+ - extensions: ['.srv']
805
+ rules:
806
+ - language: ROS Interface
807
+ and:
808
+ - pattern: '^[a-z][a-z0-9_]*(?:\/[a-zA-Z]\w*)?(?:<=\d+)?(?:\[(?:<=\d+)?\])?\s+\w+\b'
809
+ - pattern: '^---\s*$'
810
+ - negative_pattern: '^\s*[^\s@#\w-]'
780
811
  - extensions: ['.st']
781
812
  rules:
782
813
  - language: StringTemplate
@@ -0,0 +1,19 @@
1
+ module Linguist
2
+ class BasicInstrumenter
3
+ attr_reader :detected_info
4
+
5
+ def initialize
6
+ @detected_info = {}
7
+ end
8
+
9
+ def instrument(name, payload = {})
10
+ if name == "linguist.detected" && payload[:blob]
11
+ @detected_info[payload[:blob].name] = {
12
+ strategy: payload[:strategy].name.split("::").last,
13
+ language: payload[:language]&.name
14
+ }
15
+ end
16
+ yield if block_given?
17
+ end
18
+ end
19
+ end