github-linguist 7.26.0 → 7.28.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. checksums.yaml +4 -4
  2. data/ext/linguist/lex.linguist_yy.c +313 -294
  3. data/ext/linguist/lex.linguist_yy.h +5 -4
  4. data/ext/linguist/tokenizer.l +5 -2
  5. data/grammars/inline.edgeql.json +1 -0
  6. data/grammars/inline.hbs.json +1 -0
  7. data/grammars/inline.template.json +1 -0
  8. data/grammars/markdown.d2.codeblock.json +1 -0
  9. data/grammars/markdown.lean4.codeblock.json +1 -0
  10. data/grammars/markdown.move.codeblock.json +1 -0
  11. data/grammars/mdx.LANGUAGE.codeblock.json +1 -0
  12. data/grammars/source.abap.json +1 -1
  13. data/grammars/source.aidl.json +1 -1
  14. data/grammars/source.al.json +1 -1
  15. data/grammars/source.ballerina.json +1 -1
  16. data/grammars/source.bicep.json +1 -1
  17. data/grammars/source.cds.json +1 -1
  18. data/grammars/source.cobol.json +1 -1
  19. data/grammars/source.cs.json +1 -1
  20. data/grammars/source.d2.json +1 -1
  21. data/grammars/source.dart.json +1 -1
  22. data/grammars/source.denizenscript.json +1 -1
  23. data/grammars/source.directivesmf.json +1 -0
  24. data/grammars/source.dm.json +1 -1
  25. data/grammars/source.earthfile.json +1 -1
  26. data/grammars/source.edgeql.json +1 -0
  27. data/grammars/source.emacs.lisp.json +1 -1
  28. data/grammars/source.fsharp.json +1 -1
  29. data/grammars/source.gdresource.json +1 -1
  30. data/grammars/source.gdscript.json +1 -1
  31. data/grammars/source.genero-4gl.json +1 -0
  32. data/grammars/source.genero-per.json +1 -0
  33. data/grammars/source.gjs.json +1 -0
  34. data/grammars/source.gleam.json +1 -1
  35. data/grammars/source.gsc.json +1 -1
  36. data/grammars/source.gts.json +1 -0
  37. data/grammars/source.hcl.json +1 -0
  38. data/grammars/source.hcl.terraform.json +1 -0
  39. data/grammars/source.ice.json +1 -0
  40. data/grammars/source.igor.json +1 -1
  41. data/grammars/source.julia.json +1 -1
  42. data/grammars/source.kotlin.json +1 -1
  43. data/grammars/source.lean4.json +1 -0
  44. data/grammars/source.lean4.markdown.json +1 -0
  45. data/grammars/source.matlab.json +1 -1
  46. data/grammars/source.mdx.json +1 -1
  47. data/grammars/source.meta-info.json +1 -1
  48. data/grammars/source.mo.json +1 -1
  49. data/grammars/source.nasal.json +1 -1
  50. data/grammars/source.nim.json +1 -1
  51. data/grammars/source.nushell.json +1 -1
  52. data/grammars/source.odin.json +1 -1
  53. data/grammars/source.pic.json +1 -1
  54. data/grammars/source.praat.json +1 -0
  55. data/grammars/source.prisma.json +1 -1
  56. data/grammars/source.ql.json +1 -1
  57. data/grammars/source.raku.json +1 -1
  58. data/grammars/source.rascal.json +1 -1
  59. data/grammars/source.rbs.json +1 -1
  60. data/grammars/source.rego.json +1 -1
  61. data/grammars/source.rescript.json +1 -1
  62. data/grammars/source.rez.json +1 -0
  63. data/grammars/source.rpgle.json +1 -1
  64. data/grammars/source.rust.json +1 -1
  65. data/grammars/source.scala.json +1 -1
  66. data/grammars/source.scenic.json +1 -1
  67. data/grammars/source.sentinel.json +1 -0
  68. data/grammars/source.slice.json +1 -1
  69. data/grammars/source.solidity.json +1 -1
  70. data/grammars/source.stan.json +1 -1
  71. data/grammars/source.swift.json +1 -1
  72. data/grammars/source.talon.json +1 -1
  73. data/grammars/source.textgrid.json +1 -0
  74. data/grammars/source.toit.json +1 -0
  75. data/grammars/source.ts.json +1 -1
  76. data/grammars/source.tsx.json +1 -1
  77. data/grammars/source.typst.json +1 -0
  78. data/grammars/source.vba.json +1 -1
  79. data/grammars/source.viml.json +1 -1
  80. data/grammars/source.vyper.json +1 -1
  81. data/grammars/source.wit.json +1 -1
  82. data/grammars/source.yul.json +1 -1
  83. data/grammars/text.adblock.json +1 -1
  84. data/grammars/text.hash-commented.json +1 -1
  85. data/grammars/text.html.ember-handlebars.json +1 -0
  86. data/grammars/text.html.statamic.json +1 -1
  87. data/grammars/text.md.json +1 -1
  88. data/grammars/text.tex.json +1 -1
  89. data/grammars/text.tex.latex.sweave.json +1 -0
  90. data/grammars/text.xml.svg.json +1 -1
  91. data/grammars/version +1 -1
  92. data/lib/linguist/VERSION +1 -1
  93. data/lib/linguist/generated.rb +14 -4
  94. data/lib/linguist/heuristics.rb +2 -0
  95. data/lib/linguist/heuristics.yml +26 -11
  96. data/lib/linguist/languages.json +1 -1
  97. data/lib/linguist/languages.yml +129 -12
  98. data/lib/linguist/samples.json +1 -1
  99. metadata +35 -14
  100. data/grammars/govulncheck.json +0 -1
  101. data/grammars/source.dmf.json +0 -1
  102. data/grammars/source.genero-forms.json +0 -1
  103. data/grammars/source.genero.json +0 -1
  104. data/grammars/source.nimcfg.json +0 -1
