github-linguist 7.19.0 → 7.22.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (125) hide show
  1. checksums.yaml +4 -4
  2. data/ext/linguist/lex.linguist_yy.c +584 -498
  3. data/ext/linguist/lex.linguist_yy.h +2 -3
  4. data/ext/linguist/tokenizer.l +52 -15
  5. data/grammars/liquid.injection.json +1 -1
  6. data/grammars/markdown.cadence.codeblock.json +1 -0
  7. data/grammars/markdown.prisma.codeblock.json +1 -0
  8. data/grammars/source.abap.json +1 -1
  9. data/grammars/source.abl.json +1 -1
  10. data/grammars/source.acucobol.json +1 -1
  11. data/grammars/source.alloy.json +1 -1
  12. data/grammars/source.astro.json +1 -0
  13. data/grammars/source.ats.json +1 -1
  14. data/grammars/source.ballerina.json +1 -1
  15. data/grammars/source.berry.bytecode.json +1 -0
  16. data/grammars/source.berry.json +1 -0
  17. data/grammars/source.bms.json +1 -0
  18. data/grammars/source.bmsmap.json +1 -0
  19. data/grammars/source.brs.json +1 -0
  20. data/grammars/source.cadence.json +1 -0
  21. data/grammars/source.cairo.json +1 -0
  22. data/grammars/source.cds.json +1 -0
  23. data/grammars/source.cl.json +1 -1
  24. data/grammars/source.clarion.json +1 -1
  25. data/grammars/source.cobol.json +1 -1
  26. data/grammars/source.cobol_acu_listfile.json +1 -0
  27. data/grammars/source.cobol_mf_listfile.json +1 -0
  28. data/grammars/source.cobol_mfprep.json +1 -0
  29. data/grammars/source.cobol_pcob_listfile.json +1 -0
  30. data/grammars/source.cobolit.json +1 -0
  31. data/grammars/source.cobsql_dir.json +1 -0
  32. data/grammars/source.css.json +1 -1
  33. data/grammars/source.csswg.json +1 -0
  34. data/grammars/source.curlrc.json +1 -1
  35. data/grammars/source.curry.json +1 -1
  36. data/grammars/source.dart.json +1 -1
  37. data/grammars/source.denizenscript.json +1 -1
  38. data/grammars/source.dir.json +1 -0
  39. data/grammars/source.ditroff.json +1 -1
  40. data/grammars/source.fsharp.json +1 -1
  41. data/grammars/source.gcode.json +1 -1
  42. data/grammars/source.gdresource.json +1 -0
  43. data/grammars/source.gdscript.json +1 -1
  44. data/grammars/source.gdshader.json +1 -0
  45. data/grammars/source.genero-forms.json +1 -0
  46. data/grammars/source.genero.json +1 -0
  47. data/grammars/source.git-revlist.json +1 -0
  48. data/grammars/source.hack.json +1 -1
  49. data/grammars/source.hlasm.json +1 -0
  50. data/grammars/source.hx.json +1 -1
  51. data/grammars/source.icurry.json +1 -1
  52. data/grammars/source.jcl.json +1 -1
  53. data/grammars/source.jsligo.json +1 -0
  54. data/grammars/source.json.json +1 -1
  55. data/grammars/source.julia.json +1 -1
  56. data/grammars/source.kotlin.json +1 -1
  57. data/grammars/source.ligo.json +1 -0
  58. data/grammars/source.livescript.json +1 -1
  59. data/grammars/source.mc.json +1 -0
  60. data/grammars/source.mfu.json +1 -0
  61. data/grammars/source.mfupp_dir.json +1 -0
  62. data/grammars/source.miniyaml.json +1 -1
  63. data/grammars/source.mligo.json +1 -0
  64. data/grammars/source.mlir.json +1 -1
  65. data/grammars/source.mo.json +1 -1
  66. data/grammars/source.move.json +1 -0
  67. data/grammars/source.nix.json +1 -1
  68. data/grammars/source.pli.json +1 -0
  69. data/grammars/source.pony.json +1 -1
  70. data/grammars/source.portugol.json +1 -0
  71. data/grammars/source.q.json +1 -1
  72. data/grammars/source.rascal.json +1 -1
  73. data/grammars/source.rego.json +1 -1
  74. data/grammars/source.religo.json +1 -0
  75. data/grammars/source.renpy.json +1 -1
  76. data/grammars/source.rescript.json +1 -1
  77. data/grammars/source.rpgle.json +1 -1
  78. data/grammars/source.rsc.json +1 -0
  79. data/grammars/source.scala.json +1 -1
  80. data/grammars/source.shell.json +1 -1
  81. data/grammars/source.solidity.json +1 -1
  82. data/grammars/source.sqf.json +1 -1
  83. data/grammars/source.stan.json +1 -1
  84. data/grammars/source.star.json +1 -0
  85. data/grammars/source.stl.json +1 -0
  86. data/grammars/source.svelte.json +1 -1
  87. data/grammars/source.swift.json +1 -1
  88. data/grammars/source.talon.json +1 -0
  89. data/grammars/source.ts.json +1 -1
  90. data/grammars/source.tsx.json +1 -1
  91. data/grammars/source.utreport.json +1 -0
  92. data/grammars/source.v.json +1 -1
  93. data/grammars/source.velocity.html.json +1 -0
  94. data/grammars/source.velocity.json +1 -0
  95. data/grammars/source.vyper.json +1 -1
  96. data/grammars/source.whiley.json +1 -0
  97. data/grammars/source.win32-messages.json +1 -0
  98. data/grammars/source.wren.json +1 -0
  99. data/grammars/source.wsd.json +1 -1
  100. data/grammars/source.yara.json +1 -1
  101. data/grammars/source.yul.json +1 -0
  102. data/grammars/text.hash-commented.json +1 -0
  103. data/grammars/text.html.liquid.json +1 -1
  104. data/grammars/text.html.markdown.astro.json +1 -1
  105. data/grammars/text.html.statamic.json +1 -0
  106. data/grammars/text.savane.json +1 -0
  107. data/grammars/text.srt.json +1 -1
  108. data/grammars/text.vtt.json +1 -0
  109. data/grammars/version +1 -1
  110. data/lib/linguist/VERSION +1 -1
  111. data/lib/linguist/blob_helper.rb +2 -2
  112. data/lib/linguist/generic.yml +2 -0
  113. data/lib/linguist/heuristics.yml +34 -1
  114. data/lib/linguist/language.rb +2 -2
  115. data/lib/linguist/languages.json +1 -1
  116. data/lib/linguist/languages.yml +327 -6
  117. data/lib/linguist/samples.json +1 -1
  118. data/lib/linguist/vendor.yml +4 -1
  119. metadata +60 -16
  120. data/grammars/source.brightauthorproject.json +0 -1
  121. data/grammars/source.brightscript.json +0 -1
  122. data/grammars/source.opencobol.json +0 -1
  123. data/grammars/source.vtt.json +0 -1
  124. data/grammars/text.html.astro.json +0 -1
  125. data/lib/linguist/linguist.so +0 -0
