github-linguist 9.3.0 → 9.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/dart.inline.edgeql.json +1 -0
  3. data/grammars/go.inline.edgeql.json +1 -0
  4. data/grammars/inline.surrealql-js-literal.json +1 -0
  5. data/grammars/js.inline.edgeql.json +1 -0
  6. data/grammars/markdown.move.codeblock.json +1 -1
  7. data/grammars/markdown.surrealql.codeblock.json +1 -0
  8. data/grammars/markdown.vue.codeblock.json +1 -1
  9. data/grammars/markdown.wesl.codeblock.json +1 -0
  10. data/grammars/markdown.wgsl.codeblock.json +1 -0
  11. data/grammars/mdx.vue.codeblock.json +1 -1
  12. data/grammars/res.inline.edgeql.json +1 -0
  13. data/grammars/source.abl.json +1 -1
  14. data/grammars/source.agda.json +1 -1
  15. data/grammars/source.al.json +1 -1
  16. data/grammars/source.algol60.json +1 -0
  17. data/grammars/source.apex.json +1 -1
  18. data/grammars/source.b.json +1 -0
  19. data/grammars/source.bicep.json +1 -1
  20. data/grammars/source.brs.json +1 -1
  21. data/grammars/source.bru.json +1 -1
  22. data/grammars/source.c++.json +1 -1
  23. data/grammars/source.c.json +1 -1
  24. data/grammars/source.c3.json +1 -1
  25. data/grammars/source.cadence.json +1 -1
  26. data/grammars/source.cj.json +1 -0
  27. data/grammars/source.clar.json +1 -1
  28. data/grammars/source.clean.json +1 -1
  29. data/grammars/source.comment-string.wesl.json +1 -0
  30. data/grammars/source.comment-string.wgsl.json +1 -0
  31. data/grammars/source.cql.json +1 -0
  32. data/grammars/source.cs.json +1 -1
  33. data/grammars/source.csv.json +1 -0
  34. data/grammars/source.data-weave.json +1 -1
  35. data/grammars/source.dsv.json +1 -0
  36. data/grammars/source.erlang.json +1 -1
  37. data/grammars/source.fsharp.json +1 -1
  38. data/grammars/source.gfm.blade.json +1 -1
  39. data/grammars/source.go-template.json +1 -0
  40. data/grammars/source.go.injection.double.go-template.json +1 -0
  41. data/grammars/source.go.injection.raw.go-template.json +1 -0
  42. data/grammars/source.hack.json +1 -1
  43. data/grammars/source.hurl.json +1 -0
  44. data/grammars/source.isabelle.theory.json +1 -1
  45. data/grammars/source.jac.json +1 -0
  46. data/grammars/source.jai.json +1 -1
  47. data/grammars/source.just.json +1 -1
  48. data/grammars/source.kcl.json +1 -0
  49. data/grammars/source.langium.json +1 -0
  50. data/grammars/source.lean.markdown.json +1 -1
  51. data/grammars/source.lean4.json +1 -1
  52. data/grammars/source.lean4.markdown.json +1 -1
  53. data/grammars/source.lp.json +1 -0
  54. data/grammars/source.lua.json +1 -1
  55. data/grammars/source.luau.json +1 -1
  56. data/grammars/source.m2.json +1 -1
  57. data/grammars/source.mask.json +1 -1
  58. data/grammars/source.mdx.json +1 -1
  59. data/grammars/source.mermaid.zenuml.json +1 -1
  60. data/grammars/source.mo.json +1 -1
  61. data/grammars/source.mojo.json +1 -1
  62. data/grammars/source.moonbit.json +1 -1
  63. data/grammars/source.move.json +1 -1
  64. data/grammars/source.ned.json +1 -1
  65. data/grammars/source.nr.json +1 -1
  66. data/grammars/source.nushell.json +1 -1
  67. data/grammars/source.proto.json +1 -1
  68. data/grammars/source.pyjade.json +1 -1
  69. data/grammars/source.quakec.json +1 -1
  70. data/grammars/source.rascal.json +1 -1
  71. data/grammars/source.rascript.json +1 -0
  72. data/grammars/source.rego.json +1 -1
  73. data/grammars/source.roc.json +1 -1
  74. data/grammars/source.rpgle.json +1 -1
  75. data/grammars/source.shell.json +1 -1
  76. data/grammars/source.singularity.json +1 -1
  77. data/grammars/source.soql.json +1 -1
  78. data/grammars/source.sqf.json +1 -1
  79. data/grammars/source.surrealql.json +1 -0
  80. data/grammars/source.teal.json +1 -0
  81. data/grammars/source.tmdl.json +1 -0
  82. data/grammars/source.tsp.json +1 -1
  83. data/grammars/source.tsv.json +1 -0
  84. data/grammars/source.vb6.json +1 -0
  85. data/grammars/source.vba.json +1 -1
  86. data/grammars/source.vento.json +1 -1
  87. data/grammars/source.vscode.c3.json +1 -0
  88. data/grammars/source.wdl.json +1 -1
  89. data/grammars/source.wgsl.json +1 -1
  90. data/grammars/source.wwb.json +1 -1
  91. data/grammars/text.git-commit.json +1 -0
  92. data/grammars/text.haml.json +1 -1
  93. data/grammars/text.html.markdown.d2.json +1 -1
  94. data/grammars/text.html.vue.json +1 -0
  95. data/grammars/text.injection.go-template.json +1 -0
  96. data/grammars/text.k.json +1 -0
  97. data/grammars/text.markdown.go-template.codeblock.json +1 -0
  98. data/grammars/text.marko.json +1 -1
  99. data/grammars/text.md.json +1 -1
  100. data/grammars/text.slim.json +1 -1
  101. data/grammars/text.source.mps.json +1 -0
  102. data/grammars/text.valve-cfg.json +1 -1
  103. data/grammars/v.mod.json +1 -0
  104. data/grammars/version +1 -1
  105. data/grammars/vue.directives.json +1 -1
  106. data/grammars/vue.interpolations.json +1 -1
  107. data/grammars/vue.sfc.script.leading-operator-fix.json +1 -0
  108. data/lib/linguist/VERSION +1 -1
  109. data/lib/linguist/generated.rb +24 -0
  110. data/lib/linguist/generic.yml +1 -0
  111. data/lib/linguist/heuristics.yml +62 -6
  112. data/lib/linguist/languages.json +1 -1
  113. data/lib/linguist/languages.yml +222 -26
  114. data/lib/linguist/samples.json +1 -1
  115. metadata +40 -3
  116. data/grammars/inline.edgeql.json +0 -1
  117. data/grammars/source.vue.json +0 -1