@@ -1 +1 @@
1
- {"name":"TeX","scopeName":"text.tex","patterns":[{"name":"keyword.control.tex","match":"(\\\\)(backmatter|else|fi|frontmatter|ftrue|mainmatter|if(case|cat|dim|eof|false|hbox|hmode|inner|mmode|num|odd|undefined|vbox|vmode|void|x)?)\\b","captures":{"1":{"name":"punctuation.definition.keyword.tex"}}},{"name":"meta.catcode.tex","match":"((\\\\)catcode)`(?:\\\\)?.(=)(\\d+)","captures":{"1":{"name":"keyword.control.catcode.tex"},"2":{"name":"punctuation.definition.keyword.tex"},"3":{"name":"punctuation.separator.key-value.tex"},"4":{"name":"constant.numeric.category.tex"}}},{"begin":"(^[ \\t]+)?(?=%)","end":"(?!\\G)","patterns":[{"name":"comment.line.percentage.semicolon.texshop.tex","begin":"%:","end":"$\\n?","beginCaptures":{"0":{"name":"punctuation.definition.comment.tex"}}},{"name":"comment.line.percentage.directive.texshop.tex","begin":"^(%!TEX) (\\S*) =","end":"$\\n?","beginCaptures":{"1":{"name":"punctuation.definition.comment.tex"}}},{"name":"comment.line.percentage.tex","begin":"%","end":"$\\n?","beginCaptures":{"0":{"name":"punctuation.definition.comment.tex"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.tex"}}},{"name":"meta.group.braces.tex","begin":"\\{","end":"\\}","patterns":[{"include":"$base"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.tex"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.tex"}}},{"name":"punctuation.definition.brackets.tex","match":"[\\[\\]]"},{"name":"string.other.math.block.tex","begin":"\\$\\$","end":"\\$\\$","patterns":[{"include":"#math"},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.tex"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.tex"}}},{"name":"constant.character.newline.tex","match":"\\\\\\\\"},{"name":"string.other.math.tex","begin":"\\$","end":"\\$","patterns":[{"name":"constant.character.escape.tex","match":"\\\\\\$"},{"include":"#math"},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.tex"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.tex"}}},{"name":"support.function.general.tex","match":"(\\\\)[A-Za-z@]+","captures":{"1":{"name":"punctuation.definition.function.tex"}}},{"name":"constant.character.escape.tex","match":"(\\\\)[^a-zA-Z@]","captures":{"1":{"name":"punctuation.definition.keyword.tex"}}},{"name":"meta.placeholder.greek.tex","match":"«press a-z and space for greek letter»[a-zA-Z]*"}],"repository":{"math":{"patterns":[{"name":"constant.character.math.tex","match":"(\\\\)(s(s(earrow|warrow|lash)|h(ort(downarrow|uparrow|parallel|leftarrow|rightarrow|mid)|arp)|tar|i(gma|m(eq)?)|u(cc(sim|n(sim|approx)|curlyeq|eq|approx)?|pset(neq(q)?|plus(eq)?|eq(q)?)?|rd|m|bset(neq(q)?|plus(eq)?|eq(q)?)?)|p(hericalangle|adesuit)|e(tminus|arrow)|q(su(pset(eq)?|bset(eq)?)|c(up|ap)|uare)|warrow|m(ile|all(s(etminus|mile)|frown)))|h(slash|ook(leftarrow|rightarrow)|eartsuit|bar)|R(sh|ightarrow|e|bag)|Gam(e|ma)|n(s(hort(parallel|mid)|im|u(cc(eq)?|pseteq(q)?|bseteq))|Rightarrow|n(earrow|warrow)|cong|triangle(left(eq(slant)?)?|right(eq(slant)?)?)|i(plus)?|u|p(lus|arallel|rec(eq)?)|e(q|arrow|g|xists)|v(dash|Dash)|warrow|le(ss|q(slant|q)?|ft(arrow|rightarrow))|a(tural|bla)|VDash|rightarrow|g(tr|eq(slant|q)?)|mid|Left(arrow|rightarrow))|c(hi|irc(eq|le(d(circ|S|dash|ast)|arrow(left|right)))?|o(ng|prod|lon|mplement)|dot(s|p)?|u(p|r(vearrow(left|right)|ly(eq(succ|prec)|vee(downarrow|uparrow)?|wedge(downarrow|uparrow)?)))|enterdot|lubsuit|ap)|Xi|Maps(to(char)?|from(char)?)|B(ox|umpeq|bbk)|t(h(ick(sim|approx)|e(ta|refore))|imes|op|wohead(leftarrow|rightarrow)|a(u|lloblong)|riangle(down|q|left(eq(slant)?)?|right(eq(slant)?)?)?)|i(n(t(er(cal|leave))?|plus|fty)?|ota|math)|S(igma|u(pset|bset))|zeta|o(slash|times|int|dot|plus|vee|wedge|lessthan|greaterthan|m(inus|ega)|b(slash|long|ar))|d(i(v(ideontimes)?|a(g(down|up)|mond(suit)?)|gamma)|o(t(plus|eq(dot)?)|ublebarwedge|wn(harpoon(left|right)|downarrows|arrow))|d(ots|agger)|elta|a(sh(v|leftarrow|rightarrow)|leth|gger))|Y(down|up|left|right)|C(up|ap)|u(n(lhd|rhd)|p(silon|harpoon(left|right)|downarrow|uparrows|lus|arrow)|lcorner|rcorner)|jmath|Theta|Im|p(si|hi|i(tchfork)?|erp|ar(tial|allel)|r(ime|o(d|pto)|ec(sim|n(sim|approx)|curlyeq|eq|approx)?)|m)|e(t(h|a)|psilon|q(slant(less|gtr)|circ|uiv)|ll|xists|mptyset)|Omega|D(iamond|ownarrow|elta)|v(d(ots|ash)|ee(bar)?|Dash|ar(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|curly(vee|wedge)|t(heta|imes|riangle(left|right)?)|o(slash|circle|times|dot|plus|vee|wedge|lessthan|ast|greaterthan|minus|b(slash|ar))|p(hi|i|ropto)|epsilon|kappa|rho|bigcirc))|kappa|Up(silon|downarrow|arrow)|Join|f(orall|lat|a(t(s(emi|lash)|bslash)|llingdotseq)|rown)|P(si|hi|i)|w(p|edge|r)|l(hd|n(sim|eq(q)?|approx)|ceil|times|ightning|o(ng(left(arrow|rightarrow)|rightarrow|maps(to|from))|zenge|oparrow(left|right))|dot(s|p)|e(ss(sim|dot|eq(qgtr|gtr)|approx|gtr)|q(slant|q)?|ft(slice|harpoon(down|up)|threetimes|leftarrows|arrow(t(ail|riangle))?|right(squigarrow|harpoons|arrow(s|triangle|eq)?))|adsto)|vertneqq|floor|l(c(orner|eil)|floor|l|bracket)?|a(ngle|mbda)|rcorner|bag)|a(s(ymp|t)|ngle|pprox(eq)?|l(pha|eph)|rrownot|malg)|V(dash|vdash)|r(h(o|d)|ceil|times|i(singdotseq|ght(s(quigarrow|lice)|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(t(ail|riangle))?|rightarrows))|floor|angle|r(ceil|parenthesis|floor|bracket)|bag)|g(n(sim|eq(q)?|approx)|tr(sim|dot|eq(qless|less)|less|approx)|imel|eq(slant|q)?|vertneqq|amma|g(g)?)|Finv|xi|m(ho|i(nuso|d)|o(o|dels)|u(ltimap)?|p|e(asuredangle|rge)|aps(to|from(char)?))|b(i(n(dnasrepma|ampersand)|g(s(tar|qc(up|ap))|nplus|c(irc|u(p|rly(vee|wedge))|ap)|triangle(down|up)|interleave|o(times|dot|plus)|uplus|parallel|vee|wedge|box))|o(t|wtie|x(slash|circle|times|dot|plus|empty|ast|minus|b(slash|ox|ar)))|u(llet|mpeq)|e(cause|t(h|ween|a))|lack(square|triangle(down|left|right)?|lozenge)|a(ck(s(im(eq)?|lash)|prime|epsilon)|r(o|wedge))|bslash)|L(sh|ong(left(arrow|rightarrow)|rightarrow|maps(to|from))|eft(arrow|rightarrow)|leftarrow|ambda|bag)|Arrownot)\\b","captures":{"1":{"name":"punctuation.definition.constant.math.tex"}}},{"name":"constant.character.math.tex","match":"(\\\\)(sum|prod|coprod|int|oint|bigcap|bigcup|bigsqcup|bigvee|bigwedge|bigodot|bigotimes|bogoplus|biguplus)\\b","captures":{"1":{"name":"punctuation.definition.constant.math.tex"}}},{"name":"constant.other.math.tex","match":"(\\\\)(arccos|arcsin|arctan|arg|cos|cosh|cot|coth|csc|deg|det|dim|exp|gcd|hom|inf|ker|lg|lim|liminf|limsup|ln|log|max|min|pr|sec|sin|sinh|sup|tan|tanh)\\b","captures":{"1":{"name":"punctuation.definition.constant.math.tex"}}},{"name":"meta.embedded.line.r","contentName":"support.function.sexpr.math.tex","begin":"((\\\\)Sexpr(\\{))","end":"(((\\})))","patterns":[{"name":"source.r","begin":"\\G(?!\\})","end":"(?=\\})","patterns":[{"include":"source.r"}]}],"beginCaptures":{"1":{"name":"support.function.sexpr.math.tex"},"2":{"name":"punctuation.definition.function.math.tex"},"3":{"name":"punctuation.section.embedded.begin.math.tex"}},"endCaptures":{"1":{"name":"support.function.sexpr.math.tex"},"2":{"name":"punctuation.section.embedded.end.math.tex"},"3":{"name":"source.r"}}},{"name":"constant.other.general.math.tex","match":"(\\\\)([^a-zA-Z]|[A-Za-z]+)(?=\\b|\\}|\\]|\\^|\\_)","captures":{"1":{"name":"punctuation.definition.constant.math.tex"}}},{"name":"constant.numeric.math.tex","match":"(([0-9]*[\\.][0-9]+)|[0-9]+)"},{"name":"meta.placeholder.greek.math.tex","match":"«press a-z and space for greek letter»[a-zA-Z]*"}]}}}
1
+ {"name":"TeX","scopeName":"text.tex","patterns":[{"name":"keyword.control.tex","match":"(\\\\)(backmatter|csname|else|endcsname|fi|frontmatter|mainmatter|unless|if(case|cat|csname|defined|dim|eof|false|fontchar|hbox|hmode|inner|mmode|num|odd|true|vbox|vmode|void|x)?)\\b","captures":{"1":{"name":"punctuation.definition.keyword.tex"}}},{"name":"meta.catcode.tex","match":"((\\\\)catcode)`(?:\\\\)?.(=)(\\d+)","captures":{"1":{"name":"keyword.control.catcode.tex"},"2":{"name":"punctuation.definition.keyword.tex"},"3":{"name":"punctuation.separator.key-value.tex"},"4":{"name":"constant.numeric.category.tex"}}},{"begin":"(^[ \\t]+)?(?=%)","end":"(?!\\G)","patterns":[{"name":"comment.line.percentage.semicolon.texshop.tex","begin":"%:","end":"$\\n?","beginCaptures":{"0":{"name":"punctuation.definition.comment.tex"}}},{"name":"comment.line.percentage.directive.texshop.tex","begin":"^(%!TEX) (\\S*) =","end":"$\\n?","beginCaptures":{"1":{"name":"punctuation.definition.comment.tex"}}},{"name":"comment.line.percentage.tex","begin":"%","end":"$\\n?","beginCaptures":{"0":{"name":"punctuation.definition.comment.tex"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.tex"}}},{"name":"meta.group.braces.tex","begin":"\\{","end":"\\}","patterns":[{"include":"$base"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.tex"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.tex"}}},{"name":"punctuation.definition.brackets.tex","match":"[\\[\\]]"},{"name":"string.other.math.block.tex","begin":"\\$\\$","end":"\\$\\$","patterns":[{"include":"#math"},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.tex"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.tex"}}},{"name":"constant.character.newline.tex","match":"\\\\\\\\"},{"name":"string.other.math.tex","begin":"\\$","end":"\\$","patterns":[{"name":"constant.character.escape.tex","match":"\\\\\\$"},{"include":"#math"},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.tex"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.tex"}}},{"name":"support.function.general.tex","match":"(\\\\)[A-Za-z@]+","captures":{"1":{"name":"punctuation.definition.function.tex"}}},{"name":"constant.character.escape.tex","match":"(\\\\)[^a-zA-Z@]","captures":{"1":{"name":"punctuation.definition.keyword.tex"}}},{"name":"meta.placeholder.greek.tex","match":"«press a-z and space for greek letter»[a-zA-Z]*"}],"repository":{"math":{"patterns":[{"name":"constant.character.math.tex","match":"(\\\\)(s(s(earrow|warrow|lash)|h(ort(downarrow|uparrow|parallel|leftarrow|rightarrow|mid)|arp)|tar|i(gma|m(eq)?)|u(cc(sim|n(sim|approx)|curlyeq|eq|approx)?|pset(neq(q)?|plus(eq)?|eq(q)?)?|rd|m|bset(neq(q)?|plus(eq)?|eq(q)?)?)|p(hericalangle|adesuit)|e(tminus|arrow)|q(su(pset(eq)?|bset(eq)?)|c(up|ap)|uare)|warrow|m(ile|all(s(etminus|mile)|frown)))|h(slash|ook(leftarrow|rightarrow)|eartsuit|bar)|R(sh|ightarrow|e|bag)|Gam(e|ma)|n(s(hort(parallel|mid)|im|u(cc(eq)?|pseteq(q)?|bseteq))|Rightarrow|n(earrow|warrow)|cong|triangle(left(eq(slant)?)?|right(eq(slant)?)?)|i(plus)?|u|p(lus|arallel|rec(eq)?)|e(q|arrow|g|xists)|v(dash|Dash)|warrow|le(ss|q(slant|q)?|ft(arrow|rightarrow))|a(tural|bla)|VDash|rightarrow|g(tr|eq(slant|q)?)|mid|Left(arrow|rightarrow))|c(hi|irc(eq|le(d(circ|S|dash|ast)|arrow(left|right)))?|o(ng|prod|lon|mplement)|dot(s|p)?|u(p|r(vearrow(left|right)|ly(eq(succ|prec)|vee(downarrow|uparrow)?|wedge(downarrow|uparrow)?)))|enterdot|lubsuit|ap)|Xi|Maps(to(char)?|from(char)?)|B(ox|umpeq|bbk)|t(h(ick(sim|approx)|e(ta|refore))|imes|op|wohead(leftarrow|rightarrow)|a(u|lloblong)|riangle(down|q|left(eq(slant)?)?|right(eq(slant)?)?)?)|i(n(t(er(cal|leave))?|plus|fty)?|ota|math)|S(igma|u(pset|bset))|zeta|o(slash|times|int|dot|plus|vee|wedge|lessthan|greaterthan|m(inus|ega)|b(slash|long|ar))|d(i(v(ideontimes)?|a(g(down|up)|mond(suit)?)|gamma)|o(t(plus|eq(dot)?)|ublebarwedge|wn(harpoon(left|right)|downarrows|arrow))|d(ots|agger)|elta|a(sh(v|leftarrow|rightarrow)|leth|gger))|Y(down|up|left|right)|C(up|ap)|u(n(lhd|rhd)|p(silon|harpoon(left|right)|downarrow|uparrows|lus|arrow)|lcorner|rcorner)|jmath|Theta|Im|p(si|hi|i(tchfork)?|erp|ar(tial|allel)|r(ime|o(d|pto)|ec(sim|n(sim|approx)|curlyeq|eq|approx)?)|m)|e(t(h|a)|psilon|q(slant(less|gtr)|circ|uiv)|ll|xists|mptyset)|Omega|D(iamond|ownarrow|elta)|v(d(ots|ash)|ee(bar)?|Dash|ar(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|curly(vee|wedge)|t(heta|imes|riangle(left|right)?)|o(slash|circle|times|dot|plus|vee|wedge|lessthan|ast|greaterthan|minus|b(slash|ar))|p(hi|i|ropto)|epsilon|kappa|rho|bigcirc))|kappa|Up(silon|downarrow|arrow)|Join|f(orall|lat|a(t(s(emi|lash)|bslash)|llingdotseq)|rown)|P(si|hi|i)|w(p|edge|r)|l(hd|n(sim|eq(q)?|approx)|ceil|times|ightning|o(ng(left(arrow|rightarrow)|rightarrow|maps(to|from))|zenge|oparrow(left|right))|dot(s|p)|e(ss(sim|dot|eq(qgtr|gtr)|approx|gtr)|q(slant|q)?|ft(slice|harpoon(down|up)|threetimes|leftarrows|arrow(t(ail|riangle))?|right(squigarrow|harpoons|arrow(s|triangle|eq)?))|adsto)|vertneqq|floor|l(c(orner|eil)|floor|l|bracket)?|a(ngle|mbda)|rcorner|bag)|a(s(ymp|t)|ngle|pprox(eq)?|l(pha|eph)|rrownot|malg)|V(dash|vdash)|r(h(o|d)|ceil|times|i(singdotseq|ght(s(quigarrow|lice)|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(t(ail|riangle))?|rightarrows))|floor|angle|r(ceil|parenthesis|floor|bracket)|bag)|g(n(sim|eq(q)?|approx)|tr(sim|dot|eq(qless|less)|less|approx)|imel|eq(slant|q)?|vertneqq|amma|g(g)?)|Finv|xi|m(ho|i(nuso|d)|o(o|dels)|u(ltimap)?|p|e(asuredangle|rge)|aps(to|from(char)?))|b(i(n(dnasrepma|ampersand)|g(s(tar|qc(up|ap))|nplus|c(irc|u(p|rly(vee|wedge))|ap)|triangle(down|up)|interleave|o(times|dot|plus)|uplus|parallel|vee|wedge|box))|o(t|wtie|x(slash|circle|times|dot|plus|empty|ast|minus|b(slash|ox|ar)))|u(llet|mpeq)|e(cause|t(h|ween|a))|lack(square|triangle(down|left|right)?|lozenge)|a(ck(s(im(eq)?|lash)|prime|epsilon)|r(o|wedge))|bslash)|L(sh|ong(left(arrow|rightarrow)|rightarrow|maps(to|from))|eft(arrow|rightarrow)|leftarrow|ambda|bag)|Arrownot)\\b","captures":{"1":{"name":"punctuation.definition.constant.math.tex"}}},{"name":"constant.character.math.tex","match":"(\\\\)(sum|prod|coprod|int|oint|bigcap|bigcup|bigsqcup|bigvee|bigwedge|bigodot|bigotimes|bogoplus|biguplus)\\b","captures":{"1":{"name":"punctuation.definition.constant.math.tex"}}},{"name":"constant.other.math.tex","match":"(\\\\)(arccos|arcsin|arctan|arg|cos|cosh|cot|coth|csc|deg|det|dim|exp|gcd|hom|inf|ker|lg|lim|liminf|limsup|ln|log|max|min|pr|sec|sin|sinh|sup|tan|tanh)\\b","captures":{"1":{"name":"punctuation.definition.constant.math.tex"}}},{"name":"meta.embedded.line.r","contentName":"support.function.sexpr.math.tex","begin":"((\\\\)Sexpr(\\{))","end":"(((\\})))","patterns":[{"name":"source.r","begin":"\\G(?!\\})","end":"(?=\\})","patterns":[{"include":"source.r"}]}],"beginCaptures":{"1":{"name":"support.function.sexpr.math.tex"},"2":{"name":"punctuation.definition.function.math.tex"},"3":{"name":"punctuation.section.embedded.begin.math.tex"}},"endCaptures":{"1":{"name":"support.function.sexpr.math.tex"},"2":{"name":"punctuation.section.embedded.end.math.tex"},"3":{"name":"source.r"}}},{"name":"constant.other.general.math.tex","match":"(\\\\)([^a-zA-Z]|[A-Za-z]+)(?=\\b|\\}|\\]|\\^|\\_)","captures":{"1":{"name":"punctuation.definition.constant.math.tex"}}},{"name":"constant.numeric.math.tex","match":"(([0-9]*[\\.][0-9]+)|[0-9]+)"},{"name":"meta.placeholder.greek.math.tex","match":"«press a-z and space for greek letter»[a-zA-Z]*"}]}}}
@@ -0,0 +1 @@
1
+ {"name":"SWeave","scopeName":"text.tex.latex.sweave","patterns":[{"name":"meta.block.parameters.sweave","begin":"^(\u003c\u003c)","end":"(\u003e\u003e)(?==)","patterns":[{"name":"meta.parameter.sweave","match":"(\\w+)(=)(?:(true|false)|(verbatim|tex|hide)|([\\w.]+))","captures":{"1":{"name":"keyword.other.name-of-parameter.sweave"},"2":{"name":"punctuation.separator.key-value.sweave"},"3":{"name":"constant.language.boolean.sweave"},"4":{"name":"constant.language.results.sweave"},"5":{"name":"string.unquoted.label.sweave"}}},{"name":"string.unquoted.label.sweave","match":"[\\w.]+"},{"name":"punctuation.separator.parameters.sweave","match":","}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.sweave"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.sweave"}}},{"name":"meta.block.code.sweave","contentName":"source.r.embedded.sweave","begin":"(?\u003c=\u003e\u003e)(=)(.*)\\n","end":"^(@)(.*)$","patterns":[{"name":"invalid.illegal.sweave","match":"^\\s+@.*\\n?"},{"include":"source.r"}],"beginCaptures":{"1":{"name":"punctuation.section.embedded.begin.sweave"},"2":{"name":"comment.line.other.sweave"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.end.sweave"},"2":{"name":"comment.line.other.sweave"}}},{"name":"invalid.illegal.sweave","match":"^\\s+\u003c\u003c.*\\n?"},{"name":"meta.block.source.r","contentName":"source.r.embedded.sweave","begin":"^\\\\begin(\\{)Scode(\\})","end":"^\\\\end(\\{)Scode(\\})","patterns":[{"include":"source.r"}],"captures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"punctuation.definition.arguments.end.latex"}}},{"name":"source.r.embedded.sweave","begin":"\\\\Sexpr(\\{)","end":"(\\})","patterns":[{"include":"source.r"}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"include":"text.tex.latex"}]}
@@ -1 +1 @@
1
- {"name":"SVG","scopeName":"text.xml.svg","patterns":[{"include":"#main"}],"repository":{"attr":{"name":"meta.attribute.${0:/downcase}.xml.svg","begin":"[A-Za-z_:][-\\w.:]*","end":"(?=\\s*(?:/?\u003e|[^\\s=]))|(?\u003c=[\"'])","patterns":[{"include":"#attrValueCSS"},{"include":"#attrValuePlain"}],"beginCaptures":{"0":{"patterns":[{"include":"#attrName"}]}}},"attrName":{"patterns":[{"match":"(?:^|\\G)([-\\w.]+)(:)(?=[-\\w.:])","captures":{"1":{"name":"entity.other.attribute-name.namespace.xml.svg"},"2":{"name":"punctuation.separator.namespace.xml.svg"}}},{"name":"entity.other.attribute-name.localname.xml.svg","match":"[A-Za-z_:][-\\w.:]*"}]},"attrValueCSS":{"begin":"(?i)(?\u003c=style)\\G\\s*(=)","end":"(?=\\s*(?:[%?/]?\u003e))|(?\u003c=[\"'])([^\\s\u003e]*)|(?:\\G|^)\\s*([^\\s\"'\u003e]+)","patterns":[{"match":"(?:\\G|^)\\s+(?!/?\u003e)"},{"name":"string.quoted.double.xml.svg","begin":"\"","end":"\"","patterns":[{"name":"source.css.style.xml.svg","match":"[^\"]+","captures":{"0":{"patterns":[{"include":"#entity"},{"include":"source.css#rule-list-innards"}]}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml.svg"}}},{"name":"string.quoted.single.xml.svg","begin":"'","end":"'","patterns":[{"name":"source.css.style.xml.svg","match":"[^']+","captures":{"0":{"patterns":[{"include":"#entity"},{"include":"source.css#rule-list-innards"}]}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml.svg"}}}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.xml.svg"}},"endCaptures":{"1":{"name":"invalid.illegal.syntax.xml.svg"},"2":{"name":"string.unquoted.xml.svg","patterns":[{"include":"source.css#rule-list-innards"}]}}},"attrValuePlain":{"begin":"\\s*(=)","end":"(?=\\s*(?:[%?/]?\u003e))|(?\u003c=[\"'])([^\\s\u003e]*)|(?:\\G|^)\\s*([^\\s\"'\u003e]+)","patterns":[{"match":"(?:\\G|^)\\s+(?!/?\u003e)"},{"name":"string.quoted.double.xml.svg","begin":"\"","end":"\"","patterns":[{"include":"#entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml.svg"}}},{"name":"string.quoted.single.xml.svg","begin":"'","end":"'","patterns":[{"include":"#entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml.svg"}}}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.xml.svg"}},"endCaptures":{"1":{"name":"invalid.illegal.syntax.xml.svg"},"2":{"name":"string.unquoted.xml.svg"}}},"cdata":{"name":"string.unquoted.cdata.xml.svg","begin":"\u003c!\\[CDATA\\[","end":"\\]\\]\u003e","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml.svg"}}},"commands":{"patterns":[{"name":"keyword.operator.drawing-command.xml.svg","match":"(?i)[MLHVCSQTAZ]"},{"name":"constant.numeric.number.xml.svg","match":"-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)"},{"name":"punctuation.separator.coordinates.comma.xml.svg","match":","}]},"comment":{"name":"comment.block.xml.svg","begin":"\u003c!--","end":"--\u003e","patterns":[{"name":"invalid.illegal.bad-comment.xml.svg","match":"--(?!\u003e)"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.xml.svg"}}},"doctype":{"name":"meta.tag.sgml.doctype.xml.svg","begin":"(\u003c!)(DOCTYPE)\\s+([:a-zA-Z_][-:\\w.]*)","end":"\\s*(\u003e)","patterns":[{"include":"text.xml#internalSubset"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.xml.svg"},"2":{"name":"keyword.other.doctype.xml.svg"},"3":{"name":"variable.language.documentroot.xml.svg"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.xml.svg"}}},"entity":{"patterns":[{"include":"text.xml#entity"},{"include":"text.xml#bare-ampersand"}]},"main":{"patterns":[{"include":"#comment"},{"include":"#cdata"},{"include":"#doctype"},{"include":"text.xml#EntityDecl"},{"include":"text.xml#parameterEntity"},{"include":"#entity"},{"include":"#preprocessor"},{"include":"#scriptTag"},{"include":"#styleTag"},{"include":"#tag"},{"include":"#unmatchedTag"}]},"preprocessor":{"name":"meta.tag.preprocessor.xml.svg","begin":"(\u003c\\?)\\s*","end":"\\?\u003e","patterns":[{"begin":"\\G","end":"([-\\w]+)|(?=\\s*\\?\u003e)","endCaptures":{"1":{"name":"entity.name.tag.xml.svg"}}},{"include":"#attr"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.xml.svg"}}},"scriptTag":{"patterns":[{"include":"#scriptTagPlain"},{"include":"#scriptTagJS"}]},"scriptTagJS":{"name":"meta.tag.script.xml.svg","begin":"(?i)(\u003c)(script)(?=$|\\s|/?\u003e)","end":"(?i)(\u003c/)(script)\\s*(\u003e)|(/\u003e)","patterns":[{"include":"#tagAttr"},{"contentName":"source.js.embedded.xml.svg","begin":"(?\u003c=\u003e)","end":"(?i)(?=\\s*\u003c/script\\s*\u003e)","patterns":[{"include":"source.js"},{"include":"#entity"}]}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.opening.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]}},"endCaptures":{"1":{"name":"punctuation.definition.tag.closing.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]},"3":{"name":"punctuation.definition.tag.closing.end.xml.svg"},"4":{"name":"punctuation.definition.tag.self-closing.end.xml.svg"}}},"scriptTagPlain":{"name":"meta.tag.script.xml.svg","begin":"(?x)\n(\u003c)((?i)script)\n(\n\t\\s+[^\u003e]*?\n\t(?\u003c=\\s)(?i:type)\\s*=\\s*\n\t([\"'])?\n\t(?! module\n\t| application/(?:x-)?(?:ecma|java)script\n\t| text/\n\t\t(?: javascript(?:1.[0-5])?\n\t\t| (?:j|ecma|live)script\n\t\t| x-(?:ecma|java)script\n\t\t)\n\t)\n\t(?: (?\u003c=\")(?:[^\"\u003e]+)\"\n\t| (?\u003c=')(?:[^'\u003e]+)'\n\t| [^\\s\"'\u003e]+\n\t)\n\t(?=\\s|/?\u003e)\n)","end":"(?i)(\u003c/)(script)\\s*(\u003e)|(/\u003e)","patterns":[{"include":"#tagAttr"},{"include":"#main"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.opening.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]},"3":{"patterns":[{"include":"#attr"}]}},"endCaptures":{"1":{"name":"punctuation.definition.tag.closing.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]},"3":{"name":"punctuation.definition.tag.closing.end.xml.svg"},"4":{"name":"punctuation.definition.tag.self-closing.end.xml.svg"}}},"styleTag":{"name":"meta.tag.style.xml.svg","begin":"(?i)(\u003c)(style)(?=$|\\s|/?\u003e)","end":"(?i)(\u003c/)(style)\\s*(\u003e)|(/\u003e)","patterns":[{"include":"#tagAttr"},{"contentName":"source.css.embedded.xml.svg","begin":"(?\u003c=\u003e)","end":"(?i)(?=\\s*\u003c/style\\s*\u003e)","patterns":[{"include":"source.css"},{"include":"#entity"}]}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.opening.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]}},"endCaptures":{"1":{"name":"punctuation.definition.tag.closing.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]},"3":{"name":"punctuation.definition.tag.closing.end.xml.svg"},"4":{"name":"punctuation.definition.tag.self-closing.end.xml.svg"}}},"tag":{"name":"meta.tag.${2:/downcase}.xml.svg","begin":"(?i)(\u003c)([A-Za-z_:][-\\w.:]*)(?=$|\\s|/?\u003e)","end":"(?i)(\u003c/)(\\2)\\s*(\u003e)|(/\u003e)","patterns":[{"include":"#tagAttr"},{"include":"#main"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.opening.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]}},"endCaptures":{"1":{"name":"punctuation.definition.tag.closing.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]},"3":{"name":"punctuation.definition.tag.closing.end.xml.svg"},"4":{"name":"punctuation.definition.tag.self-closing.end.xml.svg"}}},"tagAttr":{"begin":"\\G(?!\\s*/\u003e)","end":"\u003e|(?=\\s*/\u003e)","patterns":[{"include":"#attr"}],"endCaptures":{"0":{"name":"punctuation.definition.tag.opening.end.xml.svg"}}},"tagName":{"patterns":[{"match":"(?:^|\\G)([A-Za-z_][-\\w.]*)(:)(?=[-\\w.:])","captures":{"1":{"name":"entity.name.tag.namespace.xml.svg"},"2":{"name":"punctuation.separator.namespace.xml.svg"}}},{"name":"entity.name.tag.localname.xml.svg","match":"[A-Za-z_:][-\\w.:]*"}]},"unmatchedTag":{"name":"invalid.illegal.unmatched-tag.xml.svg","match":"(\u003c/)([A-Za-z_:][-\\w.:]*)\\s*(\u003e)"}},"injections":{"R:meta.attribute.d.xml.svg string":{"patterns":[{"include":"#commands"}]}}}
1
+ {"name":"SVG","scopeName":"text.xml.svg","patterns":[{"include":"#main"}],"repository":{"attr":{"name":"meta.attribute.${0:/downcase}.xml.svg","begin":"[A-Za-z_:][-\\w.:]*","end":"(?=\\s*(?:/?\u003e|[^\\s=]))|(?\u003c=[\"'])","patterns":[{"include":"#attrValueCSS"},{"include":"#attrValuePlain"}],"beginCaptures":{"0":{"patterns":[{"include":"#attrName"}]}}},"attrName":{"patterns":[{"match":"(?:^|\\G)([-\\w.]+)(:)(?=[-\\w.:])","captures":{"1":{"name":"entity.other.attribute-name.namespace.xml.svg"},"2":{"name":"punctuation.separator.namespace.xml.svg"}}},{"name":"entity.other.attribute-name.localname.xml.svg","match":"[A-Za-z_:][-\\w.:]*"}]},"attrValueCSS":{"begin":"(?i)(?\u003c=style)\\G\\s*(=)","end":"(?=\\s*(?:[%?/]?\u003e))|(?\u003c=[\"'])([^\\s\u003e]*)|(?:\\G|^)\\s*([^\\s\"'\u003e]+)","patterns":[{"match":"(?:\\G|^)\\s+(?!/?\u003e)"},{"name":"string.quoted.double.xml.svg","begin":"\"","end":"\"","patterns":[{"name":"source.css.style.xml.svg","match":"[^\"]+","captures":{"0":{"patterns":[{"include":"#entity"},{"include":"source.css#rule-list-innards"}]}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml.svg"}}},{"name":"string.quoted.single.xml.svg","begin":"'","end":"'","patterns":[{"name":"source.css.style.xml.svg","match":"[^']+","captures":{"0":{"patterns":[{"include":"#entity"},{"include":"source.css#rule-list-innards"}]}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml.svg"}}}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.xml.svg"}},"endCaptures":{"1":{"name":"invalid.illegal.syntax.xml.svg"},"2":{"name":"string.unquoted.xml.svg","patterns":[{"include":"source.css#rule-list-innards"}]}}},"attrValuePlain":{"begin":"\\s*(=)","end":"(?=\\s*(?:[%?/]?\u003e))|(?\u003c=[\"'])([^\\s\u003e]*)|(?:\\G|^)\\s*([^\\s\"'\u003e]+)","patterns":[{"match":"(?:\\G|^)\\s+(?!/?\u003e)"},{"name":"string.quoted.double.xml.svg","begin":"\"","end":"\"","patterns":[{"include":"#entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml.svg"}}},{"name":"string.quoted.single.xml.svg","begin":"'","end":"'","patterns":[{"include":"#entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml.svg"}}}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.xml.svg"}},"endCaptures":{"1":{"name":"invalid.illegal.syntax.xml.svg"},"2":{"name":"string.unquoted.xml.svg"}}},"cdata":{"name":"string.unquoted.cdata.xml.svg","begin":"\u003c!\\[CDATA\\[","end":"\\]\\]\u003e","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml.svg"}}},"commands":{"patterns":[{"name":"keyword.operator.drawing-command.xml.svg","match":"(?i)[MLHVCSQTAZ]"},{"name":"constant.numeric.number.xml.svg","match":"-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)"},{"name":"punctuation.separator.coordinates.comma.xml.svg","match":","}]},"comment":{"name":"comment.block.xml.svg","begin":"\u003c!--","end":"--\u003e","patterns":[{"name":"invalid.illegal.bad-comment.xml.svg","match":"--(?!\u003e)"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.xml.svg"}}},"doctype":{"name":"meta.tag.sgml.doctype.xml.svg","begin":"(\u003c!)(DOCTYPE)\\s+([:a-zA-Z_][-:\\w.]*)","end":"\\s*(\u003e)","patterns":[{"include":"text.xml#internalSubset"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.xml.svg"},"2":{"name":"keyword.other.doctype.xml.svg"},"3":{"name":"variable.language.documentroot.xml.svg"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.xml.svg"}}},"entity":{"patterns":[{"include":"text.xml#entity"},{"include":"text.xml#bare-ampersand"}]},"main":{"patterns":[{"include":"#comment"},{"include":"#cdata"},{"include":"#doctype"},{"include":"text.xml#EntityDecl"},{"include":"text.xml#parameterEntity"},{"include":"#entity"},{"include":"#preprocessor"},{"include":"#scriptTag"},{"include":"#styleTag"},{"include":"#tag"},{"include":"#unescapedBracket"},{"include":"#unmatchedTag"}]},"preprocessor":{"name":"meta.tag.preprocessor.xml.svg","begin":"(\u003c\\?)\\s*","end":"\\?\u003e","patterns":[{"begin":"\\G","end":"([-\\w]+)|(?=\\s*\\?\u003e)","endCaptures":{"1":{"name":"entity.name.tag.xml.svg"}}},{"include":"#attr"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.xml.svg"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.xml.svg"}}},"scriptTag":{"patterns":[{"include":"#scriptTagPlain"},{"include":"#scriptTagJS"}]},"scriptTagJS":{"name":"meta.tag.script.xml.svg","begin":"(?i)(\u003c)(script)(?=$|\\s|/?\u003e)","end":"(?i)(\u003c/)(script)\\s*(\u003e)|(/\u003e)","patterns":[{"include":"#tagAttr"},{"contentName":"source.js.embedded.xml.svg","begin":"(?\u003c=\u003e)","end":"(?i)(?=\\s*\u003c/script\\s*\u003e)","patterns":[{"include":"source.js"},{"include":"#entity"}]}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.opening.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]}},"endCaptures":{"1":{"name":"punctuation.definition.tag.closing.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]},"3":{"name":"punctuation.definition.tag.closing.end.xml.svg"},"4":{"name":"punctuation.definition.tag.self-closing.end.xml.svg"}}},"scriptTagPlain":{"name":"meta.tag.script.xml.svg","begin":"(?x)\n(\u003c)((?i)script)\n(\n\t\\s+[^\u003e]*?\n\t(?\u003c=\\s)(?i:type)\\s*=\\s*\n\t([\"'])?\n\t(?! module\n\t| application/(?:x-)?(?:ecma|java)script\n\t| text/\n\t\t(?: javascript(?:1.[0-5])?\n\t\t| (?:j|ecma|live)script\n\t\t| x-(?:ecma|java)script\n\t\t)\n\t)\n\t(?: (?\u003c=\")(?:[^\"\u003e]+)\"\n\t| (?\u003c=')(?:[^'\u003e]+)'\n\t| [^\\s\"'\u003e]+\n\t)\n\t(?=\\s|/?\u003e)\n)","end":"(?i)(\u003c/)(script)\\s*(\u003e)|(/\u003e)","patterns":[{"include":"#tagAttr"},{"include":"#main"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.opening.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]},"3":{"patterns":[{"include":"#attr"}]}},"endCaptures":{"1":{"name":"punctuation.definition.tag.closing.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]},"3":{"name":"punctuation.definition.tag.closing.end.xml.svg"},"4":{"name":"punctuation.definition.tag.self-closing.end.xml.svg"}}},"styleTag":{"name":"meta.tag.style.xml.svg","begin":"(?i)(\u003c)(style)(?=$|\\s|/?\u003e)","end":"(?i)(\u003c/)(style)\\s*(\u003e)|(/\u003e)","patterns":[{"include":"#tagAttr"},{"contentName":"source.css.embedded.xml.svg","begin":"(?\u003c=\u003e)","end":"(?i)(?=\\s*\u003c/style\\s*\u003e)","patterns":[{"include":"source.css"},{"include":"#entity"}]}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.opening.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]}},"endCaptures":{"1":{"name":"punctuation.definition.tag.closing.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]},"3":{"name":"punctuation.definition.tag.closing.end.xml.svg"},"4":{"name":"punctuation.definition.tag.self-closing.end.xml.svg"}}},"tag":{"name":"meta.tag.${2:/downcase}.xml.svg","begin":"(?i)(\u003c)([A-Za-z_:][-\\w.:]*)(?=$|\\s|/?\u003e)","end":"(?i)(\u003c/)(\\2)(?:\\s*(\u003e)|(?=\\s*$))|(/\u003e)","patterns":[{"include":"#tagAttr"},{"include":"#main"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.opening.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]}},"endCaptures":{"1":{"name":"punctuation.definition.tag.closing.begin.xml.svg"},"2":{"patterns":[{"include":"#tagName"}]},"3":{"name":"punctuation.definition.tag.closing.end.xml.svg"},"4":{"name":"punctuation.definition.tag.self-closing.end.xml.svg"}}},"tagAttr":{"begin":"\\G(?!\\s*/\u003e)","end":"\u003e|(?=\\s*/\u003e)","patterns":[{"include":"#attr"}],"endCaptures":{"0":{"name":"punctuation.definition.tag.opening.end.xml.svg"}}},"tagName":{"patterns":[{"match":"(?:^|\\G)([A-Za-z_][-\\w.]*)(:)(?=[-\\w.:])","captures":{"1":{"name":"entity.name.tag.namespace.xml.svg"},"2":{"name":"punctuation.separator.namespace.xml.svg"}}},{"name":"entity.name.tag.localname.xml.svg","match":"[A-Za-z_:][-\\w.:]*"}]},"unescapedBracket":{"name":"punctuation.definition.tag.closing.end.xml.svg","match":"^\\s*(\u003e)"},"unmatchedTag":{"name":"invalid.illegal.unmatched-tag.xml.svg","match":"(\u003c/)([A-Za-z_:][-\\w.:]*)\\s*(\u003e)"}},"injections":{"R:meta.attribute.d.xml.svg string":{"patterns":[{"include":"#commands"}]}}}
data/grammars/version CHANGED
@@ -1 +1 @@
1
- 7.26.0
1
+ 7.28.0
data/lib/linguist/VERSION CHANGED
@@ -1 +1 @@
1
- 7.26.0
1
+ 7.28.0
@@ -72,6 +72,7 @@ module Linguist
72
72
  generated_yarn_plugnplay? ||
73
73
  godeps? ||
74
74
  generated_by_zephir? ||
75
+ htmlcov? ||
75
76
  minified_files? ||
76
77
  has_source_map? ||
77
78
  source_map? ||
@@ -300,7 +301,7 @@ module Linguist
300
301
 
301
302
  # Type 1 and Type 42 fonts converted to PostScript are stored as hex-encoded byte streams; these
302
303
  # streams are always preceded the `eexec` operator (if Type 1), or the `/sfnts` key (if Type 42).
303
- return true if data =~ /(\n|\r\n|\r)\s*(?:currentfile eexec\s+|\/sfnts\s+\[\1<)\h{8,}\1/
304
+ return true if data =~ /^\s*(?:currentfile eexec\s+|\/sfnts\s+\[\s<)/
304
305
 
305
306
  # We analyze the "%%Creator:" comment, which contains the author/generator
306
307
  # of the file. If there is one, it should be in one of the first few lines.
@@ -692,8 +693,8 @@ module Linguist
692
693
  def generated_gimp?
693
694
  return false unless ['.c', '.h'].include? extname
694
695
  return false unless lines.count > 0
695
- return lines[0].match(/\/\* GIMP [a-zA-Z0-9\- ]+ C\-Source image dump \(.+?\.c\) \*\//) ||
696
- lines[0].match(/\/\* GIMP header image file format \([a-zA-Z0-9\- ]+\)\: .+?\.h \*\//)
696
+ return lines[0].match(/^\/\* GIMP [a-zA-Z0-9\- ]+ C\-Source image dump \(.+?\.c\) \*\//) ||
697
+ lines[0].match(/^\/\* GIMP header image file format \([a-zA-Z0-9\- ]+\)\: .+?\.h \*\//)
697
698
  end
698
699
 
699
700
  # Internal: Is this a generated Microsoft Visual Studio 6.0 build file?
@@ -794,7 +795,16 @@ module Linguist
794
795
  return false unless lines.count >= 5
795
796
  lines[0].match?(/^# typed:/) &&
796
797
  lines[2].include?("DO NOT EDIT MANUALLY") &&
797
- lines[4].match?(/^# Please.*run.*`.*tapioca/)
798
+ lines[4].match?(/^# Please (run|instead update this file by running) `bin\/tapioca/)
799
+ end
800
+
801
+ # Internal: Is this an HTML coverage report?
802
+ #
803
+ # Tools like coverage.py generate HTML reports under an `htmlcov` directory.
804
+ #
805
+ # Returns true or false.
806
+ def htmlcov?
807
+ !!name.match(/(?:^|\/)htmlcov\//)
798
808
  end
799
809
 
800
810
  # Internal: Extract a Hash of name/content pairs from an HTML <meta> tag
@@ -30,6 +30,8 @@ module Linguist
30
30
  end
31
31
 
32
32
  [] # No heuristics matched
33
+ rescue Regexp::TimeoutError
34
+ [] # Return nothing if we have a bad regexp which leads to a timeout enforced by Regexp.timeout in Ruby 3.2 or later
33
35
  end
34
36
 
35
37
  # Public: Get all heuristic definitions
@@ -74,7 +74,7 @@ disambiguations:
74
74
  - language: Public Key
75
75
  pattern: '^(----[- ]BEGIN|ssh-(rsa|dss)) '
76
76
  - language: AsciiDoc
77
- pattern: '^[=-]+(\s|\n)|\{\{[A-Za-z]'
77
+ pattern: '^[=-]+\s|\{\{[A-Za-z]'
78
78
  - language: AGS Script
79
79
  pattern: '^(\/\/.+|((import|export)\s+)?(function|int|float|char)\s+((room|repeatedly|on|game)_)?([A-Za-z]+[A-Za-z_0-9]+)\s*[;\(])'
80
80
  - extensions: ['.asm']
@@ -130,6 +130,8 @@ disambiguations:
130
130
  - (?i:^\s*(end\ssub)$)
131
131
  - (?i:^\s*(?=^function\s)(?:function\s*\w+\(.*?\)\s*as\s*\w*)|(?::\s*function\(.*?\)\s*as\s*\w*)$)
132
132
  - (?i:^\s*(end\sfunction)$)
133
+ - language: Bluespec BH
134
+ pattern: '^package\s+[A-Za-z_][A-Za-z0-9_'']*(?:\s*\(|\s+where)'
133
135
  - extensions: ['.builds']
134
136
  rules:
135
137
  - language: XML
@@ -161,7 +163,7 @@ disambiguations:
161
163
  - extensions: ['.cmp']
162
164
  rules:
163
165
  - language: Gerber Image
164
- pattern: '^[DGMT][0-9]{2}\*\r?\n'
166
+ pattern: '^[DGMT][0-9]{2}\*(?:\r?\n|\r)'
165
167
  - extensions: ['.cs']
166
168
  rules:
167
169
  - language: Smalltalk
@@ -278,7 +280,7 @@ disambiguations:
278
280
  - extensions: ['.ftl']
279
281
  rules:
280
282
  - language: FreeMarker
281
- pattern: '^(?:<|[a-zA-Z-][a-zA-Z0-9_-]+[ \t]+\w)|\$\{\w+[^\n]*?\}|^[ \t]*(?:<#--.*?-->|<#([a-z]+)(?=\s|>)[^>]*>.*?</#\1>|\[#--.*?--\]|\[#([a-z]+)(?=\s|\])[^\]]*\].*?\[#\2\])'
283
+ pattern: '^(?:<|[a-zA-Z-][a-zA-Z0-9_-]+[ \t]+\w)|\$\{\w+[^\r\n]*?\}|^[ \t]*(?:<#--.*?-->|<#([a-z]+)(?=\s|>)[^>]*>.*?</#\1>|\[#--.*?--\]|\[#([a-z]+)(?=\s|\])[^\]]*\].*?\[#\2\])'
282
284
  - language: Fluent
283
285
  pattern: '^-?[a-zA-Z][a-zA-Z0-9_-]* *=|\{\$-?[a-zA-Z][-\w]*(?:\.[a-zA-Z][-\w]*)?\}'
284
286
  - extensions: ['.g']
@@ -286,7 +288,7 @@ disambiguations:
286
288
  - language: GAP
287
289
  pattern: '\s*(Declare|BindGlobal|KeyDependentOperation|Install(Method|GlobalFunction)|SetPackageInfo)'
288
290
  - language: G-code
289
- pattern: '^[MG][0-9]+\n'
291
+ pattern: '^[MG][0-9]+(?:\r?\n|\r)'
290
292
  - extensions: ['.gd']
291
293
  rules:
292
294
  - language: GAP
@@ -386,6 +388,12 @@ disambiguations:
386
388
  pattern: '^\.[A-Za-z]{2}(\s|$)'
387
389
  - language: PicoLisp
388
390
  pattern: '^\((de|class|rel|code|data|must)\s'
391
+ - extensions: ['.lean']
392
+ rules:
393
+ - language: Lean
394
+ pattern: '^import [a-z]'
395
+ - language: Lean 4
396
+ pattern: '^import [A-Z]'
389
397
  - extensions: ['.ls']
390
398
  rules:
391
399
  - language: LoomScript
@@ -431,7 +439,7 @@ disambiguations:
431
439
  - language: Win32 Message File
432
440
  pattern: '(?i)^[ \t]*(?>\/\*\s*)?MessageId=|^\.$'
433
441
  - language: M4
434
- pattern: '^dnl|^divert\((?:-?\d+)?\)|^\w+\(`[^\n]*?''[),]'
442
+ pattern: '^dnl|^divert\((?:-?\d+)?\)|^\w+\(`[^\r\n]*?''[),]'
435
443
  - language: Monkey C
436
444
  pattern: '\b(?:using|module|function|class|var)\s+\w'
437
445
  - extensions: ['.md']
@@ -476,7 +484,7 @@ disambiguations:
476
484
  - language: XML
477
485
  pattern: '^\s*<\?xml\s+version'
478
486
  - language: Gerber Image
479
- pattern: '^[DGMT][0-9]{2}\*\r?\n'
487
+ pattern: '^[DGMT][0-9]{2}\*(?:\r?\n|\r)'
480
488
  - language: Text
481
489
  pattern: 'THE_TITLE'
482
490
  - extensions: ['.nl']
@@ -540,7 +548,7 @@ disambiguations:
540
548
  - extensions: ['.pod']
541
549
  rules:
542
550
  - language: Pod 6
543
- pattern: '^[\s&&[^\n]]*=(comment|begin pod|begin para|item\d+)'
551
+ pattern: '^[\s&&[^\r\n]]*=(comment|begin pod|begin para|item\d+)'
544
552
  - language: Pod
545
553
  - extensions: ['.pp']
546
554
  rules:
@@ -579,7 +587,7 @@ disambiguations:
579
587
  - extensions: ['.q']
580
588
  rules:
581
589
  - language: q
582
- pattern: '((?i:[A-Z.][\w.]*:\{)|(^|\n)\\(cd?|d|l|p|ts?) )'
590
+ pattern: '((?i:[A-Z.][\w.]*:\{)|^\\(cd?|d|l|p|ts?) )'
583
591
  - language: HiveQL
584
592
  pattern: '(?i:SELECT\s+[\w*,]+\s+FROM|(CREATE|ALTER|DROP)\s(DATABASE|SCHEMA|TABLE))'
585
593
  - extensions: ['.qs']
@@ -592,6 +600,8 @@ disambiguations:
592
600
  rules:
593
601
  - language: Rebol
594
602
  pattern: '(?i:\bRebol\b)'
603
+ - language: Rez
604
+ pattern: '(#include\s+["<](Types\.r|Carbon\/Carbon\.r)[">])|((resource|data|type)\s+''[A-Za-z0-9]{4}''\s+((\(.*\)\s+){0,1}){)'
595
605
  - language: R
596
606
  pattern: '<-|^\s*#'
597
607
  - extensions: ['.re']
@@ -652,7 +662,7 @@ disambiguations:
652
662
  - language: Solidity
653
663
  pattern: '\bpragma\s+solidity\b|\b(?:abstract\s+)?contract\s+(?!\d)[a-zA-Z0-9$_]+(?:\s+is\s+(?:[a-zA-Z0-9$_][^\{]*?)?)?\s*\{'
654
664
  - language: Gerber Image
655
- pattern: '^[DGMT][0-9]{2}\*\r?\n'
665
+ pattern: '^[DGMT][0-9]{2}\*(?:\r?\n|\r)'
656
666
  - extensions: ['.sql']
657
667
  rules:
658
668
  # Postgres
@@ -686,7 +696,7 @@ disambiguations:
686
696
  - extensions: ['.stl']
687
697
  rules:
688
698
  - language: STL
689
- pattern: '\A\s*solid(?=$|\s)(?:.|[\r\n])*?^endsolid(?:$|\s)'
699
+ pattern: '\A\s*solid(?:$|\s)[\s\S]*^endsolid(?:$|\s)'
690
700
  - extensions: ['.sw']
691
701
  rules:
692
702
  - language: Sway
@@ -764,10 +774,15 @@ disambiguations:
764
774
  # HACK: This is a contrived use of heuristics needed to address
765
775
  # an unusual edge-case. See https://git.io/JULye for discussion.
766
776
  - language: Text
777
+ - extensions: ['.typ']
778
+ rules:
779
+ - language: Typst
780
+ pattern: '^#(import|show|let|set)'
781
+ - language: XML
767
782
  - extensions: ['.url']
768
783
  rules:
769
784
  - language: INI
770
- pattern: '^\[InternetShortcut\](?:\r?\n|\r)(?>[^\s\[][^\n]*(?:\r?\n|\r))*URL='
785
+ pattern: '^\[InternetShortcut\](?:\r?\n|\r)(?>[^\s\[][^\r\n]*(?:\r?\n|\r))*URL='
771
786
  - extensions: ['.v']
772
787
  rules:
773
788
  - language: Coq