@@ -0,0 +1 @@
1
+ {"name":"Antlers (Statamic Syntax)","scopeName":"text.html.statamic","patterns":[{"include":"#php-tag"},{"include":"#statamic-comments"},{"include":"#frontMatter"},{"include":"#antlers-tags"}],"repository":{"antlers-conditionals":{"name":"keyword.control.statamic","match":"(?\u003c!:)(/?else|/?elseif|/?if|/?unless|endif|endunless|unlesselse|stop)"},"antlers-constants":{"match":"(\\G|\\s|\\b)(true|TRUE|false|FALSE|yes|YES|no|NO|null|as)\\s","captures":{"2":{"name":"constant.language.statamic"}}},"antlers-expression":{"patterns":[{"name":"punctuation.terminator.expression.statamic","match":";"},{"include":"#antlers-strings"},{"include":"#antlers-numbers"},{"name":"keyword.operator.key.statamic","match":"=\u003e"},{"name":"keyword.operator.class.statamic","match":"-\u003e"},{"include":"#statamic-explicit-tags"},{"include":"#statamic-core-tags"},{"name":"keyword.operator.comparison.statamic","match":"===|==|!==|!=|\u003c\u003e"},{"name":"keyword.operator.string.statamic","match":"\\\u0026=?"},{"name":"keyword.operator.assignment.statamic","match":"=|\\+=|\\-=|\\*\\*?=|/=|%=|\\|=|\\^=|\u003c\u003c=|\u003e\u003e="},{"name":"keyword.operator.logical.statamic","match":"(?i)(!|\\?\\?|\\?=|\\?|\u0026\u0026|\u0026|\\|\\|)|\\b(and|or|xor)\\b"},{"name":"keyword.operator.bitwise.statamic","match":"(?i)\\b(bwa|bwo|bxor|bnot|bsl|bsr)\\b"},{"name":"keyword.operator.comparison.statamic","match":"\u003c=\u003e|\u003c=|\u003e=|\u003c|\u003e"},{"name":"keyword.operator.arithmetic.statamic","match":"\\-|\\+|\\*\\*?|/|%"},{"name":"meta.array.statamic","begin":"(arr|list|switch)\\s*(\\()","end":"\\)|(?=\\?\u003e)","patterns":[{"include":"#antlers-expression"}],"beginCaptures":{"1":{"name":"support.function.construct.statamic"},"2":{"name":"punctuation.definition.array.begin.bracket.round.statamic"}},"endCaptures":{"0":{"name":"punctuation.definition.array.end.bracket.round.statamic"}}},{"begin":"(?\u003c!@){(\\s?)","end":"(\\s?)}","patterns":[{"include":"#antlers-expression"}]},{"include":"#antlers-tag-parameter-variable"},{"include":"#antlers-language-operators"},{"include":"#antlers-variable"},{"include":"#antlers-modifier-pipe"},{"include":"#antlers-variable-modifier-name"},{"include":"#antlers-variable-modifiers"},{"include":"#antlers-constants"}]},"antlers-language-operators":{"match":"(\\w+)[\\s]","captures":{"1":{"name":"variable.statamic","patterns":[{"include":"#antlers-numbers"},{"include":"#language-operators"}]}}},"antlers-modifier-pipe":{"name":"keyword.operator.other.statamic","match":"(\\|)"},"antlers-numbers":{"name":"constant.numeric.statamic","match":"0|[1-9](?:_?[0-9]+)*"},"antlers-strings":{"patterns":[{"include":"#string-double-quoted"},{"include":"#string-single-quoted"}]},"antlers-tag-parameter-variable":{"match":"(:?([\\S:]+?)(=)('|\")([^\\4]*?)(\\4))","captures":{"1":{"patterns":[{"match":":([\\S:]+?)(=)('|\")(.*?)(\\3)","captures":{"1":{"name":"entity.other.attribute-name"},"2":{"name":"keyword.operator.assignment.statamic"},"3":{"name":"punctuation.definition.string.begin.statamic"},"4":{"patterns":[{"include":"#antlers-expression"}]},"5":{"name":"punctuation.definition.string.end.statamic"}}},{"match":"([\\S]+?)(=)(('|\")(.*?)(\\4))","captures":{"1":{"name":"entity.other.attribute-name"},"2":{"name":"keyword.operator.assignment.statamic"},"3":{"patterns":[{"include":"#string-single-quoted"},{"include":"#string-double-quoted"}]}}}]}}},"antlers-tags":{"name":"meta.embedded.block.statamic","begin":"(?\u003c!@){{(?!\\$)(\\s?)","end":"(\\s?)}}","patterns":[{"include":"#statamic-comments"},{"include":"#php-tag"},{"include":"#antlers-conditionals"},{"include":"#antlers-expression"}]},"antlers-variable":{"match":"(/?\\w+)(:)?(\\w+)?","captures":{"1":{"name":"variable.statamic"},"2":{"name":"keyword.operator.statamic"},"3":{"name":"variable.statamic","patterns":[{"include":"$self"}]}}},"antlers-variable-modifier-name":{"match":"(\\s)?(\\|)(\\s)?(\\w+((^:([a-zA-Z0-9-_/-@]+)){1,2})?|((-|\\+|\\*|/|\\^|\\%):(\\d*)?\\.?(\\d+)))+","captures":{"2":{"name":"keyword.operator.statamic"},"4":{"name":"support.function.statamic"}}},"antlers-variable-modifiers":{"match":"(\\s)?(\\|)(\\s)?(\\w+((:([a-zA-Z0-9-_/-@]+)){1,2})?|((-|\\+|\\*|/|\\^|\\%):(\\d*)?\\.?(\\d+)))+","captures":{"2":{"name":"keyword.operator.statamic"},"4":{"name":"support.function.statamic","patterns":[{"include":"#antlers-expression"}]}}},"core-tag-names":{"patterns":[{"name":"entity.name.tag.statamic","match":"(?i)\\b(taxonomy|collection|asset|vite|mount_url|form|assets|cache|can|dd|ddd|dump|get_content|get_error|get_errors|get_files|glide|in|increment|installed|is|iterate|foreach|link|locales|markdown|member|mix|nav|not_found|404|obfuscate|parent|partial|path|query|range|loop|redirect|relate|rotate|route|scope|section|session|set|structure|svg|theme|trans|trans_choice|user|users|widont|yields|yield|slot|once|noparse|view|stack|push)\\b"}]},"frontMatter":{"contentName":"meta.embedded.block.frontmatter","begin":"\\A-{3}\\s*$","end":"(^|\\G)-{3}|\\.{3}\\s*$","patterns":[{"include":"source.yaml"}]},"language-operators":{"patterns":[{"name":"support.function.array.statamic","match":"(?i)\\b(pluck|take|skip|arr|orderby|groupby|merge|where|switch|bwa|bwo|bxor|bnot|bsl|bsr|if|elseif|else|void)(\\b)"}]},"php-tag":{"patterns":[{"name":"meta.embedded.block.statamic","contentName":"source.php","begin":"\u003c\\?(?i:php|=)?(?![^?]*\\?\u003e)","end":"(\\?)\u003e","patterns":[{"include":"text.html.php"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.statamic"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.statamic"},"1":{"name":"source.php"}}},{"name":"meta.embedded.line.statamic","contentName":"source.php","begin":"(?\u003c!@){{([\\$\\?]\\s?)","end":"(\\s?)[\\$\\?]}}","patterns":[{"include":"text.html.php"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.statamic"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.statamic"},"1":{"name":"source.php"}}},{"name":"meta.embedded.line.statamic","contentName":"source.php","begin":"\u003c\\?(?i:php|=)?","end":"(\\?)\u003e","patterns":[{"include":"text.html.php"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.statamic"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.statamic"},"1":{"name":"source.php"}}}]},"statamic-comments":{"name":"comment.block.statamic","begin":"{{#","end":"#}}"},"statamic-core-closing-tags":{"match":"\\/(\\w+)+","captures":{"1":{"name":"variable.statamic","patterns":[{"include":"#core-tag-names"}]}}},"statamic-core-tags":{"match":"\\G(/?\\w+)+","captures":{"1":{"name":"variable.statamic","patterns":[{"include":"#core-tag-names"}]}}},"statamic-explicit-tags":{"match":"\\G(/?%\\w+)+","captures":{"1":{"name":"entity.name.tag.statamic"}}},"string-double-quoted":{"name":"string.quoted.double.statamic","begin":"\"","end":"\"","patterns":[{"begin":"(?\u003c!@){(\\s?)","end":"(\\s?)}","patterns":[{"include":"#antlers-expression"}]}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.statamic"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.statamic"}}},"string-single-quoted":{"name":"string.quoted.single.statamic","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.statamic","match":"\\\\[\\\\']"},{"begin":"(?\u003c!@){(\\s?)","end":"(\\s?)}","patterns":[{"include":"#antlers-expression"}]}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.statamic"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.statamic"}}}},"injections":{"text.html.statamic":{"patterns":[{"include":"#statamic-comments"},{"include":"#antlers-tags"}]},"text.html.statamic - (meta.embedded | meta.tag | comment.block.statamic), L:(text.html.statamic meta.tag - (comment.block.statamic | meta.embedded.statamic))":{"patterns":[{"include":"text.html.basic"}]},"text.html.statamic - (meta.embedded | meta.tag), L:((text.html.statamic meta.tag) - (meta.embedded.block.php | meta.embedded.line.php)), L:(source.js - (meta.embedded.block.php | meta.embedded.line.php)), L:(source.css - (meta.embedded.block.php | meta.embedded.line.php))":{"patterns":[{"include":"#php-tag"}]}}}
@@ -0,0 +1 @@
1
+ {"name":"Savane Markup","scopeName":"text.savane","patterns":[{"include":"#fullMarkup"}],"repository":{"basicMarkup":{"patterns":[{"include":"#bold"},{"include":"#italic"},{"include":"#links"},{"include":"#nomarkup"}]},"bold":{"name":"markup.bold.emphasis.strong.savane","match":"(?:^|(?\u003c=\\s))(\\*)([^* ][^*]*?)(\\*)","captures":{"1":{"name":"punctuation.definition.markup.bold.begin.savane"},"2":{"name":"punctuation.definition.markup.bold.end.savane"}}},"fullMarkup":{"patterns":[{"include":"#richMarkup"},{"include":"#headings"}]},"headingText":{"name":"entity.name.section.savane","begin":"(?:\\G|^)","end":"$","patterns":[{"include":"#basicMarkup"}]},"headings":{"patterns":[{"name":"markup.heading.1.title.savane","match":"^(=) (.+?) (=)(?=\\s*$)","captures":{"1":{"name":"punctuation.definition.header.begin.savane"},"2":{"patterns":[{"include":"#headingText"}]},"3":{"name":"punctuation.definition.header.end.savane"}}},{"name":"markup.heading.2.subtitle.savane","match":"^(==) (.+?) (==)(?=\\s*$)","captures":{"1":{"name":"punctuation.definition.header.begin.savane"},"2":{"patterns":[{"include":"#headingText"}]},"3":{"name":"punctuation.definition.header.end.savane"}}},{"name":"markup.heading.3.subsubtitle.savane","match":"^(===) (.+?) (===)(?=\\s*$)","captures":{"1":{"name":"punctuation.definition.header.begin.savane"},"2":{"patterns":[{"include":"#headingText"}]},"3":{"name":"punctuation.definition.header.end.savane"}}},{"name":"markup.heading.4.subsubsubtitle.savane","match":"^(====) (.+?) (====)(?=\\s*$)","captures":{"1":{"name":"punctuation.definition.header.begin.savane"},"2":{"patterns":[{"include":"#headingText"}]},"3":{"name":"punctuation.definition.header.end.savane"}}}]},"italic":{"name":"markup.italic.emphasis.savane","match":"(?:^|(?\u003c=[\\s\\(\u003e]))(_)(.+?)(_)(?=$|\\W)","captures":{"1":{"name":"punctuation.definition.markup.italic.begin.savane"},"2":{"name":"punctuation.definition.markup.italic.end.savane"}}},"itemID":{"name":"constant.numeric.integer.item-id.savane","match":"(?:\\G|^)(#)\\d+","captures":{"1":{"name":"punctuation.definition.item-id.savane"}}},"links":{"patterns":[{"name":"markup.link.reference.file.savane","match":"(\\(?)(files?) (#\\d+)( ([^),]*))?(?:(\\))|(,)(?=$| ))?","captures":{"1":{"patterns":[{"include":"etc#bracket"}]},"2":{"name":"storage.type.file.savane"},"3":{"patterns":[{"include":"#itemID"}]},"4":{"name":"meta.comment.savane"},"5":{"name":"string.unquoted.alt-text.savane"},"6":{"patterns":[{"include":"etc#bracket"}]},"7":{"patterns":[{"include":"etc#comma"}]}}},{"name":"markup.link.reference.$2.savane","match":"\\b((bug|comment|recipe|task|patch|rcp|sr|support)(?:(?\u003c!patch|rcp|sr|support)s)?)\\s{0,2}(#\\d+)","captures":{"1":{"name":"storage.type.$2.savane"},"3":{"patterns":[{"include":"#itemID"}]}}},{"name":"markup.link.bracketed.named.web-address.savane","match":"(\\[)((?:www\\.|//|(?:afs|file|https?|nfs|s?ftp):/{0,2})\\S+)(?:\\s+([^\\s\\]].*?))?(\\])","captures":{"1":{"patterns":[{"include":"etc#bracket"}]},"2":{"name":"constant.other.reference.link.markup.underline.savane"},"3":{"name":"entity.name.tag.link.description.savane"},"4":{"patterns":[{"include":"etc#bracket"}]}}},{"name":"markup.link.bracketed.unnamed.web-address.savane","match":"(\\[)((?:www\\.|//|(?:afs|file|https?|nfs|s?ftp):/{0,2})\\S+)(\\])","captures":{"1":{"patterns":[{"include":"etc#bracket"}]},"2":{"name":"constant.other.reference.link.markup.underline.savane"},"3":{"patterns":[{"include":"etc#bracket"}]}}},{"name":"markup.link.unbracketed.web-address.savane","match":"(?:(?:^|(?\u003c=[^;\\[/]))(?:afs|file|https?|nfs|s?ftp)://|(?:^|(?\u003c=\\s))www\\.)(?i:\u0026amp;|[^\\s\u0026]+[a-z0-9/^])++","captures":{"0":{"name":"constant.other.reference.link.markup.underline.savane"}}},{"name":"markup.link.unbracketed.mail-address.savane","match":"(?:^|(?\u003c=\\s))[-+\\w,.]+@(?:[-+\\w]+\\.)+[A-Za-z]+(?=$|\\s)","captures":{"0":{"name":"constant.other.reference.link.markup.underline.savane"}}}]},"lists":{"patterns":[{"name":"markup.list.unnumbered.savane","begin":"(?:^|\\G)(\\s?)((\\*+)) +","end":"$","patterns":[{"include":"#basicMarkup"}],"beginCaptures":{"1":{"name":"punctuation.whitespace.leading.indentation.savane"},"2":{"name":"keyword.operator.list.unnumbered.marker.savane"},"3":{"name":"punctuation.definition.list.unordered.savane"}}},{"name":"markup.list.numbered.savane","begin":"(?:^|\\G)(\\s?)(0+) +","end":"$","patterns":[{"include":"#basicMarkup"}],"beginCaptures":{"1":{"name":"punctuation.whitespace.leading.indentation.savane"},"2":{"name":"keyword.operator.list.numbered.marker.savane"},"3":{"name":"punctuation.definition.list.ordered.savane"}}}]},"nomarkup":{"name":"meta.nomarkup.block.savane","contentName":"markup.raw.literal.savane","begin":"(\\+)nomarkup(\\+)","end":"(-)nomarkup(-)","beginCaptures":{"0":{"name":"keyword.control.nomarkup.block.begin.savane"},"1":{"name":"punctuation.definition.keyword.begin.savane"},"2":{"name":"punctuation.definition.keyword.end.savane"}},"endCaptures":{"0":{"name":"keyword.control.nomarkup.block.end.savane"},"1":{"name":"punctuation.definition.keyword.begin.savane"},"2":{"name":"punctuation.definition.keyword.end.savane"}}},"quote":{"name":"markup.quote.block.savane","begin":"(?:^|\\G)\u003e","end":"$","patterns":[{"include":"#basicMarkup"}],"beginCaptures":{"0":{"name":"punctuation.section.quote.savane"}}},"richMarkup":{"patterns":[{"include":"#basicMarkup"},{"include":"#lists"},{"include":"#ruler"},{"include":"#verbatim"},{"include":"#quote"}]},"ruler":{"name":"meta.separator.horizontal-rule.ruler.savane","match":"^-{4}(?=\\s*$)","captures":{"0":{"name":"punctuation.definition.divider.savane"}}},"verbatim":{"name":"meta.verbatim-block.savane","contentName":"markup.raw.code.monospace.savane","begin":"^\\s*((\\+)verbatim(\\+))(?:\\s*(\\S.*?))?[ \\t]*$","end":"^\\s*((-)verbatim(-))(?:\\s*(\\S.*?))?[ \\t]*$","patterns":[{"include":"#verbatimInnards"}],"beginCaptures":{"1":{"name":"keyword.control.verbatim.block.begin.savane"},"2":{"name":"punctuation.definition.keyword.begin.savane"},"3":{"name":"punctuation.definition.keyword.end.savane"},"4":{"name":"invalid.illegal.unexpected-characters.savane"}},"endCaptures":{"1":{"name":"keyword.control.verbatim.block.end.savane"},"2":{"name":"punctuation.definition.keyword.begin.savane"},"3":{"name":"punctuation.definition.keyword.end.savane"},"4":{"name":"invalid.illegal.unexpected-characters.savane"}}},"verbatimInnards":{"begin":"\\+verbatim\\+","end":"\\-verbatim-","patterns":[{"include":"#verbatimInnards"}]}}}
@@ -1 +1 @@
1
- {"name":"SRT Subtitle","scopeName":"text.srt","patterns":[{"include":"#subtitle"}],"repository":{"bold":{"name":"markup.bold.srt","begin":"(?i)\u003cb\u003e","end":"(?i)\u003c/b\u003e","patterns":[{"include":"#sound"},{"include":"#person"},{"include":"#bold"},{"include":"#italic"},{"include":"#underline"},{"include":"#font"}]},"font":{"name":"markup.link.font.srt","begin":"(?i)\u003cfont\\b.*?\u003e","end":"(?i)\u003c/font\u003e","patterns":[{"include":"#sound"},{"include":"#person"},{"include":"#bold"},{"include":"#italic"},{"include":"#underline"},{"include":"#font"}]},"italic":{"name":"markup.italic.srt","begin":"(?i)\u003ci\u003e","end":"(?i)\u003c/i\u003e","patterns":[{"include":"#sound"},{"include":"#person"},{"include":"#bold"},{"include":"#italic"},{"include":"#underline"},{"include":"#font"}]},"person":{"name":"entity.name.tag.srt","match":"^\\w+:"},"sound":{"name":"string.quoted.other.sound.srt","match":"\\[.*?\\]|\\(.*?\\)"},"subtitle":{"name":"meta.subtitle.srt","begin":"\\b\\d+$","end":"^\\s*$","patterns":[{"include":"#time"},{"include":"#sound"},{"include":"#person"},{"include":"#bold"},{"include":"#italic"},{"include":"#underline"},{"include":"#font"}],"beginCaptures":{"0":{"name":"entity.name.section.srt"}}},"time":{"match":"^(\\d{2}:\\d{2}:\\d{2},\\d{3})\\s*(--\u003e)\\s*(\\d{2}:\\d{2}:\\d{2},\\d{3})$","captures":{"1":{"name":"constant.numeric.time.srt"},"2":{"name":"punctuation.definition.separator.srt"},"3":{"name":"constant.numeric.time.srt"}}},"underline":{"name":"markup.underline.srt","begin":"(?i)\u003cu\u003e","end":"(?i)\u003c/u\u003e","patterns":[{"include":"#sound"},{"include":"#person"},{"include":"#bold"},{"include":"#italic"},{"include":"#underline"},{"include":"#font"}]}}}
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"}}}}}
@@ -0,0 +1 @@
1
+ {"name":"WebVTT","scopeName":"text.vtt","patterns":[{"name":"meta.file-body.vtt","begin":"\\A?(WEBVTT)(?=$|[ \\t])","end":"(?=A)B","patterns":[{"name":"meta.header.vtt","contentName":"comment.line.ignored.vtt","begin":"\\G","end":"^[ \\t]*$","patterns":[{"include":"#setting"}]},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.control.start-file.vtt"}}},{"include":"#main"}],"repository":{"badArrow":{"name":"invalid.illegal.syntax.unexpected-separator.vtt","match":"\\S*?--\u003e\\S*"},"charRef":{"patterns":[{"include":"text.html.basic#character-reference"}]},"class":{"patterns":[{"name":"support.constant.colour.foreground.$2.vtt","match":"(\\.)(black|blue|cyan|lime|magenta|red|white|yellow)(?=$|[\\s\u0026\u003c\u003e.])","captures":{"1":{"name":"punctuation.definition.entity.class.vtt"}}},{"name":"support.constant.colour.background.$2.vtt","match":"(\\.)bg_(black|blue|cyan|lime|magenta|red|white|yellow)(?=$|[\\s\u0026\u003c\u003e.])","captures":{"1":{"name":"punctuation.definition.entity.class.vtt"}}},{"name":"entity.other.attribute-name.class.vtt","match":"(\\.)[^\\s\u0026\u003c\u003e.]+","captures":{"1":{"name":"punctuation.definition.entity.class.vtt"}}}]},"comment":{"name":"comment.block.vtt","begin":"^NOTE(?=$|\\s)","end":"^[ \\t]*$","beginCaptures":{"0":{"name":"storage.type.start-comment.vtt"}}},"cue":{"name":"meta.cue.block.vtt","begin":"(?x)\n(?=\n\t^\n\t(?:\\d{2,}:)?\\d{2}:\\d{2}\\.\\d{3} # Start time\n\t[ \\t]+ --\u003e [ \\t]+ # Separator\n\t(?:\\d{2,}:)?\\d{2}:\\d{2}\\.\\d{3} # End time\n\t(?:$|[ \\t])\n)\n|\n# Cue identifier\n^((?!.*?--\u003e)[^\\r\\n]+)$","end":"^[ \\t]*$","patterns":[{"include":"#cueTimings"},{"include":"#cuePayload"}],"beginCaptures":{"1":{"name":"entity.name.cue.vtt"}}},"cueComponents":{"patterns":[{"include":"#cueSpan"},{"include":"#cueTimestamp"},{"include":"#cueDash"},{"include":"#charRef"}]},"cueDash":{"name":"markup.quote.quotation-dash.vtt","match":"(?:^|\\G)([-–—―⸺⸻〜〰︱︲﹘﹣-])","captures":{"1":{"name":"punctuation.section.quote.vtt"}}},"cuePayload":{"name":"meta.cue.payload.vtt","begin":"^(?=[ \\t]*\\S)","end":"(?=^[ \\t]*$)(?!\\G)","patterns":[{"include":"#cueComponents"}]},"cueSettings":{"name":"meta.cue.settings-list.vtt","begin":"(?\u003c=[ \\t]|^)(?!$)","end":"$","patterns":[{"include":"#badArrow"},{"include":"#setting"}]},"cueSpan":{"patterns":[{"name":"meta.span.class-span.vtt","begin":"(\u003c)(c)(?=$|\\s|/?\u003e|\\.)","end":"(?=^[ \\t]*$)|((\u003c/)(c)\\s*(\u003e))|(/\u003e)","patterns":[{"include":"#cueSpanStart"},{"include":"#cueSpanBody"}],"beginCaptures":{"0":{"name":"meta.tag.opening.vtt"},"1":{"name":"punctuation.definition.tag.begin.vtt"},"2":{"name":"entity.name.tag.localname.vtt"}},"endCaptures":{"1":{"name":"meta.tag.closing.vtt"},"2":{"name":"punctuation.definition.tag.begin.vtt"},"3":{"name":"entity.name.tag.localname.vtt"},"4":{"name":"punctuation.definition.tag.end.vtt"},"5":{"name":"punctuation.definition.tag.end.self-closing.vtt"}}},{"name":"meta.span.italics-span.vtt","begin":"(\u003c)(i)(?=$|\\s|/?\u003e|\\.)","end":"(?=^[ \\t]*$)|((\u003c/)(i)\\s*(\u003e))|(/\u003e)","patterns":[{"include":"#cueSpanStart"},{"name":"markup.italic.vtt","begin":"(?\u003c=\u003e)","end":"(?=\u003c/[A-Za-z_:]|^[ \\t]*$)","patterns":[{"include":"#cueComponents"}]}],"beginCaptures":{"0":{"name":"meta.tag.opening.vtt"},"1":{"name":"punctuation.definition.tag.begin.vtt"},"2":{"name":"entity.name.tag.localname.vtt"}},"endCaptures":{"1":{"name":"meta.tag.closing.vtt"},"2":{"name":"punctuation.definition.tag.begin.vtt"},"3":{"name":"entity.name.tag.localname.vtt"},"4":{"name":"punctuation.definition.tag.end.vtt"},"5":{"name":"punctuation.definition.tag.end.self-closing.vtt"}}},{"name":"meta.span.bold-span.vtt","begin":"(\u003c)(b)(?=$|\\s|/?\u003e|\\.)","end":"(?=^[ \\t]*$)|((\u003c/)(b)\\s*(\u003e))|(/\u003e)","patterns":[{"include":"#cueSpanStart"},{"name":"markup.bold.vtt","begin":"(?\u003c=\u003e)","end":"(?=\u003c/[A-Za-z_:]|^[ \\t]*$)","patterns":[{"include":"#cueComponents"}]}],"beginCaptures":{"0":{"name":"meta.tag.opening.vtt"},"1":{"name":"punctuation.definition.tag.begin.vtt"},"2":{"name":"entity.name.tag.localname.vtt"}},"endCaptures":{"1":{"name":"meta.tag.closing.vtt"},"2":{"name":"punctuation.definition.tag.begin.vtt"},"3":{"name":"entity.name.tag.localname.vtt"},"4":{"name":"punctuation.definition.tag.end.vtt"},"5":{"name":"punctuation.definition.tag.end.self-closing.vtt"}}},{"name":"meta.span.underline-span.vtt","begin":"(\u003c)(u)(?=$|\\s|/?\u003e|\\.)","end":"(?=^[ \\t]*$)|((\u003c/)(u)\\s*(\u003e))|(/\u003e)","patterns":[{"include":"#cueSpanStart"},{"name":"markup.underline.vtt","contentName":"string.other.link.vtt","begin":"(?\u003c=\u003e)","end":"(?=\u003c/[A-Za-z_:]|^[ \\t]*$)","patterns":[{"include":"#cueComponents"}]}],"beginCaptures":{"0":{"name":"meta.tag.opening.vtt"},"1":{"name":"punctuation.definition.tag.begin.vtt"},"2":{"name":"entity.name.tag.localname.vtt"}},"endCaptures":{"1":{"name":"meta.tag.closing.vtt"},"2":{"name":"punctuation.definition.tag.begin.vtt"},"3":{"name":"entity.name.tag.localname.vtt"},"4":{"name":"punctuation.definition.tag.end.vtt"},"5":{"name":"punctuation.definition.tag.end.self-closing.vtt"}}},{"name":"meta.span.ruby-span.vtt","begin":"(\u003c)(ruby)(?=$|\\s|/?\u003e|\\.)","end":"(?=^[ \\t]*$)|((\u003c/)(ruby)\\s*(\u003e))|(/\u003e)","patterns":[{"include":"#cueSpanStart"},{"include":"#cueSpanBody"}],"beginCaptures":{"0":{"name":"meta.tag.opening.vtt"},"1":{"name":"punctuation.definition.tag.begin.vtt"},"2":{"name":"entity.name.tag.localname.vtt"}},"endCaptures":{"1":{"name":"meta.tag.closing.vtt"},"2":{"name":"punctuation.definition.tag.begin.vtt"},"3":{"name":"entity.name.tag.localname.vtt"},"4":{"name":"punctuation.definition.tag.end.vtt"},"5":{"name":"punctuation.definition.tag.end.self-closing.vtt"}}},{"name":"meta.span.ruby-text-span.vtt","begin":"(\u003c)(rt)(?=$|\\s|/?\u003e|\\.)","end":"(?=^[ \\t]*$)|((\u003c/)(rt)\\s*(\u003e))|(/\u003e)|(?=\\s*\u003c/ruby\\s*\u003e)","patterns":[{"include":"#cueSpanStart"},{"include":"#cueSpanBody"}],"beginCaptures":{"0":{"name":"meta.tag.opening.vtt"},"1":{"name":"punctuation.definition.tag.begin.vtt"},"2":{"name":"entity.name.tag.localname.vtt"}},"endCaptures":{"1":{"name":"meta.tag.closing.vtt"},"2":{"name":"punctuation.definition.tag.begin.vtt"},"3":{"name":"entity.name.tag.localname.vtt"},"4":{"name":"punctuation.definition.tag.end.vtt"},"5":{"name":"punctuation.definition.tag.end.self-closing.vtt"}}},{"name":"meta.span.voice-span.vtt","begin":"(\u003c)(v)(?=$|\\s|/?\u003e|\\.)","end":"(?=^[ \\t]*$)|((\u003c/)(v)\\s*(\u003e))|(/\u003e)","patterns":[{"name":"meta.tag.opening.vtt","begin":"\\G(?!\\s*/\u003e)((?:\\.[^\\s\u0026\u003c\u003e.]+)*\\.?)?","end":"\u003e|(?=\\s*/\u003e|^[ \\t]*$)","patterns":[{"name":"meta.annotation.vtt","contentName":"entity.name.voice.vtt","begin":"(?:[ \\t]|^|\\G)(?=\\S)(?!\u003e|\u0026)","end":"(?=$|\u003e|\u0026|^[ \\t]*$)","patterns":[{"include":"#charRef"}]}],"beginCaptures":{"1":{"patterns":[{"include":"#class"}]}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.vtt"}}},{"include":"#cueSpanBody"}],"beginCaptures":{"0":{"name":"meta.tag.opening.vtt"},"1":{"name":"punctuation.definition.tag.begin.vtt"},"2":{"name":"entity.name.tag.localname.vtt"}},"endCaptures":{"1":{"name":"meta.tag.closing.vtt"},"2":{"name":"punctuation.definition.tag.begin.vtt"},"3":{"name":"entity.name.tag.localname.vtt"},"4":{"name":"punctuation.definition.tag.end.vtt"},"5":{"name":"punctuation.definition.tag.end.self-closing.vtt"}}},{"name":"meta.span.language-span.vtt","begin":"(\u003c)(lang)(?=$|\\s|/?\u003e|\\.)","end":"(?=^[ \\t]*$)|((\u003c/)(lang)\\s*(\u003e))|(/\u003e)","patterns":[{"name":"meta.tag.opening.vtt","begin":"\\G(?!\\s*/\u003e)((?:\\.[^\\s\u0026\u003c\u003e.]+)*\\.?)?","end":"\u003e|(?=\\s*/\u003e|^[ \\t]*$)","patterns":[{"name":"meta.annotation.vtt","contentName":"constant.language.locale.bcp47.vtt","begin":"(?:[ \\t]|^|\\G)(?=\\S)(?!\u003e|\u0026)","end":"(?=$|\u003e|\u0026|^[ \\t]*$)","patterns":[{"include":"#charRef"}]}],"beginCaptures":{"1":{"patterns":[{"include":"#class"}]}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.vtt"}}},{"include":"#cueSpanBody"}],"beginCaptures":{"0":{"name":"meta.tag.opening.vtt"},"1":{"name":"punctuation.definition.tag.begin.vtt"},"2":{"name":"entity.name.tag.localname.vtt"}},"endCaptures":{"1":{"name":"meta.tag.closing.vtt"},"2":{"name":"punctuation.definition.tag.begin.vtt"},"3":{"name":"entity.name.tag.localname.vtt"},"4":{"name":"punctuation.definition.tag.end.vtt"},"5":{"name":"punctuation.definition.tag.end.self-closing.vtt"}}},{"name":"meta.span.$2-span.vtt","begin":"(\u003c)([A-Za-z_:][-\\w:]*)(?=$|\\s|/?\u003e|\\.)","end":"(?=^[ \\t]*$)|((\u003c/)(\\2)\\s*(\u003e))|(/\u003e)","patterns":[{"name":"meta.tag.opening.vtt","begin":"\\G(?!\\s*/\u003e)((?:\\.[^\\s\u0026\u003c\u003e.]+)*\\.?)?","end":"\u003e|(?=\\s*/\u003e|^[ \\t]*$)","patterns":[{"name":"meta.annotation.vtt","contentName":"string.unquoted.annotation.vtt","begin":"(?:[ \\t]|^|\\G)(?=\\S)(?!\u003e|\u0026)","end":"(?=$|\u003e|\u0026|^[ \\t]*$)","patterns":[{"include":"#charRef"}]}],"beginCaptures":{"1":{"patterns":[{"include":"#class"}]}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.vtt"}}},{"include":"#cueSpanBody"}],"beginCaptures":{"0":{"name":"meta.tag.opening.vtt"},"1":{"name":"punctuation.definition.tag.begin.vtt"},"2":{"name":"entity.name.tag.localname.vtt"}},"endCaptures":{"1":{"name":"meta.tag.closing.vtt"},"2":{"name":"punctuation.definition.tag.begin.vtt"},"3":{"name":"entity.name.tag.localname.vtt"},"4":{"name":"punctuation.definition.tag.end.vtt"},"5":{"name":"punctuation.definition.tag.end.self-closing.vtt"}}}]},"cueSpanBody":{"name":"meta.content.vtt","begin":"(?\u003c=\u003e)","end":"(?=\u003c/[A-Za-z_:]|^[ \\t]*$)","patterns":[{"include":"#cueComponents"}]},"cueSpanStart":{"name":"meta.tag.opening.vtt","contentName":"invalid.illegal.unexpected-annotation.vtt","begin":"\\G(?!\\s*/\u003e)((?:\\.[^\\s\u0026\u003c\u003e.]+)*\\.?)?","end":"\u003e|(?=\\s*/\u003e|^[ \\t]*$)","patterns":[{"include":"#charRef"}],"beginCaptures":{"1":{"patterns":[{"include":"#class"}]}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.vtt"}}},"cueTimestamp":{"name":"constant.other.cue-timestamp.vtt","match":"(\u003c)((?:\\d{2,}:)?\\d{2}:\\d{2}\\.\\d{3})(\u003e)","captures":{"1":{"name":"punctuation.definition.timestamp.begin.vtt"},"2":{"patterns":[{"include":"#timestamp"}]},"3":{"name":"punctuation.definition.timestamp.end.vtt"}}},"cueTimings":{"name":"meta.cue.timings.vtt","begin":"(?x) (?:^|\\G)\n((?:\\d{2,}:)?\\d{2}:\\d{2}\\.\\d{3}) # Start time\n[ \\t]+ (--\u003e) [ \\t]+ # Separator\n((?:\\d{2,}:)?\\d{2}:\\d{2}\\.\\d{3}) # End time\n(?=$|[ \\t]) [ \\t]* # Gap before “#cueSettings”","end":"$","patterns":[{"include":"#cueSettings"}],"beginCaptures":{"1":{"name":"meta.start-time.vtt","patterns":[{"include":"#timestamp"}]},"2":{"name":"keyword.operator.timespan.vtt"},"3":{"name":"meta.end-time.vtt","patterns":[{"include":"#timestamp"}]}}},"main":{"patterns":[{"include":"#comment"},{"include":"#region"},{"include":"#style"},{"include":"#cue"}]},"region":{"name":"meta.region-definition.block.vtt","begin":"^(REGION)[ \\t]*$","end":"^[ \\t]*$","patterns":[{"name":"meta.setting.with-value.vtt","match":"^(id)(:)(?:(.*?--\u003e.*?)|(\\S+))","captures":{"1":{"name":"variable.assignment.setting-name.vtt"},"2":{"name":"keyword.operator.assignment.key-value.colon.vtt"},"3":{"patterns":[{"include":"#badArrow"}]},"4":{"name":"entity.name.region.vtt"}}},{"include":"#setting"}],"beginCaptures":{"1":{"name":"storage.type.region.vtt"}}},"setting":{"name":"meta.setting.generic.vtt","begin":"([^\\s:]+?)(:)","end":"(?!\\G)","patterns":[{"begin":"\\G(?=[ \\t]*\\S)","end":"(?!\\G)(?=\\s|$)","patterns":[{"match":"(?\u003c=scroll:)\\G([ \\t]*)(up)(?=$|\\s)","captures":{"1":{"name":"punctuation.whitespace.inline.vtt"},"2":{"name":"constant.language.scroll-setting.vtt"}}},{"match":"(?\u003c=vertical:)\\G([ \\t]*)(rl|lr)(?=$|\\s)","captures":{"1":{"name":"punctuation.whitespace.inline.vtt"},"2":{"name":"constant.language.vertical-setting.vtt"}}},{"match":"(?\u003c=line:)\\G([ \\t]*)(start|center|end)(?=$|\\s)","captures":{"1":{"name":"punctuation.whitespace.inline.vtt"},"2":{"name":"constant.language.line-setting.vtt"}}},{"match":"(?\u003c=position:)\\G([ \\t]*)([0-9]+%,)(center|line-left|line-right)(?=$|\\s)","captures":{"1":{"name":"punctuation.whitespace.inline.vtt"},"2":{"patterns":[{"include":"#settingValue"}]},"3":{"name":"constant.language.position-setting.vtt"}}},{"match":"(?\u003c=align:)\\G([ \\t]*)(center|end|left|right|start)(?=$|\\s)","captures":{"1":{"name":"punctuation.whitespace.inline.vtt"},"2":{"patterns":[{"include":"#settingValue"}]},"3":{"name":"constant.language.align-setting.vtt"}}},{"include":"#settingValue"}]}],"beginCaptures":{"1":{"name":"variable.assignment.setting-name.vtt"},"2":{"name":"keyword.operator.assignment.key-value.colon.vtt"}}},"settingValue":{"patterns":[{"name":"constant.numeric.percentage.vtt","match":"[0-9]+(?:\\.[0-9]+)?(%)","captures":{"1":{"name":"punctuation.definition.percentage.vtt"}}},{"name":"constant.numeric.integer.int.vtt","match":"[0-9]+\\b(?!%|\\.[0-9])"},{"name":"constant.language.auto.vtt","match":"\\bauto\\b(?=$|\\s|,)"},{"name":"punctuation.separator.delimiter.comma.vtt","match":","},{"include":"#badArrow"},{"name":"constant.other.setting-value.vtt","match":".+"}]},"style":{"name":"meta.style.block.vtt","contentName":"source.embedded.css","begin":"^(STYLE)[ \\t]*$","end":"^[ \\t]*$","patterns":[{"include":"source.css"}],"beginCaptures":{"1":{"name":"storage.type.style.vtt"}}},"timestamp":{"name":"meta.timestamp.vtt","match":"(?x)\n(?:(\\d{2,})(:))? # Hours (≥ 00)\n(?:([0-5]\\d)|(\\d{2}))(:) # Minutes (00-59)\n(?:([0-5]\\d)|(\\d{2}))(\\.) # Seconds (00-59)\n(\\d{3}) # Milliseconds (000-999)","captures":{"1":{"name":"constant.numeric.timestamp.unit.hour.vtt"},"2":{"patterns":[{"include":"#timestampColon"}]},"3":{"name":"constant.numeric.timestamp.unit.minute.vtt"},"4":{"name":"invalid.illegal.value.out-of-range.vtt"},"5":{"patterns":[{"include":"#timestampColon"}]},"6":{"name":"constant.numeric.timestamp.unit.second.vtt"},"7":{"name":"invalid.illegal.value.out-of-range.vtt"},"8":{"patterns":[{"include":"#timestampDecimal"}]},"9":{"name":"constant.numeric.timestamp.unit.millisecond.vtt"}}},"timestampColon":{"name":"meta.separator.colon.vtt","match":":","captures":{"0":{"name":"punctuation.separator.delimiter.vtt"}}},"timestampDecimal":{"name":"meta.separator.decimal.fraction.radix-point.vtt","match":"\\.","captures":{"0":{"name":"punctuation.separator.decimal.vtt"}}}}}
data/grammars/version CHANGED
@@ -1 +1 @@
1
- 7.19.0
1
+ 7.22.0
data/lib/linguist/VERSION CHANGED
@@ -1 +1 @@
1
- 7.19.0
1
+ 7.22.0
@@ -1,6 +1,6 @@
1
1
  require 'linguist/generated'
2
+ require 'cgi'
2
3
  require 'charlock_holmes'
3
- require 'escape_utils'
4
4
  require 'mini_mime'
5
5
  require 'yaml'
6
6
 
@@ -94,7 +94,7 @@ module Linguist
94
94
  elsif name.nil?
95
95
  "attachment"
96
96
  else
97
- "attachment; filename=#{EscapeUtils.escape_url(name)}"
97
+ "attachment; filename=#{CGI.escape(name)}"
98
98
  end
99
99
  end
100
100
 
@@ -16,3 +16,5 @@ extensions:
16
16
  - ".9"
17
17
  - ".cmp"
18
18
  - ".sol"
19
+ - ".stl"
20
+ - ".url"
@@ -94,10 +94,22 @@ disambiguations:
94
94
  pattern: '(<^\s*; |End Function)'
95
95
  - language: BitBake
96
96
  pattern: '^\s*(# |include|require)\b'
97
+ - language: Clojure
98
+ pattern: '\((def|defn|defmacro|let)\s'
97
99
  - extensions: ['.bi']
98
100
  rules:
99
101
  - language: FreeBasic
100
102
  pattern: '^[ \t]*#(?:define|endif|endmacro|ifn?def|if|include|lang|macro)\s'
103
+ - extensions: ['.bs']
104
+ rules:
105
+ - language: Bikeshed
106
+ pattern: '^(?i:<pre\s+class)\s*=\s*(''|\"|\b)metadata\b\1[^>\r\n]*>'
107
+ - language: BrighterScript
108
+ pattern:
109
+ - (?i:^\s*(?=^sub\s)(?:sub\s*\w+\(.*?\))|(?::\s*sub\(.*?\))$)
110
+ - (?i:^\s*(end\ssub)$)
111
+ - (?i:^\s*(?=^function\s)(?:function\s*\w+\(.*?\)\s*as\s*\w*)|(?::\s*function\(.*?\)\s*as\s*\w*)$)
112
+ - (?i:^\s*(end\sfunction)$)
101
113
  - extensions: ['.builds']
102
114
  rules:
103
115
  - language: XML
@@ -129,7 +141,7 @@ disambiguations:
129
141
  - language: Smalltalk
130
142
  pattern: '![\w\s]+methodsFor: '
131
143
  - language: 'C#'
132
- pattern: '^(\s*namespace\s*[\w\.]+\s*{|\s*\/\/)'
144
+ pattern: '^(\s*namespace\s*[\w\.]+\s*({|;)|\s*\/\/)'
133
145
  - extensions: ['.csc']
134
146
  rules:
135
147
  - language: GSC
@@ -360,6 +372,14 @@ disambiguations:
360
372
  rules:
361
373
  - language: Unity3D Asset
362
374
  pattern: 'tag:unity3d.com'
375
+ - extensions: ['.mc']
376
+ rules:
377
+ - language: Win32 Message File
378
+ pattern: '(?i)^[ \t]*(?>\/\*\s*)?MessageId=|^\.$'
379
+ - language: M4
380
+ pattern: '^dnl|^divert\((?:-?\d+)?\)|^\w+\(`[^\n]*?''[),]'
381
+ - language: Monkey C
382
+ pattern: '\b(?:using|module|function|class|var)\s+\w'
363
383
  - extensions: ['.md']
364
384
  rules:
365
385
  - language: Markdown
@@ -584,6 +604,15 @@ disambiguations:
584
604
  pattern: '\$\w+[($]|(.)!\s*.+?\s*!\1|<!\s*.+?\s*!>|\[!\s*.+?\s*!\]|\{!\s*.+?\s*!\}'
585
605
  - language: Smalltalk
586
606
  pattern: '\A\s*[\[{(^"''\w#]|[a-zA-Z_]\w*\s*:=\s*[a-zA-Z_]\w*|class\s*>>\s*[a-zA-Z_]\w*|^[a-zA-Z_]\w*\s+[a-zA-Z_]\w*:|^Class\s*{|if(?:True|False):\s*\['
607
+ - extensions: ['.star']
608
+ rules:
609
+ - language: STAR
610
+ pattern: '^loop_\s*$'
611
+ - language: Starlark
612
+ - extensions: ['.stl']
613
+ rules:
614
+ - language: STL
615
+ pattern: '\A\s*solid(?=$|\s)(?m:.*?)\Rendsolid(?:$|\s)'
587
616
  - extensions: ['.t']
588
617
  rules:
589
618
  - language: Perl
@@ -624,6 +653,10 @@ disambiguations:
624
653
  # HACK: This is a contrived use of heuristics needed to address
625
654
  # an unusual edge-case. See https://git.io/JULye for discussion.
626
655
  - language: Text
656
+ - extensions: ['.url']
657
+ rules:
658
+ - language: INI
659
+ pattern: '^\[InternetShortcut\]\R(?>[^\s\[][^\n]*\R)*URL='
627
660
  - extensions: ['.v']
628
661
  rules:
629
662
  - language: Coq
@@ -1,4 +1,4 @@
1
- require 'escape_utils'
1
+ require 'cgi'
2
2
  require 'yaml'
3
3
  begin
4
4
  require 'yajl'
@@ -434,7 +434,7 @@ module Linguist
434
434
  #
435
435
  # Returns the escaped String.
436
436
  def escaped_name
437
- EscapeUtils.escape_url(name).gsub('+', '%20')
437
+ CGI.escape(name).gsub('+', '%20')
438
438
  end
439
439
 
440
440
  # Public: Get default alias name