@@ -1 +1 @@
1
- {"name":"Slim","scopeName":"text.slim","patterns":[{"name":"meta.filter.slim source.ruby.embedded.slim","begin":"^(\\s*)(ruby):$","end":"^(?!(\\1\\s)|\\s*$)","patterns":[{"include":"source.ruby"}],"beginCaptures":{"2":{"name":"constant.language.name.ruby.filter.slim"}}},{"name":"meta.filter.slim source.js.embedded.slim","begin":"^(\\s*)(javascript).*:$","end":"^(?!(\\1\\s)|\\s*$)","patterns":[{"include":"source.js"}],"beginCaptures":{"2":{"name":"constant.language.name.javascript.filter.slim"}}},{"name":"meta.filter.slim source.coffee.embedded.slim","begin":"^(\\s*)(coffee).*:$","end":"^(?!(\\1\\s)|\\s*$)","patterns":[{"include":"source.coffee"}],"beginCaptures":{"2":{"name":"constant.language.name.coffeescript.filter.slim"}}},{"name":"meta.filter.slim text.html.markdown.embedded.slim","begin":"^(\\s*)(markdown):$","end":"^(?!(\\1\\s)|\\s*$)","patterns":[{"include":"source.gfm"}],"beginCaptures":{"2":{"name":"constant.language.name.markdown.filter.slim"}}},{"name":"meta.filter.slim source.css.embedded.slim","begin":"^(\\s*)(css).*:$","end":"^(?!(\\1\\s)|\\s*$)","patterns":[{"include":"source.css"}],"beginCaptures":{"2":{"name":"constant.language.name.css.filter.slim"}}},{"name":"meta.filter.slim source.sass.embedded.slim","begin":"^(\\s*)(sass).*:$","end":"^(?!(\\1\\s)|\\s*$)","patterns":[{"include":"source.sass"}],"beginCaptures":{"2":{"name":"constant.language.name.sass.filter.slim"}}},{"name":"meta.filter.slim source.scss.embedded.slim","begin":"^(\\s*)(scss).*:$","end":"^(?!(\\1\\s)|\\s*$)","patterns":[{"include":"source.css.scss"}],"beginCaptures":{"2":{"name":"constant.language.name.scss.filter.slim"}}},{"name":"meta.filter.slim source.less.embedded.slim","begin":"^(\\s*)(less).*:$","end":"^(?!(\\1\\s)|\\s*$)","patterns":[{"include":"source.css.less"}],"beginCaptures":{"2":{"name":"constant.language.name.less.filter.slim"}}},{"name":"meta.filter.slim text.html.erb.embedded.slim","begin":"^(\\s*)(erb):$","end":"^(?!(\\1\\s)|\\s*$)","patterns":[{"include":"text.html.erb"}],"beginCaptures":{"2":{"name":"constant.language.name.erb.filter.slim"}}},{"name":"comment.block.html.slim","begin":"^(\\s*)((/!)\\s*.*)$","end":"^(?!(\\1\\s)|\\s*$)","beginCaptures":{"2":{"name":"comment.line.slash.slim"},"3":{"name":"punctuation.definition.comment.slim"}}},{"name":"comment.block.slim","begin":"^(\\s*)((/)((\\[).*(\\])).*)$","end":"^(?!(\\1\\s)|\\s*$)","beginCaptures":{"2":{"name":"comment.line.slash.slim"},"3":{"name":"punctuation.definition.comment.slim"},"4":{"name":"meta.brackets.slim"},"5":{"name":"punctuation.section.brackets.begin.slim"},"6":{"name":"punctuation.section.brackets.end.slim"}}},{"name":"comment.block.slim","begin":"^(\\s*)((/)\\s*.*)$","end":"^(?!(\\1\\s)|\\s*$)","beginCaptures":{"2":{"name":"comment.line.slash.slim"},"3":{"name":"punctuation.definition.comment.slim"}}},{"begin":"^\\s*(?=-)","end":"$","patterns":[{"include":"#rubyline"}]},{"begin":"^\\s*(?==+|~)","end":"$","patterns":[{"include":"#rubyline"}]},{"include":"#splat-attribute"},{"include":"#interpolated-ruby"},{"include":"#verbatim-text"},{"match":"^\\s*(doctype)\\s+.*(\\n|$)","captures":{"0":{"name":"meta.tag.sgml.doctype.slim"}}},{"name":"meta.tag.slim","begin":"(\\s*)(?:([\\w-]+)|(\\.)((?:[\\w-]|(?::(?!\\s)))+(?:/\\d+)?)|(#)((?:[\\w-]|(?::(?!\\s)))+(?:/\\d+)?))","end":"$|(:)(?=\\s)","patterns":[{"include":"#xml-namespace"},{"include":"#class-id-shortcut"},{"include":"#attribute-wrapper"},{"include":"#splat-attribute"},{"include":"#whitespace-modifier"},{"include":"#rubyline"},{"include":"#tag-attribute"},{"include":"#whitespace"},{"include":"#closed-tag-terminator"},{"include":"#inline-text"}],"beginCaptures":{"2":{"name":"entity.name.tag.slim"},"3":{"name":"punctuation.definition.attribute.class.slim"},"4":{"name":"entity.other.attribute-name.class.html"},"5":{"name":"punctuation.definition.attribute.id.slim"},"6":{"name":"entity.other.attribute-name.id.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.slim"}}},{"match":"^\\s*(\\\\.)","captures":{"1":{"name":"meta.escape.slim"}}},{"include":"#inline-text"}],"repository":{"attribute-wrapper":{"patterns":[{"include":"#attribute-wrapper-parens"},{"include":"#attribute-wrapper-brackets"},{"include":"#attribute-wrapper-braces"}]},"attribute-wrapper-braces":{"name":"meta.braces.slim","begin":"\\{","end":"\\}","patterns":[{"include":"#tag-attribute-wrapped"},{"include":"#tag-boolean-attribute"}],"beginCaptures":{"0":{"name":"punctuation.section.braces.begin.slim"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.slim"}}},"attribute-wrapper-brackets":{"name":"meta.brackets.slim","begin":"\\[","end":"\\]","patterns":[{"include":"#tag-attribute-wrapped"},{"include":"#tag-boolean-attribute"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.slim"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.slim"}}},"attribute-wrapper-parens":{"name":"meta.parens.slim","begin":"\\(","end":"\\)","patterns":[{"include":"#tag-attribute-wrapped"},{"include":"#tag-boolean-attribute"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.slim"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.slim"}}},"boolean-attribute-value":{"name":"constant.language.slim","begin":"true|false|nil","end":"(?=\\s)|$"},"class-id-shortcut":{"patterns":[{"include":"#class-shortcut"},{"include":"#id-shortcut"}]},"class-shortcut":{"match":"(\\.)((?:[\\w-]|(?::(?!\\s)))+(?:/\\d+)?)","captures":{"1":{"name":"punctuation.definition.attribute.class.slim"},"2":{"name":"entity.other.attribute-name.class.html"}}},"closed-tag-terminator":{"name":"punctuation.terminator.tag.slim","match":"\\s*/\\s*"},"continuation":{"match":"([\\\\,])\\s*\\n","captures":{"1":{"name":"punctuation.separator.continuation.slim"}}},"delimited-ruby-group":{"name":"meta.embedded.slim meta.string.ruby source.ruby.embedded.slim entity.other.slim.ruby-attribute-delimited","contentName":"meta.source.ruby","begin":"\\(","end":"(\\))(?=(\\s|\\]|\\}$))","patterns":[{"include":"source.ruby"}],"beginCaptures":{"0":{"name":"punctuation.definition.group.begin.slim"}},"endCaptures":{"1":{"name":"punctuation.definition.group.end.slim"}}},"entities":{"patterns":[{"name":"constant.character.entity.html","match":"(\u0026)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.entity.html"},"3":{"name":"punctuation.definition.entity.html"}}},{"name":"invalid.illegal.bad-ampersand.html","match":"\u0026"}]},"id-shortcut":{"match":"(#)((?:[\\w-]|(?::(?!\\s)))+(?:/\\d+)?)","captures":{"1":{"name":"punctuation.definition.attribute.id.slim"},"2":{"name":"entity.other.attribute-name.id.html"}}},"inline-text":{"name":"meta.embedded.slim text.html.embedded.slim entity.other.slim.inline-text","begin":"(?=.)","end":"(?\u003c!\\\\\\n)$","patterns":[{"include":"text.html.basic"},{"include":"#interpolated-ruby"},{"match":"([^#\u003c]|\\\\#|\\\\\\\u003c)*\\n"}]},"interpolated-ruby":{"name":"meta.interpolation.slim meta.string.ruby source.ruby.embedded.slim","begin":"(?\u003c!\\\\)#\\{{1,2}","end":"\\}{1,2}","patterns":[{"include":"source.ruby"}],"beginCaptures":{"0":{"name":"punctuation.section.interpolation.begin.slim"}},"endCaptures":{"0":{"name":"punctuation.section.interpolation.end.slim"}}},"ruby-attribute-array":{"name":"meta.embedded.slim meta.string.ruby source.ruby.embedded.slim entity.other.slim.ruby-attribute-array","begin":"(?=\\[)","end":"(?\u003c=\\])","patterns":[{"include":"source.ruby"}]},"ruby-attribute-hash":{"name":"meta.embedded.slim meta.string.ruby source.ruby.embedded.slim entity.other.slim.ruby-attribute-hash","begin":"(?=\\{)","end":"(?\u003c=\\})","patterns":[{"include":"source.ruby"}]},"ruby-attribute-symbol-array":{"name":"meta.embedded.slim meta.string.ruby source.ruby.embedded.slim entity.other.slim.ruby-attribute-symbol-array","begin":"=?(?=:)","end":"(?=\\s|\\)|\\]|\\})|$","patterns":[{"include":"source.ruby"}]},"ruby-attribute-value":{"name":"meta.embedded.slim meta.string.ruby source.ruby.embedded.slim entity.other.slim.ruby-attribute-value","begin":"(?=\\b)","end":"(?=\\s)|$","patterns":[{"include":"source.ruby"}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.slim"}}},"ruby-attribute-value-wrapped":{"name":"meta.embedded.slim meta.string.ruby source.ruby.embedded.slim entity.other.slim.ruby-attribute-value-wrapped","begin":"(?=\\b)","end":"(?=\\)|\\]|\\})|$","patterns":[{"include":"source.ruby"}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.slim"}}},"rubyline":{"name":"meta.embedded.slim meta.line.ruby.slim","contentName":"meta.embedded.slim meta.string.ruby source.ruby.embedded.slim entity.other.slim.ruby-line","begin":"(==|=)(\u003c\u003e|\u003e\u003c|\u003c'|'\u003c|\u003c|\u003e)?|-\\s*","end":"(do\\s*\\n$)|(?\u003c!\\\\|,|,\\n|\\\\\\n)$","patterns":[{"name":"comment.line.number-sign.ruby","match":"#.*$"},{"include":"#continuation"},{"include":"source.ruby"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.slim"},"2":{"name":"keyword.operator.whitespace.slim"}},"endCaptures":{"1":{"name":"keyword.control.start-block.ruby"}}},"splat-attribute":{"patterns":[{"include":"#splat-attribute-hash"},{"include":"#splat-attribute-direct"}]},"splat-attribute-direct":{"name":"meta.embedded.slim source.ruby.embedded.slim entity.other.slim.splat-attribute","begin":"\\*","end":"(?=\\s)|$","patterns":[{"include":"source.ruby"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.ruby"}}},"splat-attribute-hash":{"name":"meta.embedded.slim source.ruby.embedded.slim entity.other.slim.splat-attribute","begin":"\\*\\{","end":"\\}","patterns":[{"include":"source.ruby"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.ruby"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.ruby"}}},"string-double-quoted":{"name":"meta.string.html string.quoted.double.html","begin":"(\")(?=.*(\"|\\\\?$))","end":"\"","patterns":[{"include":"#interpolated-ruby"},{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},"string-single-quoted":{"name":"meta.string.html string.quoted.single.html","begin":"(')(?=.*('|\\\\$))","end":"'","patterns":[{"include":"#interpolated-ruby"},{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},"tag-attribute":{"name":"meta.attribute-with-value.slim","begin":"([\\w-]+)\\s*(==?)\\s*","end":"(?=(?::?\\s))|$","patterns":[{"include":"#string-double-quoted"},{"include":"#string-single-quoted"},{"include":"#boolean-attribute-value"},{"include":"#delimited-ruby-group"},{"include":"#ruby-attribute-array"},{"include":"#ruby-attribute-hash"},{"include":"#ruby-attribute-symbol-array"},{"include":"#ruby-attribute-value"}],"captures":{"1":{"name":"entity.other.attribute-name.slim"},"2":{"name":"punctuation.separator.key-value.slim"}}},"tag-attribute-wrapped":{"name":"meta.attribute-with-value.slim","begin":"([\\w-]+)\\s*(==?)\\s*","end":"(?=(?:\\)|\\]|\\}))|$","patterns":[{"include":"#string-double-quoted"},{"include":"#string-single-quoted"},{"include":"#boolean-attribute-value"},{"include":"#delimited-ruby-group"},{"include":"#ruby-attribute-array"},{"include":"#ruby-attribute-hash"},{"include":"#ruby-attribute-symbol-array"},{"include":"#ruby-attribute-value-wrapped"}],"captures":{"1":{"name":"entity.other.attribute-name.slim"},"2":{"name":"punctuation.separator.key-value.slim"}}},"tag-boolean-attribute":{"name":"meta.attribute-with-value.slim entity.other.attribute-name.slim","begin":"([\\w-]+)\\s*","end":"(?=(?::?\\s|\\)|\\]|\\}))|$"},"verbatim-text":{"contentName":"text.html.embedded.slim","begin":"^(\\s*)([|'](\u003c |\u003e |\u003c\u003e |\u003e\u003c )?)\\s*","end":"^(?!(\\1\\s)|\\s*$)","patterns":[{"include":"text.html.basic"},{"include":"#interpolated-ruby"}],"beginCaptures":{"2":{"name":"punctuation.section.verbatim.slim"}}},"whitespace":{"name":"text.html.embedded.whitespace.slim","match":"\\s+"},"whitespace-modifier":{"name":"keyword.operator.whitespace.slim","match":"(?\u003c!\\s)(?:\\\u003e|\\\u003c|\\\u003c\\\u003e|\\\u003e\\\u003c)"},"xml-namespace":{"name":"entity.name.tag.slim","match":"(:[\\w-]+)+"}}}
1
+ {"name":"Slim","scopeName":"text.slim","patterns":[{"name":"meta.filter.slim source.ruby.embedded.slim","begin":"^(\\s*)(ruby):$","end":"^(?!(\\1\\s)|\\s*$)","patterns":[{"include":"source.ruby"}],"beginCaptures":{"2":{"name":"constant.language.name.ruby.filter.slim"}}},{"name":"meta.filter.slim source.js.embedded.slim","begin":"^(\\s*)(javascript).*:$","end":"^(?!(\\1\\s)|\\s*$)","patterns":[{"include":"source.js"}],"beginCaptures":{"2":{"name":"constant.language.name.javascript.filter.slim"}}},{"name":"meta.filter.slim source.coffee.embedded.slim","begin":"^(\\s*)(coffee).*:$","end":"^(?!(\\1\\s)|\\s*$)","patterns":[{"include":"source.coffee"}],"beginCaptures":{"2":{"name":"constant.language.name.coffeescript.filter.slim"}}},{"name":"meta.filter.slim text.html.markdown.embedded.slim","begin":"^(\\s*)(markdown):$","end":"^(?!(\\1\\s)|\\s*$)","patterns":[{"include":"text.md"}],"beginCaptures":{"2":{"name":"constant.language.name.markdown.filter.slim"}}},{"name":"meta.filter.slim source.css.embedded.slim","begin":"^(\\s*)(css).*:$","end":"^(?!(\\1\\s)|\\s*$)","patterns":[{"include":"source.css"}],"beginCaptures":{"2":{"name":"constant.language.name.css.filter.slim"}}},{"name":"meta.filter.slim source.sass.embedded.slim","begin":"^(\\s*)(sass).*:$","end":"^(?!(\\1\\s)|\\s*$)","patterns":[{"include":"source.sass"}],"beginCaptures":{"2":{"name":"constant.language.name.sass.filter.slim"}}},{"name":"meta.filter.slim source.scss.embedded.slim","begin":"^(\\s*)(scss).*:$","end":"^(?!(\\1\\s)|\\s*$)","patterns":[{"include":"source.css.scss"}],"beginCaptures":{"2":{"name":"constant.language.name.scss.filter.slim"}}},{"name":"meta.filter.slim source.less.embedded.slim","begin":"^(\\s*)(less).*:$","end":"^(?!(\\1\\s)|\\s*$)","patterns":[{"include":"source.css.less"}],"beginCaptures":{"2":{"name":"constant.language.name.less.filter.slim"}}},{"name":"meta.filter.slim text.html.erb.embedded.slim","begin":"^(\\s*)(erb):$","end":"^(?!(\\1\\s)|\\s*$)","patterns":[{"include":"text.html.erb"}],"beginCaptures":{"2":{"name":"constant.language.name.erb.filter.slim"}}},{"name":"comment.block.html.slim","begin":"^(\\s*)((/!)\\s*.*)$","end":"^(?!(\\1\\s)|\\s*$)","beginCaptures":{"2":{"name":"comment.line.slash.slim"},"3":{"name":"punctuation.definition.comment.slim"}}},{"name":"comment.block.slim","begin":"^(\\s*)((/)((\\[).*(\\])).*)$","end":"^(?!(\\1\\s)|\\s*$)","beginCaptures":{"2":{"name":"comment.line.slash.slim"},"3":{"name":"punctuation.definition.comment.slim"},"4":{"name":"meta.brackets.slim"},"5":{"name":"punctuation.section.brackets.begin.slim"},"6":{"name":"punctuation.section.brackets.end.slim"}}},{"name":"comment.block.slim","begin":"^(\\s*)((/)\\s*.*)$","end":"^(?!(\\1\\s)|\\s*$)","beginCaptures":{"2":{"name":"comment.line.slash.slim"},"3":{"name":"punctuation.definition.comment.slim"}}},{"begin":"^\\s*(?=-)","end":"$","patterns":[{"include":"#rubyline"}]},{"begin":"^\\s*(?==+|~)","end":"$","patterns":[{"include":"#rubyline"}]},{"include":"#splat-attribute"},{"include":"#interpolated-ruby"},{"include":"#verbatim-text"},{"match":"^\\s*(doctype)\\s+.*(\\n|$)","captures":{"0":{"name":"meta.tag.sgml.doctype.slim"}}},{"name":"meta.tag.slim","begin":"(\\s*)(?:([\\w-]+)|(\\.)((?:[\\w-]|(?::(?!\\s)))+(?:/\\d+)?)|(#)((?:[\\w-]|(?::(?!\\s)))+(?:/\\d+)?))","end":"$|(:)(?=\\s)","patterns":[{"include":"#xml-namespace"},{"include":"#class-id-shortcut"},{"include":"#attribute-wrapper"},{"include":"#splat-attribute"},{"include":"#whitespace-modifier"},{"include":"#rubyline"},{"include":"#tag-attribute"},{"include":"#whitespace"},{"include":"#closed-tag-terminator"},{"include":"#inline-text"}],"beginCaptures":{"2":{"name":"entity.name.tag.slim"},"3":{"name":"punctuation.definition.attribute.class.slim"},"4":{"name":"entity.other.attribute-name.class.html"},"5":{"name":"punctuation.definition.attribute.id.slim"},"6":{"name":"entity.other.attribute-name.id.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.slim"}}},{"match":"^\\s*(\\\\.)","captures":{"1":{"name":"meta.escape.slim"}}},{"include":"#inline-text"}],"repository":{"attribute-wrapper":{"patterns":[{"include":"#attribute-wrapper-parens"},{"include":"#attribute-wrapper-brackets"},{"include":"#attribute-wrapper-braces"}]},"attribute-wrapper-braces":{"name":"meta.braces.slim","begin":"\\{","end":"\\}","patterns":[{"include":"#tag-attribute-wrapped"},{"include":"#tag-boolean-attribute"}],"beginCaptures":{"0":{"name":"punctuation.section.braces.begin.slim"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.slim"}}},"attribute-wrapper-brackets":{"name":"meta.brackets.slim","begin":"\\[","end":"\\]","patterns":[{"include":"#tag-attribute-wrapped"},{"include":"#tag-boolean-attribute"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.slim"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.slim"}}},"attribute-wrapper-parens":{"name":"meta.parens.slim","begin":"\\(","end":"\\)","patterns":[{"include":"#tag-attribute-wrapped"},{"include":"#tag-boolean-attribute"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.slim"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.slim"}}},"boolean-attribute-value":{"name":"constant.language.slim","begin":"true|false|nil","end":"(?=\\s)|$"},"class-id-shortcut":{"patterns":[{"include":"#class-shortcut"},{"include":"#id-shortcut"}]},"class-shortcut":{"match":"(\\.)((?:[\\w-]|(?::(?!\\s)))+(?:/\\d+)?)","captures":{"1":{"name":"punctuation.definition.attribute.class.slim"},"2":{"name":"entity.other.attribute-name.class.html"}}},"closed-tag-terminator":{"name":"punctuation.terminator.tag.slim","match":"\\s*/\\s*"},"continuation":{"match":"([\\\\,])\\s*\\n","captures":{"1":{"name":"punctuation.separator.continuation.slim"}}},"delimited-ruby-group":{"name":"meta.embedded.slim meta.string.ruby source.ruby.embedded.slim entity.other.slim.ruby-attribute-delimited","contentName":"meta.source.ruby","begin":"\\(","end":"(\\))(?=(\\s|\\]|\\}$))","patterns":[{"include":"source.ruby"}],"beginCaptures":{"0":{"name":"punctuation.definition.group.begin.slim"}},"endCaptures":{"1":{"name":"punctuation.definition.group.end.slim"}}},"entities":{"patterns":[{"name":"constant.character.entity.html","match":"(\u0026)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.entity.html"},"3":{"name":"punctuation.definition.entity.html"}}},{"name":"invalid.illegal.bad-ampersand.html","match":"\u0026"}]},"id-shortcut":{"match":"(#)((?:[\\w-]|(?::(?!\\s)))+(?:/\\d+)?)","captures":{"1":{"name":"punctuation.definition.attribute.id.slim"},"2":{"name":"entity.other.attribute-name.id.html"}}},"inline-text":{"name":"meta.embedded.slim text.html.embedded.slim entity.other.slim.inline-text","begin":"(?=.)","end":"(?\u003c!\\\\\\n)$","patterns":[{"include":"text.html.basic"},{"include":"#interpolated-ruby"},{"match":"([^#\u003c]|\\\\#|\\\\\\\u003c)*\\n"}]},"interpolated-ruby":{"name":"meta.interpolation.slim meta.string.ruby source.ruby.embedded.slim","begin":"(?\u003c!\\\\)#\\{{1,2}","end":"\\}{1,2}","patterns":[{"include":"source.ruby"}],"beginCaptures":{"0":{"name":"punctuation.section.interpolation.begin.slim"}},"endCaptures":{"0":{"name":"punctuation.section.interpolation.end.slim"}}},"ruby-attribute-array":{"name":"meta.embedded.slim meta.string.ruby source.ruby.embedded.slim entity.other.slim.ruby-attribute-array","begin":"(?=\\[)","end":"(?\u003c=\\])","patterns":[{"include":"source.ruby"}]},"ruby-attribute-hash":{"name":"meta.embedded.slim meta.string.ruby source.ruby.embedded.slim entity.other.slim.ruby-attribute-hash","begin":"(?=\\{)","end":"(?\u003c=\\})","patterns":[{"include":"source.ruby"}]},"ruby-attribute-symbol-array":{"name":"meta.embedded.slim meta.string.ruby source.ruby.embedded.slim entity.other.slim.ruby-attribute-symbol-array","begin":"=?(?=:)","end":"(?=\\s|\\)|\\]|\\})|$","patterns":[{"include":"source.ruby"}]},"ruby-attribute-value":{"name":"meta.embedded.slim meta.string.ruby source.ruby.embedded.slim entity.other.slim.ruby-attribute-value","begin":"(?=\\b)","end":"(?=\\s)|$","patterns":[{"include":"source.ruby"}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.slim"}}},"ruby-attribute-value-wrapped":{"name":"meta.embedded.slim meta.string.ruby source.ruby.embedded.slim entity.other.slim.ruby-attribute-value-wrapped","begin":"(?=\\b)","end":"(?=\\)|\\]|\\})|$","patterns":[{"include":"source.ruby"}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.slim"}}},"rubyline":{"name":"meta.embedded.slim meta.line.ruby.slim","contentName":"meta.embedded.slim meta.string.ruby source.ruby.embedded.slim entity.other.slim.ruby-line","begin":"(==|=)(\u003c\u003e|\u003e\u003c|\u003c'|'\u003c|\u003c|\u003e)?|-\\s*","end":"(do\\s*\\n$)|(?\u003c!\\\\|,|,\\n|\\\\\\n)$","patterns":[{"name":"comment.line.number-sign.ruby","match":"#.*$"},{"include":"#continuation"},{"include":"source.ruby"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.slim"},"2":{"name":"keyword.operator.whitespace.slim"}},"endCaptures":{"1":{"name":"keyword.control.start-block.ruby"}}},"splat-attribute":{"patterns":[{"include":"#splat-attribute-hash"},{"include":"#splat-attribute-direct"}]},"splat-attribute-direct":{"name":"meta.embedded.slim source.ruby.embedded.slim entity.other.slim.splat-attribute","begin":"\\*","end":"(?=\\s)|$","patterns":[{"include":"source.ruby"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.ruby"}}},"splat-attribute-hash":{"name":"meta.embedded.slim source.ruby.embedded.slim entity.other.slim.splat-attribute","begin":"\\*\\{","end":"\\}","patterns":[{"include":"source.ruby"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.ruby"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.ruby"}}},"string-double-quoted":{"name":"meta.string.html string.quoted.double.html","begin":"(\")(?=.*(\"|\\\\?$))","end":"\"","patterns":[{"include":"#interpolated-ruby"},{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},"string-single-quoted":{"name":"meta.string.html string.quoted.single.html","begin":"(')(?=.*('|\\\\$))","end":"'","patterns":[{"include":"#interpolated-ruby"},{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},"tag-attribute":{"name":"meta.attribute-with-value.slim","begin":"([\\w-]+)\\s*(==?)\\s*","end":"(?=(?::?\\s))|$","patterns":[{"include":"#string-double-quoted"},{"include":"#string-single-quoted"},{"include":"#boolean-attribute-value"},{"include":"#delimited-ruby-group"},{"include":"#ruby-attribute-array"},{"include":"#ruby-attribute-hash"},{"include":"#ruby-attribute-symbol-array"},{"include":"#ruby-attribute-value"}],"captures":{"1":{"name":"entity.other.attribute-name.slim"},"2":{"name":"punctuation.separator.key-value.slim"}}},"tag-attribute-wrapped":{"name":"meta.attribute-with-value.slim","begin":"([\\w-]+)\\s*(==?)\\s*","end":"(?=(?:\\)|\\]|\\}))|$","patterns":[{"include":"#string-double-quoted"},{"include":"#string-single-quoted"},{"include":"#boolean-attribute-value"},{"include":"#delimited-ruby-group"},{"include":"#ruby-attribute-array"},{"include":"#ruby-attribute-hash"},{"include":"#ruby-attribute-symbol-array"},{"include":"#ruby-attribute-value-wrapped"}],"captures":{"1":{"name":"entity.other.attribute-name.slim"},"2":{"name":"punctuation.separator.key-value.slim"}}},"tag-boolean-attribute":{"name":"meta.attribute-with-value.slim entity.other.attribute-name.slim","begin":"([\\w-]+)\\s*","end":"(?=(?::?\\s|\\)|\\]|\\}))|$"},"verbatim-text":{"contentName":"text.html.embedded.slim","begin":"^(\\s*)([|'](\u003c |\u003e |\u003c\u003e |\u003e\u003c )?)\\s*","end":"^(?!(\\1\\s)|\\s*$)","patterns":[{"include":"text.html.basic"},{"include":"#interpolated-ruby"}],"beginCaptures":{"2":{"name":"punctuation.section.verbatim.slim"}}},"whitespace":{"name":"text.html.embedded.whitespace.slim","match":"\\s+"},"whitespace-modifier":{"name":"keyword.operator.whitespace.slim","match":"(?\u003c!\\s)(?:\\\u003e|\\\u003c|\\\u003c\\\u003e|\\\u003e\\\u003c)"},"xml-namespace":{"name":"entity.name.tag.slim","match":"(:[\\w-]+)+"}}}
@@ -0,0 +1 @@
1
+ {"name":"Mathematical Programming System","scopeName":"text.source.mps","patterns":[{"include":"#sections"},{"include":"#constraints"},{"include":"#bounds"},{"include":"#columns"},{"include":"#infinity"},{"include":"#variables"},{"include":"#numbers"},{"include":"#comments"},{"include":"#braces"},{"include":"#parentheses"}],"repository":{"bounds":{"patterns":[{"name":"keyword.bound.mps","match":"(?i)\\b(UP|LO|FX|FR|MI|PL)\\b"}]},"braces":{"patterns":[{"name":"punctuation.definition.block.mps","match":"[{}]"}]},"columns":{"patterns":[{"name":"meta.column.mps","match":"^(\\s{0,2}[A-Za-z0-9]+)\\s+([A-Za-z0-9_]+)\\s+(-?\\d+(\\.\\d+)?|Infinity)\\b","captures":{"1":{"name":"variable.mps"},"2":{"name":"keyword.constraint.mps"},"3":{"name":"constant.numeric.mps"}}}]},"comments":{"patterns":[{"name":"comment.line.mps","begin":"\\*","end":"$"}]},"constraints":{"patterns":[{"name":"keyword.constraint.mps","match":"(?i)\\b(E|L|G|N)\\b"}]},"infinity":{"patterns":[{"name":"constant.language.infinity.mps","match":"(?i)\\bInfinity\\b"}]},"numbers":{"patterns":[{"name":"constant.numeric.mps","match":"\\b\\d+(\\.\\d+)?\\b"}]},"parentheses":{"patterns":[{"name":"punctuation.definition.group.mps","match":"[()]"}]},"sections":{"patterns":[{"name":"keyword.section.mps","match":"(?i)\\b(NAME|ROWS|COLUMNS|RHS|BOUNDS|ENDATA|RANGES)\\b"}]},"variables":{"patterns":[{"name":"variable.mps","match":"\\b[A-Za-z_][A-Za-z0-9_]*\\b"}]}}}
@@ -1 +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"}]}}}
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.sourcepawn","match":"[0-9]+\\.[0-9]+"},{"name":"constant.numeric.sourcepawn","match":"\\b0b[0-1]+\\b"},{"name":"constant.numeric.sourcepawn","match":"\\b0o[0-7]+\\b"},{"name":"constant.numeric.sourcepawn","match":"\\b0x[0-9a-fA-F]+\\b"},{"name":"constant.numeric.integer.sourcepawn","match":"\\b\\d+\\b"},{"name":"invalid.illegal.constant.sourcepawn","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":"v.mod","patterns":[{"include":"#module-decl"},{"include":"#brackets"},{"include":"#field"},{"include":"#string-placeholder"}],"repository":{"brackets":{"patterns":[{"begin":"{","end":"}","beginCaptures":{"0":{"name":"punctuation.definition.bracket.curly.begin.v.mod"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.curly.end.v.mod"}}}]},"field":{"name":"meta.definition.field.$1.v.mod","match":"\\b'([\\w]+)':\\s*'([\\w]*)'\\s*"},"module-decl":{"name":"keyword.module.v.mod","match":"(\\bModule)"},"string":{"name":"meta.definition.string.v.mod","begin":"'","end":"'","patterns":[{"include":"#string-placeholder"}],"beginCaptures":{"0":{"name":"storage.type.string.v.mod"}},"endCaptures":{"0":{"name":"storage.type.string.v.mod"}}},"string-placeholder":{"name":"constant.other.placeholder.v.mod","match":"%(\\[\\d+\\])?([\\+#\\-0\\x20]{,2}((\\d+|\\*)?(\\.?(\\d+|\\*|(\\[\\d+\\])\\*?)?(\\[\\d+\\])?)?))?[vT%tbcdoqxXUbeEfFgGsp]"}}}
data/grammars/version CHANGED
@@ -1 +1 @@
1
- 9.3.0
1
+ 9.4.0
@@ -1 +1 @@
1
- {"scopeName":"vue.directives","patterns":[{"include":"source.vue#vue-directives"}]}
1
+ {"scopeName":"vue.directives","patterns":[{"include":"text.html.vue#vue-directives"}]}
@@ -1 +1 @@
1
- {"scopeName":"vue.interpolations","patterns":[{"include":"source.vue#vue-interpolations"}]}
1
+ {"scopeName":"vue.interpolations","patterns":[{"include":"text.html.vue#vue-interpolations"}]}
@@ -0,0 +1 @@
1
+ {"scopeName":"vue.sfc.script.leading-operator-fix","patterns":[{"match":"^\\s*(\u003c)(?=\\s+[_$[:alpha:]])","captures":{"1":{"name":"keyword.operator.relational.js"}}}]}
data/lib/linguist/VERSION CHANGED
@@ -1 +1 @@
1
- 9.3.0
1
+ 9.4.0
@@ -75,6 +75,7 @@ module Linguist
75
75
  esy_lock? ||
76
76
  npm_shrinkwrap_or_package_lock? ||
77
77
  pnpm_lock? ||
78
+ bun_lock? ||
78
79
  terraform_lock? ||
79
80
  generated_yarn_plugnplay? ||
80
81
  godeps? ||
@@ -89,6 +90,8 @@ module Linguist
89
90
  generated_postscript? ||
90
91
  compiled_cython_file? ||
91
92
  pipenv_lock? ||
93
+ gradle_wrapper? ||
94
+ maven_wrapper? ||
92
95
  generated_go? ||
93
96
  generated_protocol_buffer_from_go? ||
94
97
  generated_protocol_buffer? ||
@@ -501,6 +504,13 @@ module Linguist
501
504
  !!name.match(/pnpm-lock\.yaml/)
502
505
  end
503
506
 
507
+ # Internal: Is the blob a generated bun lockfile?
508
+ #
509
+ # Returns true or false.
510
+ def bun_lock?
511
+ !!name.match(/(?:^|\/)bun\.lockb?$/)
512
+ end
513
+
504
514
  # Internal: Is the blob a generated Yarn Plug'n'Play?
505
515
  #
506
516
  # Returns true or false.
@@ -558,6 +568,20 @@ module Linguist
558
568
  !!name.match(/(^|\/)MODULE\.bazel\.lock$/)
559
569
  end
560
570
 
571
+ # Internal: Is the blob a generated gradle wrapper file?
572
+ #
573
+ # Returns true or false.
574
+ def gradle_wrapper?
575
+ !!name.match(/(?:^|\/)gradlew(?:\.bat)?$/i)
576
+ end
577
+
578
+ # Internal: Is the blob a generated maven wrapper file?
579
+ #
580
+ # Returns true or false.
581
+ def maven_wrapper?
582
+ !!name.match(/(?:^|\/)mvnw(?:\.cmd)?$/i)
583
+ end
584
+
561
585
  # Is the blob a VCR Cassette file?
562
586
  #
563
587
  # Returns true or false
@@ -15,6 +15,7 @@ extensions:
15
15
  - ".8"
16
16
  - ".9"
17
17
  - ".action"
18
+ - ".alg"
18
19
  - ".app"
19
20
  - ".cmp"
20
21
  - ".msg"
@@ -41,6 +41,7 @@ disambiguations:
41
41
  - named_pattern: man-heading
42
42
  - language: Roff
43
43
  pattern: '^\.(?:[A-Za-z]{2}(?:\s|$)|\\")'
44
+ - language: Text
44
45
  - extensions: ['.1in', '.1m', '.1x', '.3in', '.3m', '.3p', '.3pm', '.3qt', '.3x', '.man', '.mdoc']
45
46
  rules:
46
47
  - language: Roff Manpage
@@ -57,7 +58,7 @@ disambiguations:
57
58
  rules:
58
59
  - language: ROS Interface
59
60
  and:
60
- - pattern: '^[a-z][a-z0-9_]*(?:\/[a-zA-Z]\w*)?(?:<=\d+)?(?:\[(?:<=\d+)?\])?\s+\w+\b'
61
+ - pattern: '(?i)^[a-z]\w*(?:\/[a-z]\w*)?(?:<=\d+)?(?:\[(?:<=\d+)?\])?\s+\w+\b'
61
62
  - pattern: '^---\s*$'
62
63
  - negative_pattern: '^\s*[^\s@#\w-]'
63
64
  - extensions: ['.al']
@@ -68,6 +69,17 @@ disambiguations:
68
69
  - pattern: '\b(?i:(CODEUNIT|PAGE|PAGEEXTENSION|PAGECUSTOMIZATION|DOTNET|ENUM|ENUMEXTENSION|VALUE|QUERY|REPORT|TABLE|TABLEEXTENSION|XMLPORT|PROFILE|CONTROLADDIN|REPORTEXTENSION|INTERFACE|PERMISSIONSET|PERMISSIONSETEXTENSION|ENTITLEMENT))\b'
69
70
  # Open-ended fallback to Perl AutoLoader
70
71
  - language: Perl
72
+ - extensions: ['.alg']
73
+ rules:
74
+ - language: ALGOL
75
+ pattern:
76
+ # ALGOL 60 comments
77
+ - '(?i)^comment\b.*(;|comment)'
78
+ # ALGOL 68 comments
79
+ - '^#[^#\r\n]+#$'
80
+ # ALGOL 60/68 keywords
81
+ - '(?i)\b(integer|real|boolean|string)\b\s+\w+\s*:=\s*'
82
+ - '(?i)^begin[\s\S]*^end'
71
83
  - extensions: ['.app']
72
84
  rules:
73
85
  - language: Erlang
@@ -139,6 +151,8 @@ disambiguations:
139
151
  and:
140
152
  - pattern: '(?i)^[ \t]*return '
141
153
  - negative_pattern: '(?i)[ \t]*gosub '
154
+ - language: QuickBASIC
155
+ named_pattern: quickbasic
142
156
  - extensions: ['.bs']
143
157
  rules:
144
158
  - language: Bikeshed
@@ -189,6 +203,8 @@ disambiguations:
189
203
  pattern: '^\s*\\(?:NeedsTeXFormat|ProvidesClass)\{'
190
204
  - language: ObjectScript
191
205
  pattern: '^Class\s'
206
+ - language: OpenEdge ABL
207
+ pattern: '(?i)^\s*(?:end\s+(?:class|interface)\.|(?:class|interface)\s+[a-z_][a-z0-9_#$%&-]*:)'
192
208
  - extensions: ['.cmp']
193
209
  rules:
194
210
  - language: Gerber Image
@@ -425,6 +441,18 @@ disambiguations:
425
441
  - language: OASv3-json
426
442
  pattern: '"openapi":\s?"3.[0-9.]+"'
427
443
  - language: JSON
444
+ - extensions: ['.k']
445
+ rules:
446
+ - language: KCL
447
+ pattern:
448
+ - '^schema [A-Za-z0-9_-]+'
449
+ - '^\}$'
450
+ - '\s*\}\s*'
451
+ - language: KFramework
452
+ pattern:
453
+ - '^requires\s+"[^"]+"$'
454
+ - '^syntax\s+\w+\s+::=.*'
455
+ - '^endmodule$'
428
456
  - extensions: ['.l']
429
457
  rules:
430
458
  - language: Common Lisp
@@ -443,9 +471,15 @@ disambiguations:
443
471
  pattern: '^import [A-Z]'
444
472
  - extensions: ['.lp']
445
473
  rules:
474
+ - language: Lambdapi
475
+ pattern: '(?:^|\s)symbol(?:$|\s)|(?:^|\s)rule(?:$|\s)'
446
476
  - language: Linear Programming
447
- pattern: '^(?i:minimize|minimum|min|maximize|maximum|max)(?i:\s+multi-objectives)?$'
477
+ pattern: '(?i)^\s*(?:minimize|minimum|min|maximize|maximum|max)(?:\s+multi-objectives)?\s*$'
448
478
  - language: Answer Set Programming
479
+ pattern:
480
+ - '^\s*#(?:include|const|program|script|show|minimize|maximize|heuristic|project|edge|theory|defined)\b'
481
+ - '^\s*(?:[A-Za-z_]\w*(?:\([^)]*\))?\s*:-|:-)\s[^.]*\.'
482
+ - '^\s*[a-z_][a-zA-Z0-9_]*(?:\([^)]*\))?\s*\.\s*$'
449
483
  - extensions: ['.ls']
450
484
  rules:
451
485
  - language: LoomScript
@@ -467,7 +501,7 @@ disambiguations:
467
501
  pattern: '^: '
468
502
  - language: M
469
503
  pattern: '^\s*;'
470
- - language: Mathematica
504
+ - language: Wolfram Language
471
505
  and:
472
506
  - pattern: '\(\*'
473
507
  - pattern: '\*\)$'
@@ -524,6 +558,12 @@ disambiguations:
524
558
  pattern: '^\s*(alias|def|from|fn|import|struct|trait)\s'
525
559
  - language: XML
526
560
  pattern: '^\s*<\?xml'
561
+ - extensions: ['.mps']
562
+ rules:
563
+ - language: JetBrains MPS
564
+ pattern: '<persistence'
565
+ - language: Mathematical Programming System
566
+ pattern: '(?i)^\s*(ROWS|COLUMNS)\s*$'
527
567
  - extensions: ['.ms']
528
568
  rules:
529
569
  - language: Roff
@@ -539,7 +579,7 @@ disambiguations:
539
579
  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
580
  - language: ROS Interface
541
581
  and:
542
- - pattern: '^[a-z][a-z0-9_]*(?:\/[a-zA-Z]\w*)?(?:<=\d+)?(?:\[(?:<=\d+)?\])?\s+\w+\b'
582
+ - pattern: '(?i)^[a-z]\w*(?:\/[a-z]\w*)?(?:<=\d+)?(?:\[(?:<=\d+)?\])?\s+\w+\b'
543
583
  - negative_pattern: '^\s*[^\s@#\w-]'
544
584
  - extensions: ['.n']
545
585
  rules:
@@ -594,6 +634,9 @@ disambiguations:
594
634
  - '^s?plot\b'
595
635
  - '^set\s+(term|terminal|out|output|[xy]tics|[xy]label|[xy]range|style)\b'
596
636
  - language: OpenEdge ABL
637
+ pattern:
638
+ - '(?i)\bDEFINE\s+(?:VARIABLE|TEMP-TABLE|BUFFER|QUERY|INPUT\s+PARAMETER|OUTPUT\s+PARAMETER)\b'
639
+ - '(?i)\bEND(?:\s+(?:PROCEDURE|FUNCTION|DO|FOR\s+EACH))?\.'
597
640
  - extensions: ['.php']
598
641
  rules:
599
642
  - language: Hack
@@ -805,7 +848,7 @@ disambiguations:
805
848
  rules:
806
849
  - language: ROS Interface
807
850
  and:
808
- - pattern: '^[a-z][a-z0-9_]*(?:\/[a-zA-Z]\w*)?(?:<=\d+)?(?:\[(?:<=\d+)?\])?\s+\w+\b'
851
+ - pattern: '(?i)^[a-z]\w*(?:\/[a-z]\w*)?(?:<=\d+)?(?:\[(?:<=\d+)?\])?\s+\w+\b'
809
852
  - pattern: '^---\s*$'
810
853
  - negative_pattern: '^\s*[^\s@#\w-]'
811
854
  - extensions: ['.st']
@@ -853,6 +896,13 @@ disambiguations:
853
896
  rules:
854
897
  - language: Java Server Pages
855
898
  pattern: '<%[@!=\s]?\s*(taglib|tag|include|attribute|variable)\s'
899
+ - extensions: ['.tl']
900
+ rules:
901
+ - language: Teal
902
+ and:
903
+ - pattern: '--.*'
904
+ - pattern: '\b(local|function|end|record|interface|enum)\b'
905
+ - language: Type Language
856
906
  - extensions: ['.tlv']
857
907
  rules:
858
908
  - language: TL-Verilog
@@ -863,6 +913,12 @@ disambiguations:
863
913
  pattern: '^## |@no-lib-strip@'
864
914
  - language: TeX
865
915
  pattern: '^\\(contentsline|defcounter|beamer|boolfalse)'
916
+ - extensions: ['.tpl']
917
+ rules:
918
+ - language: Go Template
919
+ pattern: '\{\{-?\s*(\`?\"\\?\"?|\/\*\s|\w*)\b'
920
+ - language: Smarty
921
+ pattern: '(?<!\{)\{(\*\s|\$|\/)?\w*\b'
866
922
  - extensions: ['.ts']
867
923
  rules:
868
924
  - language: XML
@@ -955,7 +1011,7 @@ disambiguations:
955
1011
  - language: Rocq Prover
956
1012
  pattern: '(?:^|\s)(?:Proof|Qed)\.(?:$|\s)|(?:^|\s)Require[ \t]+(Import|Export)\s'
957
1013
  - language: Verilog
958
- pattern: '^[ \t]*module\s+[^\s()]+\s+\#?\(|^[ \t]*`(?:define|ifdef|ifndef|include|timescale)|^[ \t]*always[ \t]+@|^[ \t]*initial[ \t]+(begin|@)'
1014
+ pattern: '^[ \t]*module\s+[^\s()]+\s*\#?\(|^[ \t]*`(?:define|ifdef|ifndef|include|timescale|pragma)|^[ \t]*always[ \t]*@|^[ \t]*initial[ \t]*(begin|@)'
959
1015
  - language: V
960
1016
  pattern: '\$(?:if|else)[ \t]|^[ \t]*fn\s+[^\s()]+\(.*?\).*?\{|^[ \t]*for\s*\{'
961
1017
  - extensions: ['.vba']