github-linguist 7.22.1 → 7.24.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (116) hide show
  1. checksums.yaml +4 -4
  2. data/bin/github-linguist +13 -3
  3. data/grammars/etc.json +1 -1
  4. data/grammars/hidden.manref.json +1 -1
  5. data/grammars/inline.graphql.json +1 -0
  6. data/grammars/inline.graphql.php.json +1 -0
  7. data/grammars/inline.graphql.python.json +1 -0
  8. data/grammars/inline.graphql.re.json +1 -0
  9. data/grammars/inline.graphql.res.json +1 -0
  10. data/grammars/inline.prisma.json +1 -1
  11. data/grammars/liquid.injection.json +1 -1
  12. data/grammars/markdown.graphql.codeblock.json +1 -0
  13. data/grammars/markdown.rescript.codeblock.json +1 -0
  14. data/grammars/source.abapcds.json +1 -1
  15. data/grammars/source.astro.json +1 -1
  16. data/grammars/source.ats.json +1 -1
  17. data/grammars/source.bicep.json +1 -1
  18. data/grammars/source.brs.json +1 -1
  19. data/grammars/source.cairo.json +1 -1
  20. data/grammars/source.cl.json +1 -1
  21. data/grammars/source.cobol.json +1 -1
  22. data/grammars/source.context.json +1 -0
  23. data/grammars/source.cs.json +1 -1
  24. data/grammars/source.csswg.json +1 -1
  25. data/grammars/source.curry.json +1 -1
  26. data/grammars/source.cypher.json +1 -0
  27. data/grammars/source.dart.json +1 -1
  28. data/grammars/source.data-weave.json +1 -1
  29. data/grammars/source.denizenscript.json +1 -1
  30. data/grammars/source.ditroff.json +1 -1
  31. data/grammars/source.editorconfig.json +1 -1
  32. data/grammars/source.elvish-transcript.json +1 -0
  33. data/grammars/source.elvish.in.markdown.json +1 -0
  34. data/grammars/source.elvish.json +1 -0
  35. data/grammars/source.fsharp.json +1 -1
  36. data/grammars/source.ftl.json +1 -1
  37. data/grammars/source.gcode.json +1 -1
  38. data/grammars/source.gdscript.json +1 -1
  39. data/grammars/source.gdshader.json +1 -1
  40. data/grammars/source.gemini.json +1 -0
  41. data/grammars/source.graphql.json +1 -1
  42. data/grammars/source.hack.json +1 -1
  43. data/grammars/source.hocon.json +1 -0
  44. data/grammars/source.httpspec.json +1 -1
  45. data/grammars/source.imba.json +1 -0
  46. data/grammars/source.ink.json +1 -0
  47. data/grammars/source.jsonnet.json +1 -1
  48. data/grammars/source.julia.json +1 -1
  49. data/grammars/source.just.json +1 -0
  50. data/grammars/source.kusto.json +1 -1
  51. data/grammars/source.llvm.json +1 -1
  52. data/grammars/source.man-conf.json +1 -1
  53. data/grammars/source.mermaid.c4c-diagram.json +1 -0
  54. data/grammars/source.mermaid.class-diagram.json +1 -0
  55. data/grammars/source.mermaid.er-diagram.json +1 -0
  56. data/grammars/source.mermaid.flowchart.json +1 -0
  57. data/grammars/source.mermaid.gantt.json +1 -0
  58. data/grammars/source.mermaid.gitgraph.json +1 -0
  59. data/grammars/source.mermaid.json +1 -0
  60. data/grammars/source.mermaid.pie-chart.json +1 -0
  61. data/grammars/source.mermaid.requirement-diagram.json +1 -0
  62. data/grammars/source.mermaid.sequence-diagram.json +1 -0
  63. data/grammars/source.mermaid.state-diagram.json +1 -0
  64. data/grammars/source.mermaid.user-journey.json +1 -0
  65. data/grammars/source.mo.json +1 -1
  66. data/grammars/source.move.json +1 -1
  67. data/grammars/source.opts.json +1 -1
  68. data/grammars/source.p4.json +1 -1
  69. data/grammars/source.pddl.happenings.json +1 -0
  70. data/grammars/source.pddl.json +1 -0
  71. data/grammars/source.pddl.plan.json +1 -0
  72. data/grammars/source.pic.json +1 -1
  73. data/grammars/source.polar.json +1 -0
  74. data/grammars/source.postscript.json +1 -1
  75. data/grammars/source.python.json +1 -1
  76. data/grammars/source.ql.json +1 -1
  77. data/grammars/source.rescript.json +1 -1
  78. data/grammars/source.rpgle.json +1 -1
  79. data/grammars/source.rsc.json +1 -1
  80. data/grammars/source.scala.json +1 -1
  81. data/grammars/source.scenic.json +1 -0
  82. data/grammars/source.sexp.json +1 -0
  83. data/grammars/source.sfv.json +1 -0
  84. data/grammars/source.smithy.json +1 -0
  85. data/grammars/source.sqf.json +1 -1
  86. data/grammars/source.stan.json +1 -1
  87. data/grammars/source.svelte.json +1 -1
  88. data/grammars/source.toc.json +1 -1
  89. data/grammars/source.ts.json +1 -1
  90. data/grammars/source.ts.prismaClientRawSQL.json +1 -0
  91. data/grammars/source.tsx.json +1 -1
  92. data/grammars/source.v.json +1 -1
  93. data/grammars/source.xojo.json +1 -1
  94. data/grammars/source.yara.json +1 -1
  95. data/grammars/text.adblock.json +1 -0
  96. data/grammars/text.checksums.json +1 -1
  97. data/grammars/text.grammarkdown.json +1 -0
  98. data/grammars/text.html.ecmarkup.json +1 -0
  99. data/grammars/text.html.liquid.json +1 -1
  100. data/grammars/text.html.statamic.json +1 -1
  101. data/grammars/text.info.json +1 -1
  102. data/grammars/text.marko.json +1 -1
  103. data/grammars/text.restructuredtext.json +1 -1
  104. data/grammars/text.roff.json +1 -1
  105. data/grammars/text.texinfo.json +1 -1
  106. data/grammars/text.youtube.json +1 -0
  107. data/grammars/version +1 -1
  108. data/lib/linguist/VERSION +1 -1
  109. data/lib/linguist/generated.rb +32 -3
  110. data/lib/linguist/generic.yml +1 -0
  111. data/lib/linguist/heuristics.yml +86 -4
  112. data/lib/linguist/languages.json +1 -1
  113. data/lib/linguist/languages.yml +264 -5
  114. data/lib/linguist/samples.json +1 -1
  115. data/lib/linguist/vendor.yml +0 -1
  116. metadata +45 -3
@@ -1 +1 @@
1
- {"name":"Texinfo","scopeName":"text.texinfo","patterns":[{"match":"\\A\\s*((\\\\)input)\\s+([^@\\s\\x7F]+)","captures":{"1":{"name":"support.function.general.tex"},"2":{"name":"punctuation.definition.function.tex"},"3":{"name":"support.constant.language.other.tex"}}},{"include":"#main"}],"repository":{"alias":{"name":"meta.command.alias.texinfo","match":"((@)alias)\\s+([^=\\s]+)\\s*(=)\\s*([^=\\s]+)","captures":{"1":{"name":"keyword.operator.command.alias.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"},"3":{"name":"entity.name.function.alias.texinfo"},"4":{"name":"punctuation.separator.separator.texinfo"},"5":{"name":"entity.name.function.source.texinfo"}}},"blockCommands":{"name":"meta.command.$3.block.texinfo","begin":"(?x) ((@)\n(cartouche|copying|direntry|display|documentdescription|enumerate\n|float|flushleft|flushright|format|ftable|group|itemize|multitable\n|raggedright|smalldisplay|smallformat|smallindentedblock|table\n|titlepage|vtable))\n(?=\\s|$)(.*)","end":"((@)end\\s+\\3)\\b","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"},"4":{"patterns":[{"include":"#param"},{"include":"#main"}]}},"endCaptures":{"1":{"name":"keyword.operator.command.end-$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},"boldText":{"patterns":[{"name":"meta.command.$3.braced.texinfo","contentName":"markup.bold.texinfo","begin":"((@)(b|strong))({)","end":"}","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"},"4":{"name":"punctuation.section.scope.begin.texinfo"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.texinfo"}}},{"name":"meta.command.$3.line.texinfo","contentName":"markup.heading.string.unquoted.texinfo","begin":"(?x) ^ ((@)\n(appendixsection|appendixsec|appendixsubsec|appendixsubsubsec|appendix\n|chapheading|chapter|heading|majorheading|section|subheading|subsection\n|subsubheading|subsubsection|top|unnumberedsec|unnumberedsubsec\n|unnumberedsubsubsec|unnumbered))\n(?=\\s|$)","end":"$","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"markup.bold.texinfo"},"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}}]},"booleanCommands":{"patterns":[{"name":"meta.command.headings.texinfo","match":"((@)headings)\\s+(?:(on)|(off)|(single|double))\\b","captures":{"1":{"name":"keyword.operator.command.headings.texinfo"},"2":{"name":"punctuation.defining.function.texinfo"},"3":{"name":"constant.language.boolean.true.texinfo"},"4":{"name":"constant.language.boolean.false.texinfo"},"5":{"name":"constant.language.heading-type.$5.texinfo"}}},{"name":"meta.command.setchapternewpage.texinfo","match":"((@)setchapternewpage)\\s+(?:(on)|(off)|(odd))\\b","captures":{"1":{"name":"keyword.operator.command.headings.texinfo"},"2":{"name":"punctuation.defining.function.texinfo"},"3":{"name":"constant.language.boolean.true.texinfo"},"4":{"name":"constant.language.boolean.false.texinfo"},"5":{"name":"constant.language.odd.texinfo"}}},{"name":"meta.command.$3.texinfo","match":"((@)(allowcodebreaks))\\s+(true|false)(?=\\s|$)","captures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"},"4":{"name":"constant.language.boolean.$4.texinfo"}}},{"name":"meta.command.$3.texinfo","match":"(?x) ((@)\n(codequotebacktick|codequoteundirected|deftypefnnewline\n|frenchspacing|validatemenus|xrefautomaticsectiontitle))\n\\s+ (?:(on)|(off)) \\b","captures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"},"4":{"name":"constant.language.boolean.true.texinfo"},"5":{"name":"constant.language.boolean.false.texinfo"}}}]},"codeBlocks":{"patterns":[{"name":"meta.command.$3.block.texinfo","contentName":"source.embedded.emacs.lisp","begin":"((@)(lisp|smalllisp))(?=\\s|$)","end":"((@)end\\s+\\3)\\b","patterns":[{"include":"source.emacs.lisp"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}},"endCaptures":{"1":{"name":"keyword.operator.command.end-$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.$3.block.texinfo","contentName":"markup.raw.texinfo","begin":"((@)(example|smallexample|verbatim))(?=\\s|$)","end":"((@)end\\s+\\3)\\b","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}},"endCaptures":{"1":{"name":"keyword.operator.command.end-$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}}]},"comma":{"name":"punctuation.separator.delimiter.comma.texinfo","match":","},"command":{"patterns":[{"name":"meta.command.braced.texinfo","begin":"((@)(\\w+))({)","end":"}","patterns":[{"include":"#param"},{"include":"#comma"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"},"4":{"name":"punctuation.section.scope.begin.texinfo"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.texinfo"}}},{"name":"keyword.operator.command.$2.texinfo","match":"(@)(\\w+)","captures":{"1":{"name":"punctuation.definition.function.texinfo"}}}]},"comments":{"patterns":[{"name":"comment.line.at-sign.texinfo","begin":"((@)c(?:omment)?)(?=$|[^-A-Za-z0-9])","end":"$","beginCaptures":{"1":{"name":"keyword.operator.command.start-comment.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"comment.line.tex-style.texinfo","begin":"\\x7F","end":"$","beginCaptures":{"0":{"name":"punctuation.whitespace.delete.texinfo"}}}]},"conditionals":{"patterns":[{"name":"meta.command.$3.conditional.block.texinfo","begin":"((@)(ifclear|ifcommanddefined|ifcommandnotdefined|ifset))\\s+(\\S+)","end":"((@)end\\s+\\3)\\b","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.control.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"},"4":{"name":"variable.parameter.texinfo"}},"endCaptures":{"1":{"name":"keyword.control.command.end-$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.$3.conditional.block.texinfo","begin":"(?x) ((@)\n(ifdocbook|ifhtml|ifinfo|ifnotdocbook|ifnothtml|ifnotinfo|ifnotplaintext\n|ifnottex|ifnotxml|ifplaintext|iftex|ifxml))\n(?=\\s|$)","end":"((@)end\\s+\\3)\\b","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.control.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"},"4":{"name":"variable.parameter.texinfo"}},"endCaptures":{"1":{"name":"keyword.control.command.end-$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}}]},"dashes":{"patterns":[{"name":"constant.character.dash.em-dash.texinfo","match":"---"},{"name":"constant.character.dash.en-dash.texinfo","match":"--"}]},"definitions":{"patterns":[{"name":"meta.command.$3.line.texinfo","begin":"((@)(defcodeindex|defindex|defopt|defoptx|defvar|defvarx))(?=\\s|$)","end":"$","patterns":[{"name":"entity.name.var.texinfo","match":"\\G\\s*(?:({)[^}]*(})|\\S+)","captures":{"1":{"name":"punctuation.definition.begin.texinfo"},"2":{"name":"punctuation.definition.end.texinfo"}}},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.$3.line.texinfo","begin":"((@)(defcvx|defcv|defopx|defop))(?=\\s|$)","end":"$","patterns":[{"match":"(?x)\n\\G \\s* (({)[^}]*(})|\\S+)\n(?: \\s+ (({)[^}]*(})|\\S+))?\n(?: \\s+ (({)[^}]*(})|\\S+))?","captures":{"1":{"name":"storage.type.var.texinfo"},"2":{"name":"punctuation.definition.begin.texinfo"},"3":{"name":"punctuation.definition.end.texinfo"},"4":{"name":"entity.other.inherited-class.texinfo"},"5":{"name":"punctuation.definition.begin.texinfo"},"6":{"name":"punctuation.definition.end.texinfo"},"7":{"name":"entity.name.var.texinfo"},"8":{"name":"punctuation.definition.begin.texinfo"},"9":{"name":"punctuation.definition.end.texinfo"}}},{"include":"#param"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.$3.line.texinfo","begin":"((@)(deffnx|deffn|deftpx|deftp|defvrx|defvr))(?=\\s|$)","end":"$","patterns":[{"match":"(?x)\n\\G \\s* (({)[^}]*(})|\\S+)\n(?: \\s+ (({)[^}]*(})|\\S+))?","captures":{"1":{"name":"storage.type.var.texinfo"},"2":{"name":"punctuation.definition.begin.texinfo"},"3":{"name":"punctuation.definition.end.texinfo"},"4":{"name":"entity.name.var.texinfo"},"5":{"name":"punctuation.definition.begin.texinfo"},"6":{"name":"punctuation.definition.end.texinfo"}}},{"include":"#param"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.$3.line.texinfo","begin":"((@)(definfoenclose))(?=\\s|$)","end":"$","patterns":[{"match":"\\G\\s*(({)[^}]*(})|[^\\s,]+)","captures":{"1":{"name":"entity.name.var.texinfo"},"2":{"name":"punctuation.definition.begin.texinfo"},"3":{"name":"punctuation.definition.end.texinfo"}}},{"name":"string.unquoted.texinfo","match":"[^\\s,@]+"},{"include":"#comma"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.$3.line.texinfo","begin":"((@)(defivarx|defivar|defmethodx|defmethod))(?=\\s|$)","end":"$","patterns":[{"match":"(?x)\n\\G \\s* (({)[^}]*(})|\\S+)\n(?: \\s+ (({)[^}]*(})|\\S+))?","captures":{"1":{"name":"entity.other.inherited-class.texinfo"},"2":{"name":"punctuation.definition.begin.texinfo"},"3":{"name":"punctuation.definition.end.texinfo"},"4":{"name":"entity.name.var.texinfo"},"5":{"name":"punctuation.definition.begin.texinfo"},"6":{"name":"punctuation.definition.end.texinfo"}}},{"include":"#param"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.$3.line.texinfo","begin":"((@)(defmacx|defmac|defunx|defun|defspecx|defspec))(?=\\s|$)","end":"$","patterns":[{"name":"entity.name.function.texinfo","match":"\\G\\s*(?:({)[^}]*(})|\\S+)","captures":{"1":{"name":"punctuation.definition.begin.texinfo"},"2":{"name":"punctuation.definition.end.texinfo"}}},{"include":"#param"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.$3.line.texinfo","begin":"((@)(deftypecvx|deftypecv|deftypevrx|deftypevr))(?=\\s|$)","end":"$","patterns":[{"match":"(?x)\n\\G \\s* (({)[^}]*(})|\\S+)\n(?: \\s+ (({)[^}]*(})|\\S+))?\n(?: \\s+ (({)[^}]*(})|\\S+))?\n(?: \\s+ (({)[^}]*(})|\\S+))?","captures":{"1":{"name":"storage.type.var.category.texinfo"},"10":{"name":"entity.name.var.texinfo"},"11":{"name":"punctuation.definition.begin.texinfo"},"12":{"name":"punctuation.definition.end.texinfo"},"2":{"name":"punctuation.definition.begin.texinfo"},"3":{"name":"punctuation.definition.end.texinfo"},"4":{"name":"entity.other.inherited-class.texinfo"},"5":{"name":"punctuation.definition.begin.texinfo"},"6":{"name":"punctuation.definition.end.texinfo"},"7":{"name":"storage.type.var.data-type.texinfo"},"8":{"name":"punctuation.definition.begin.texinfo"},"9":{"name":"punctuation.definition.end.texinfo"}}},{"include":"#param"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.$3.line.texinfo","begin":"((@)(deftypefnx|deftypefn))(?=\\s|$)","end":"$","patterns":[{"match":"(?x)\n\\G \\s* (({)[^}]*(})|\\S+)\n(?: \\s+ (({)[^}]*(})|\\S+))?\n(?: \\s+ (({)[^}]*(})|\\S+))?","captures":{"1":{"name":"storage.type.var.category.texinfo"},"2":{"name":"punctuation.definition.begin.texinfo"},"3":{"name":"punctuation.definition.end.texinfo"},"4":{"name":"storage.type.var.data-type.texinfo"},"5":{"name":"punctuation.definition.begin.texinfo"},"6":{"name":"punctuation.definition.end.texinfo"},"7":{"name":"entity.name.var.texinfo"},"8":{"name":"punctuation.definition.begin.texinfo"},"9":{"name":"punctuation.definition.end.texinfo"}}},{"include":"#param"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.$3.line.texinfo","begin":"((@)(deftypefunx|deftypefun))(?=\\s|$)","end":"$","patterns":[{"match":"(?x)\n\\G \\s* (({)[^}]*(})|\\S+)\n(?: \\s+ (({)[^}]*(})|\\S+))?","captures":{"1":{"name":"storage.type.var.data-type.texinfo"},"2":{"name":"punctuation.definition.begin.texinfo"},"3":{"name":"punctuation.definition.end.texinfo"},"4":{"name":"entity.name.var.texinfo"},"5":{"name":"punctuation.definition.begin.texinfo"},"6":{"name":"punctuation.definition.end.texinfo"}}},{"include":"#param"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.$3.line.texinfo","begin":"((@)(deftypemethodx|deftypemethod|deftypeivarx|deftypeivar))(?=\\s|$)","end":"$","patterns":[{"match":"(?x)\n\\G \\s* (({)[^}]*(})|\\S+)\n(?: \\s+ (({)[^}]*(})|\\S+))?\n(?: \\s+ (({)[^}]*(})|\\S+))?","captures":{"1":{"name":"entity.other.inherited-class.texinfo"},"2":{"name":"punctuation.definition.begin.texinfo"},"3":{"name":"punctuation.definition.end.texinfo"},"4":{"name":"storage.type.var.data-type.texinfo"},"5":{"name":"punctuation.definition.begin.texinfo"},"6":{"name":"punctuation.definition.end.texinfo"},"7":{"name":"entity.name.var.texinfo"},"8":{"name":"punctuation.definition.begin.texinfo"},"9":{"name":"punctuation.definition.end.texinfo"}}},{"include":"#param"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.$3.line.texinfo","begin":"((@)(deftypeopx|deftypeop))(?=\\s|$)","end":"$","patterns":[{"match":"(?x)\n\\G \\s* (({)[^}]*(})|\\S+)\n(?: \\s+ (({)[^}]*(})|\\S+))?\n(?: \\s+ (({)[^}]*(})|\\S+))?\n(?: \\s+ (({)[^}]*(})|\\S+))?","captures":{"1":{"name":"storage.type.var.category.texinfo"},"10":{"name":"entity.name.var.texinfo"},"11":{"name":"punctuation.definition.begin.texinfo"},"12":{"name":"punctuation.definition.end.texinfo"},"2":{"name":"punctuation.definition.begin.texinfo"},"3":{"name":"punctuation.definition.end.texinfo"},"4":{"name":"entity.other.inherited-class.texinfo"},"5":{"name":"punctuation.definition.begin.texinfo"},"6":{"name":"punctuation.definition.end.texinfo"},"7":{"name":"storage.type.var.data-type.texinfo"},"8":{"name":"punctuation.definition.begin.texinfo"},"9":{"name":"punctuation.definition.end.texinfo"}}},{"include":"#param"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.$3.line.texinfo","begin":"((@)(deftypevarx|deftypevar))(?=\\s|$)","end":"$","patterns":[{"match":"(?x)\n\\G \\s* (({)[^}]*(})|\\S+)\n(?: \\s+ (({)[^}]*(})|\\S+))?","captures":{"1":{"name":"storage.type.var.data-type.texinfo"},"2":{"name":"punctuation.definition.begin.texinfo"},"3":{"name":"punctuation.definition.end.texinfo"},"4":{"name":"entity.name.var.texinfo"},"5":{"name":"punctuation.definition.begin.texinfo"},"6":{"name":"punctuation.definition.end.texinfo"}}},{"include":"#param"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}}]},"ignored":{"patterns":[{"name":"meta.command.ignore.block.texinfo","contentName":"comment.block.ignored.texinfo","begin":"((@)ignore)(?=\\s|$)","end":"((@)end\\s+ignore)\\b","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.ignore.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}},"endCaptures":{"1":{"name":"keyword.operator.command.end-ignore.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.bye.block.texinfo","contentName":"comment.block.ignored.texinfo","begin":"^((@)bye)(?=\\s|$)","end":"(?=A)B","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.bye.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}}]},"italicText":{"name":"meta.command.$3.braced.texinfo","contentName":"markup.italic.texinfo","begin":"((@)(i|emph|sc|slanted))({)","end":"}","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"},"4":{"name":"punctuation.section.scope.begin.texinfo"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.texinfo"}}},"lineCommands":{"name":"meta.command.$3.line.texinfo","contentName":"markup.raw.texinfo","begin":"(?x) ^ ((@)\n(author|centerchap|center|cindex|clear|defcodeindex|defcvx|defcv|deffnx\n|deffn|defindex|definfoenclose|defivarx|defivar|defmacx|defmac|defmethodx\n|defmethod|defoptx|defopt|defopx|defop|defspecx|defspec|deftpx|deftp\n|deftypecvx|deftypecv|deftypefnx|deftypefn|deftypefunx|deftypefun\n|deftypeivarx|deftypeivar|deftypemethodx|deftypemethod|deftypeopx\n|deftypeop|deftypevarx|deftypevar|deftypevrx|deftypevr|defunx|defun\n|defvarx|defvar|defvrx|defvr|dircategory|documentencoding|documentlanguage\n|enumerate|evenfooting|even|everyfooting|everyexampleindent|exdent|findex\n|firstparagraphindent|fonttextsize|footnotestyle|ftable|include|itemize\n|kbdinputstyle|kindex|macro|multitable|need|node|oddfooting|oddpagesizes\n|paragraphindent|part|pindex|printindex|setfilename|settitle|set\n|shorttitlepage|sortas|sp|strong|subtitle|sub|sup|syncodeindex|synindex\n|table|tindex|title|unmacro|urefbreakstyle|verbatiminclude|vindex|vskip|vtable))\n(?=\\s|$)","end":"$","patterns":[{"name":"entity.name.function.macro.texinfo","match":"\\G(?\u003c=@macro)\\s*(\\S+)"},{"match":"\\G(?:\\s*[-+]?[0-9]+(?:\\.[0-9]+)?,?)+(?=\\s*$)","captures":{"0":{"patterns":[{"name":"constant.numeric.float.texinfo","match":"[-+]?\\d+(?:\\.\\d+)"},{"name":"constant.numeric.int.texinfo","match":"[-+]?\\d+"},{"include":"#comma"}]}}},{"name":"keyword.operator.command.separator.texinfo","match":"(@)\\|","captures":{"1":{"name":"punctuation.definition.function.texinfo"}}},{"include":"#param"},{"include":"#comma"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},"main":{"patterns":[{"include":"#comments"},{"include":"#dashes"},{"include":"#texLine"},{"include":"#alias"},{"include":"#menu"},{"include":"#booleanCommands"},{"include":"#symbolCommands"},{"include":"#set"},{"include":"#definitions"},{"include":"#quotation"},{"include":"#boldText"},{"include":"#italicText"},{"include":"#verbatim"},{"include":"#codeBlocks"},{"include":"#conditionals"},{"include":"#blockCommands"},{"include":"#lineCommands"},{"include":"#ignored"},{"include":"#rawTex"},{"include":"#rawHTML"},{"include":"#rawXML"},{"include":"#command"}]},"menu":{"name":"meta.command.$3.block.texinfo","begin":"((@)(detailmenu|direntry|menu))(?=\\s|$)","end":"((@)end\\s+\\3)\\b","patterns":[{"name":"markup.list.texinfo","begin":"^\\*\\s","end":"^(?=\\S)","patterns":[{"contentName":"entity.name.tag.entry-name.texinfo","begin":"\\G","end":"::?|(?=\\s*$)","patterns":[{"include":"#main"}],"endCaptures":{"0":{"name":"punctuation.separator.key-value.menu.texinfo"}}},{"contentName":"entity.name.node-name.texinfo","begin":"(?\u003c=[^:]:)\\s*","end":"(\\.)|(?=\\s*$)","patterns":[{"include":"#main"}],"endCaptures":{"1":{"name":"punctuation.terminator.full-stop.period.texinfo"}}},{"name":"string.unquoted.description.texinfo","begin":"(?\u003c=::|\\.)","end":"^(?=\\S)","patterns":[{"include":"#main"}]}],"beginCaptures":{"0":{"name":"punctuation.definition.list.menu.texinfo"}}},{"name":"constant.other.menu-comment.texinfo","begin":"^(?=[^\\s*])(?!@end\\s)","end":"$|(?=\\s*@end\\s)","patterns":[{"include":"#main"}]},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}},"endCaptures":{"1":{"name":"keyword.operator.command.end-$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},"param":{"name":"variable.parameter.texinfo","match":"[^\\s{}@,]+|(?\u003c=\\s)({)[^\\s{}@,]+(})","captures":{"1":{"name":"punctuation.definition.begin.texinfo"},"2":{"name":"punctuation.definition.end.texinfo"}}},"quotation":{"name":"meta.command.$3.block.texinfo","contentName":"markup.quote.texinfo","begin":"((@)(quotation|smallquotation))(?=\\s|$)","end":"((@)end\\s+\\3)\\b","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}},"endCaptures":{"1":{"name":"keyword.operator.command.end-$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},"rawHTML":{"name":"meta.command.raw-html.block.texinfo","contentName":"source.embedded.html","begin":"((@)html)(?=\\s|$)","end":"((@)end\\s+html)\\b","patterns":[{"include":"#main"},{"include":"text.html.basic"}],"beginCaptures":{"1":{"name":"keyword.operator.command.html.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}},"endCaptures":{"1":{"name":"keyword.operator.command.end-html.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},"rawTex":{"name":"meta.command.raw-tex.block.texinfo","contentName":"source.embedded.tex","begin":"((@)tex)(?=\\s|$)","end":"((@)end\\s+tex)\\b","patterns":[{"include":"#main"},{"include":"text.tex.latex"}],"beginCaptures":{"1":{"name":"keyword.operator.command.tex.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}},"endCaptures":{"1":{"name":"keyword.operator.command.end-tex.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},"rawXML":{"name":"meta.command.raw-$3.block.texinfo","contentName":"source.embedded.xml","begin":"((@)(docbook|xml))(?=\\s|$)","end":"((@)end\\s+\\3)\\b","patterns":[{"include":"#main"},{"include":"text.xml"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}},"endCaptures":{"1":{"name":"keyword.operator.command.end-$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},"set":{"begin":"((@)set)(?=\\s|$)","end":"$","patterns":[{"match":"\\G\\s*(\\S+)","captures":{"1":{"name":"entity.name.var.texinfo","patterns":[{"include":"#main"}]}}},{"include":"#param"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.set.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},"symbolCommands":{"patterns":[{"name":"keyword.operator.command.non-alphabetic.texinfo","match":"(@)[-!\"'\u0026*./:=?@\\\\^`{}~]","captures":{"1":{"name":"punctuation.definition.function.texinfo"}}},{"name":"keyword.operator.command.whitespace.texinfo","match":"(@)(?:( |\\t)|$)","captures":{"1":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.braced.texinfo","begin":"((@),)({)","end":"}","patterns":[{"name":"constant.character.texinfo","match":"[^\\s{}@,]+"},{"include":"#comma"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.cedilla-accent.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"},"3":{"name":"punctuation.section.scope.begin.texinfo"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.texinfo"}}}]},"verbatim":{"name":"meta.command.braced.verb.texinfo","contentName":"string.quoted.other.verbatim.texinfo","begin":"((@)verb)({)([^}])","end":"(\\4)(})","beginCaptures":{"1":{"name":"keyword.operator.command.verb.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"},"3":{"name":"punctuation.section.scope.begin.texinfo"},"4":{"name":"punctuation.arbitrary.delimiter.begin.texinfo"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.texinfo"},"1":{"name":"punctuation.arbitrary.delimiter.end.texinfo"}}}}}
1
+ {"name":"Texinfo","scopeName":"text.texinfo","patterns":[{"match":"\\A\\s*((\\\\)input)\\s+([^@\\s\\x7F]+)","captures":{"1":{"name":"support.function.general.tex"},"2":{"name":"punctuation.definition.function.tex"},"3":{"name":"support.constant.language.other.tex"}}},{"include":"#main"}],"repository":{"alias":{"name":"meta.command.alias.texinfo","match":"((@)alias)\\s+([^=\\s]+)\\s*(=)\\s*([^=\\s]+)","captures":{"1":{"name":"keyword.operator.command.alias.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"},"3":{"name":"entity.name.function.alias.texinfo"},"4":{"name":"punctuation.separator.separator.texinfo"},"5":{"name":"entity.name.function.source.texinfo"}}},"blockCommands":{"name":"meta.command.$3.block.texinfo","begin":"(?x) ((@)\n(cartouche|copying|direntry|display|documentdescription|enumerate\n|float|flushleft|flushright|format|ftable|group|itemize|multitable\n|raggedright|smalldisplay|smallformat|smallindentedblock|table\n|titlepage|vtable))\n(?=\\s|$)(.*)","end":"((@)end\\s+\\3)\\b","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"},"4":{"patterns":[{"include":"#param"},{"include":"#main"}]}},"endCaptures":{"1":{"name":"keyword.operator.command.end-$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},"boldText":{"patterns":[{"name":"meta.command.$3.braced.texinfo","contentName":"markup.bold.texinfo","begin":"((@)(b|strong))({)","end":"}","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"},"4":{"name":"punctuation.section.scope.begin.texinfo"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.texinfo"}}},{"name":"meta.command.$3.line.texinfo","contentName":"markup.heading.string.unquoted.texinfo","begin":"(?x) ^ ((@)\n(appendixsection|appendixsec|appendixsubsec|appendixsubsubsec|appendix\n|chapheading|chapter|heading|majorheading|section|subheading|subsection\n|subsubheading|subsubsection|top|unnumberedsec|unnumberedsubsec\n|unnumberedsubsubsec|unnumbered))\n(?=\\s|$)","end":"$","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"markup.bold.texinfo"},"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}}]},"booleanCommands":{"patterns":[{"name":"meta.command.headings.texinfo","match":"((@)headings)\\s+(?:(on)|(off)|(single|double))\\b","captures":{"1":{"name":"keyword.operator.command.headings.texinfo"},"2":{"name":"punctuation.defining.function.texinfo"},"3":{"name":"constant.language.boolean.true.texinfo"},"4":{"name":"constant.language.boolean.false.texinfo"},"5":{"name":"constant.language.heading-type.$5.texinfo"}}},{"name":"meta.command.setchapternewpage.texinfo","match":"((@)setchapternewpage)\\s+(?:(on)|(off)|(odd))\\b","captures":{"1":{"name":"keyword.operator.command.headings.texinfo"},"2":{"name":"punctuation.defining.function.texinfo"},"3":{"name":"constant.language.boolean.true.texinfo"},"4":{"name":"constant.language.boolean.false.texinfo"},"5":{"name":"constant.language.odd.texinfo"}}},{"name":"meta.command.$3.texinfo","match":"((@)(allowcodebreaks))\\s+(true|false)(?=\\s|$)","captures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"},"4":{"name":"constant.language.boolean.$4.texinfo"}}},{"name":"meta.command.$3.texinfo","match":"(?x) ((@)\n(codequotebacktick|codequoteundirected|deftypefnnewline\n|frenchspacing|validatemenus|xrefautomaticsectiontitle))\n\\s+ (?:(on)|(off)) \\b","captures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"},"4":{"name":"constant.language.boolean.true.texinfo"},"5":{"name":"constant.language.boolean.false.texinfo"}}}]},"codeBlocks":{"patterns":[{"name":"meta.command.$3.block.texinfo","contentName":"source.embedded.emacs.lisp","begin":"((@)(lisp|smalllisp))(?=\\s|$)","end":"((@)end\\s+\\3)\\b","patterns":[{"include":"source.emacs.lisp"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}},"endCaptures":{"1":{"name":"keyword.operator.command.end-$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.$3.block.texinfo","contentName":"markup.raw.texinfo","begin":"((@)(example|smallexample|verbatim))(?=\\s|$)","end":"((@)end\\s+\\3)\\b","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}},"endCaptures":{"1":{"name":"keyword.operator.command.end-$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}}]},"comma":{"name":"punctuation.separator.delimiter.comma.texinfo","match":","},"command":{"patterns":[{"name":"meta.command.braced.texinfo","begin":"((@)(\\w+))({)","end":"}","patterns":[{"include":"#param"},{"include":"#comma"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"},"4":{"name":"punctuation.section.scope.begin.texinfo"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.texinfo"}}},{"name":"keyword.operator.command.$2.texinfo","match":"(@)(\\w+)","captures":{"1":{"name":"punctuation.definition.function.texinfo"}}}]},"comments":{"patterns":[{"name":"comment.line.at-sign.texinfo","begin":"((@)c(?:omment)?)(?=$|[^-A-Za-z0-9])","end":"$","beginCaptures":{"1":{"name":"keyword.operator.command.start-comment.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"comment.line.tex-style.texinfo","begin":"\\x7F","end":"$","beginCaptures":{"0":{"name":"punctuation.whitespace.delete.texinfo"}}}]},"conditionals":{"patterns":[{"name":"meta.command.$3.conditional.block.texinfo","begin":"((@)(ifclear|ifcommanddefined|ifcommandnotdefined|ifset))\\s+(\\S+)","end":"((@)end\\s+\\3)\\b","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.control.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"},"4":{"name":"variable.parameter.texinfo"}},"endCaptures":{"1":{"name":"keyword.control.command.end-$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.$3.conditional.block.texinfo","begin":"(?x) ((@)\n(ifdocbook|ifhtml|ifinfo|ifnotdocbook|ifnothtml|ifnotinfo|ifnotplaintext\n|ifnottex|ifnotxml|ifplaintext|iftex|ifxml))\n(?=\\s|$)","end":"((@)end\\s+\\3)\\b","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.control.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"},"4":{"name":"variable.parameter.texinfo"}},"endCaptures":{"1":{"name":"keyword.control.command.end-$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}}]},"dashes":{"patterns":[{"name":"constant.character.dash.em-dash.texinfo","match":"---"},{"name":"constant.character.dash.en-dash.texinfo","match":"--"}]},"definitions":{"patterns":[{"name":"meta.command.$3.line.texinfo","begin":"((@)(defcodeindex|defindex|defopt|defoptx|defvar|defvarx))(?=\\s|$)","end":"$","patterns":[{"name":"entity.name.var.texinfo","match":"\\G\\s*(?:({)[^}]*(})|\\S+)","captures":{"1":{"name":"punctuation.definition.begin.texinfo"},"2":{"name":"punctuation.definition.end.texinfo"}}},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.$3.line.texinfo","begin":"((@)(defcvx|defcv|defopx|defop))(?=\\s|$)","end":"$","patterns":[{"match":"(?x)\n\\G \\s* (({)[^}]*(})|\\S+)\n(?: \\s+ (({)[^}]*(})|\\S+))?\n(?: \\s+ (({)[^}]*(})|\\S+))?","captures":{"1":{"name":"storage.type.var.texinfo"},"2":{"name":"punctuation.definition.begin.texinfo"},"3":{"name":"punctuation.definition.end.texinfo"},"4":{"name":"entity.other.inherited-class.texinfo"},"5":{"name":"punctuation.definition.begin.texinfo"},"6":{"name":"punctuation.definition.end.texinfo"},"7":{"name":"entity.name.var.texinfo"},"8":{"name":"punctuation.definition.begin.texinfo"},"9":{"name":"punctuation.definition.end.texinfo"}}},{"include":"#param"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.$3.line.texinfo","begin":"((@)(deffnx|deffn|deftpx|deftp|defvrx|defvr))(?=\\s|$)","end":"$","patterns":[{"match":"(?x)\n\\G \\s* (({)[^}]*(})|\\S+)\n(?: \\s+ (({)[^}]*(})|\\S+))?","captures":{"1":{"name":"storage.type.var.texinfo"},"2":{"name":"punctuation.definition.begin.texinfo"},"3":{"name":"punctuation.definition.end.texinfo"},"4":{"name":"entity.name.var.texinfo"},"5":{"name":"punctuation.definition.begin.texinfo"},"6":{"name":"punctuation.definition.end.texinfo"}}},{"include":"#param"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.$3.line.texinfo","begin":"((@)(definfoenclose))(?=\\s|$)","end":"$","patterns":[{"match":"\\G\\s*(({)[^}]*(})|[^\\s,]+)","captures":{"1":{"name":"entity.name.var.texinfo"},"2":{"name":"punctuation.definition.begin.texinfo"},"3":{"name":"punctuation.definition.end.texinfo"}}},{"name":"string.unquoted.texinfo","match":"[^\\s,@]+"},{"include":"#comma"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.$3.line.texinfo","begin":"((@)(defivarx|defivar|defmethodx|defmethod))(?=\\s|$)","end":"$","patterns":[{"match":"(?x)\n\\G \\s* (({)[^}]*(})|\\S+)\n(?: \\s+ (({)[^}]*(})|\\S+))?","captures":{"1":{"name":"entity.other.inherited-class.texinfo"},"2":{"name":"punctuation.definition.begin.texinfo"},"3":{"name":"punctuation.definition.end.texinfo"},"4":{"name":"entity.name.var.texinfo"},"5":{"name":"punctuation.definition.begin.texinfo"},"6":{"name":"punctuation.definition.end.texinfo"}}},{"include":"#param"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.$3.line.texinfo","begin":"((@)(defmacx|defmac|defunx|defun|defspecx|defspec))(?=\\s|$)","end":"$","patterns":[{"name":"entity.name.function.texinfo","match":"\\G\\s*(?:({)[^}]*(})|\\S+)","captures":{"1":{"name":"punctuation.definition.begin.texinfo"},"2":{"name":"punctuation.definition.end.texinfo"}}},{"include":"#param"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.$3.line.texinfo","begin":"((@)(deftypecvx|deftypecv|deftypevrx|deftypevr))(?=\\s|$)","end":"$","patterns":[{"match":"(?x)\n\\G \\s* (({)[^}]*(})|\\S+)\n(?: \\s+ (({)[^}]*(})|\\S+))?\n(?: \\s+ (({)[^}]*(})|\\S+))?\n(?: \\s+ (({)[^}]*(})|\\S+))?","captures":{"1":{"name":"storage.type.var.category.texinfo"},"10":{"name":"entity.name.var.texinfo"},"11":{"name":"punctuation.definition.begin.texinfo"},"12":{"name":"punctuation.definition.end.texinfo"},"2":{"name":"punctuation.definition.begin.texinfo"},"3":{"name":"punctuation.definition.end.texinfo"},"4":{"name":"entity.other.inherited-class.texinfo"},"5":{"name":"punctuation.definition.begin.texinfo"},"6":{"name":"punctuation.definition.end.texinfo"},"7":{"name":"storage.type.var.data-type.texinfo"},"8":{"name":"punctuation.definition.begin.texinfo"},"9":{"name":"punctuation.definition.end.texinfo"}}},{"include":"#param"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.$3.line.texinfo","begin":"((@)(deftypefnx|deftypefn))(?=\\s|$)","end":"$","patterns":[{"match":"(?x)\n\\G \\s* (({)[^}]*(})|\\S+)\n(?: \\s+ (({)[^}]*(})|\\S+))?\n(?: \\s+ (({)[^}]*(})|\\S+))?","captures":{"1":{"name":"storage.type.var.category.texinfo"},"2":{"name":"punctuation.definition.begin.texinfo"},"3":{"name":"punctuation.definition.end.texinfo"},"4":{"name":"storage.type.var.data-type.texinfo"},"5":{"name":"punctuation.definition.begin.texinfo"},"6":{"name":"punctuation.definition.end.texinfo"},"7":{"name":"entity.name.var.texinfo"},"8":{"name":"punctuation.definition.begin.texinfo"},"9":{"name":"punctuation.definition.end.texinfo"}}},{"include":"#param"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.$3.line.texinfo","begin":"((@)(deftypefunx|deftypefun))(?=\\s|$)","end":"$","patterns":[{"match":"(?x)\n\\G \\s* (({)[^}]*(})|\\S+)\n(?: \\s+ (({)[^}]*(})|\\S+))?","captures":{"1":{"name":"storage.type.var.data-type.texinfo"},"2":{"name":"punctuation.definition.begin.texinfo"},"3":{"name":"punctuation.definition.end.texinfo"},"4":{"name":"entity.name.var.texinfo"},"5":{"name":"punctuation.definition.begin.texinfo"},"6":{"name":"punctuation.definition.end.texinfo"}}},{"include":"#param"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.$3.line.texinfo","begin":"((@)(deftypemethodx|deftypemethod|deftypeivarx|deftypeivar))(?=\\s|$)","end":"$","patterns":[{"match":"(?x)\n\\G \\s* (({)[^}]*(})|\\S+)\n(?: \\s+ (({)[^}]*(})|\\S+))?\n(?: \\s+ (({)[^}]*(})|\\S+))?","captures":{"1":{"name":"entity.other.inherited-class.texinfo"},"2":{"name":"punctuation.definition.begin.texinfo"},"3":{"name":"punctuation.definition.end.texinfo"},"4":{"name":"storage.type.var.data-type.texinfo"},"5":{"name":"punctuation.definition.begin.texinfo"},"6":{"name":"punctuation.definition.end.texinfo"},"7":{"name":"entity.name.var.texinfo"},"8":{"name":"punctuation.definition.begin.texinfo"},"9":{"name":"punctuation.definition.end.texinfo"}}},{"include":"#param"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.$3.line.texinfo","begin":"((@)(deftypeopx|deftypeop))(?=\\s|$)","end":"$","patterns":[{"match":"(?x)\n\\G \\s* (({)[^}]*(})|\\S+)\n(?: \\s+ (({)[^}]*(})|\\S+))?\n(?: \\s+ (({)[^}]*(})|\\S+))?\n(?: \\s+ (({)[^}]*(})|\\S+))?","captures":{"1":{"name":"storage.type.var.category.texinfo"},"10":{"name":"entity.name.var.texinfo"},"11":{"name":"punctuation.definition.begin.texinfo"},"12":{"name":"punctuation.definition.end.texinfo"},"2":{"name":"punctuation.definition.begin.texinfo"},"3":{"name":"punctuation.definition.end.texinfo"},"4":{"name":"entity.other.inherited-class.texinfo"},"5":{"name":"punctuation.definition.begin.texinfo"},"6":{"name":"punctuation.definition.end.texinfo"},"7":{"name":"storage.type.var.data-type.texinfo"},"8":{"name":"punctuation.definition.begin.texinfo"},"9":{"name":"punctuation.definition.end.texinfo"}}},{"include":"#param"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.$3.line.texinfo","begin":"((@)(deftypevarx|deftypevar))(?=\\s|$)","end":"$","patterns":[{"match":"(?x)\n\\G \\s* (({)[^}]*(})|\\S+)\n(?: \\s+ (({)[^}]*(})|\\S+))?","captures":{"1":{"name":"storage.type.var.data-type.texinfo"},"2":{"name":"punctuation.definition.begin.texinfo"},"3":{"name":"punctuation.definition.end.texinfo"},"4":{"name":"entity.name.var.texinfo"},"5":{"name":"punctuation.definition.begin.texinfo"},"6":{"name":"punctuation.definition.end.texinfo"}}},{"include":"#param"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}}]},"ignored":{"patterns":[{"name":"meta.command.ignore.block.texinfo","contentName":"comment.block.ignored.texinfo","begin":"((@)ignore)(?=\\s|$)","end":"((@)end\\s+ignore)\\b","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.ignore.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}},"endCaptures":{"1":{"name":"keyword.operator.command.end-ignore.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.bye.block.texinfo","contentName":"comment.block.ignored.texinfo","begin":"^((@)bye)(?=\\s|$)","end":"(?=A)B","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.bye.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}}]},"italicText":{"name":"meta.command.$3.braced.texinfo","contentName":"markup.italic.texinfo","begin":"((@)(i|emph|sc|slanted))({)","end":"}","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"},"4":{"name":"punctuation.section.scope.begin.texinfo"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.texinfo"}}},"lineCommands":{"name":"meta.command.$3.line.texinfo","contentName":"markup.raw.texinfo","begin":"(?x) ^ ((@)\n(author|centerchap|center|cindex|clear|defcodeindex|defcvx|defcv|deffnx\n|deffn|defindex|definfoenclose|defivarx|defivar|defmacx|defmac|defmethodx\n|defmethod|defoptx|defopt|defopx|defop|defspecx|defspec|deftpx|deftp\n|deftypecvx|deftypecv|deftypefnx|deftypefn|deftypefunx|deftypefun\n|deftypeivarx|deftypeivar|deftypemethodx|deftypemethod|deftypeopx\n|deftypeop|deftypevarx|deftypevar|deftypevrx|deftypevr|defunx|defun\n|defvarx|defvar|defvrx|defvr|dircategory|documentencoding|documentlanguage\n|enumerate|evenfooting|even|everyfooting|everyexampleindent|exdent|findex\n|firstparagraphindent|fonttextsize|footnotestyle|ftable|include|itemize\n|kbdinputstyle|kindex|macro|multitable|need|node|oddfooting|oddpagesizes\n|paragraphindent|part|pindex|printindex|setfilename|settitle|set\n|shorttitlepage|sortas|sp|strong|subtitle|sub|sup|syncodeindex|synindex\n|table|tindex|title|unmacro|urefbreakstyle|verbatiminclude|vindex|vskip|vtable))\n(?=\\s|$)","end":"$","patterns":[{"name":"entity.name.function.macro.texinfo","match":"\\G(?\u003c=@macro)\\s*(\\S+)"},{"match":"\\G(?:\\s*[-+]?[0-9]+(?:\\.[0-9]+)?,?)+(?=\\s*$)","captures":{"0":{"patterns":[{"name":"constant.numeric.float.texinfo","match":"[-+]?\\d+(?:\\.\\d+)"},{"name":"constant.numeric.int.texinfo","match":"[-+]?\\d+"},{"include":"#comma"}]}}},{"name":"keyword.operator.command.separator.texinfo","match":"(@)\\|","captures":{"1":{"name":"punctuation.definition.function.texinfo"}}},{"include":"#param"},{"include":"#comma"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},"main":{"patterns":[{"include":"#comments"},{"include":"#dashes"},{"include":"#texLine"},{"include":"#alias"},{"include":"#menu"},{"include":"#booleanCommands"},{"include":"#symbolCommands"},{"include":"#set"},{"include":"#definitions"},{"include":"#quotation"},{"include":"#boldText"},{"include":"#italicText"},{"include":"#verbatim"},{"include":"#codeBlocks"},{"include":"#conditionals"},{"include":"#blockCommands"},{"include":"#lineCommands"},{"include":"#ignored"},{"include":"#rawTex"},{"include":"#rawHTML"},{"include":"#rawXML"},{"include":"#command"}]},"manualName":{"name":"meta.manual-name.texinfo","contentName":"constant.other.reference.link.texinfo","begin":"(?:^|\\G)\\s*\\(","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.reference.manual.begin.texinfo"}},"endCaptures":{"0":{"name":"punctuation.definition.reference.manual.end.texinfo"}}},"menu":{"name":"meta.command.$3.block.texinfo","begin":"((@)(detailmenu|direntry|menu))(?=\\s|$)","end":"((@)end\\s+\\3)\\b","patterns":[{"name":"markup.list.texinfo","begin":"^\\*\\s","end":"^(?=\\S)","patterns":[{"contentName":"entity.name.tag.entry-name.texinfo","begin":"\\G(\\s*\\(.*?\\))?","end":"::?|(?=\\s*$)","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"patterns":[{"include":"#manualName"}]}},"endCaptures":{"0":{"name":"punctuation.separator.key-value.menu.texinfo"}}},{"contentName":"entity.name.node-name.texinfo","begin":"(?\u003c=[^:]:)\\s*(\\(.*?\\))?","end":"(\\.)|(?=\\s*$)","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"patterns":[{"include":"#manualName"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.full-stop.period.texinfo"}}},{"name":"string.unquoted.description.texinfo","begin":"(?\u003c=::|\\.)","end":"^(?=\\S)","patterns":[{"include":"#main"}]}],"beginCaptures":{"0":{"name":"punctuation.definition.list.menu.texinfo"}}},{"name":"constant.other.menu-comment.texinfo","begin":"^(?=[^\\s*])(?!@end\\s)","end":"$|(?=\\s*@end\\s)","patterns":[{"include":"#main"}]},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}},"endCaptures":{"1":{"name":"keyword.operator.command.end-$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},"param":{"name":"variable.parameter.texinfo","match":"[^\\s{}@,]+|(?\u003c=\\s)({)[^\\s{}@,]+(})","captures":{"1":{"name":"punctuation.definition.begin.texinfo"},"2":{"name":"punctuation.definition.end.texinfo"}}},"quotation":{"name":"meta.command.$3.block.texinfo","contentName":"markup.quote.texinfo","begin":"((@)(quotation|smallquotation))(?=\\s|$)","end":"((@)end\\s+\\3)\\b","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}},"endCaptures":{"1":{"name":"keyword.operator.command.end-$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},"rawHTML":{"name":"meta.command.raw-html.block.texinfo","contentName":"source.embedded.html","begin":"((@)html)(?=\\s|$)","end":"((@)end\\s+html)\\b","patterns":[{"include":"#main"},{"include":"text.html.basic"}],"beginCaptures":{"1":{"name":"keyword.operator.command.html.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}},"endCaptures":{"1":{"name":"keyword.operator.command.end-html.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},"rawTex":{"name":"meta.command.raw-tex.block.texinfo","contentName":"source.embedded.tex","begin":"((@)tex)(?=\\s|$)","end":"((@)end\\s+tex)\\b","patterns":[{"include":"#main"},{"include":"text.tex.latex"}],"beginCaptures":{"1":{"name":"keyword.operator.command.tex.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}},"endCaptures":{"1":{"name":"keyword.operator.command.end-tex.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},"rawXML":{"name":"meta.command.raw-$3.block.texinfo","contentName":"source.embedded.xml","begin":"((@)(docbook|xml))(?=\\s|$)","end":"((@)end\\s+\\3)\\b","patterns":[{"include":"#main"},{"include":"text.xml"}],"beginCaptures":{"1":{"name":"keyword.operator.command.$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}},"endCaptures":{"1":{"name":"keyword.operator.command.end-$3.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},"set":{"begin":"((@)set)(?=\\s|$)","end":"$","patterns":[{"match":"\\G\\s*(\\S+)","captures":{"1":{"name":"entity.name.var.texinfo","patterns":[{"include":"#main"}]}}},{"include":"#param"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.set.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"}}},"symbolCommands":{"patterns":[{"name":"keyword.operator.command.non-alphabetic.texinfo","match":"(@)[-!\"'\u0026*./:=?@\\\\^`{}~]","captures":{"1":{"name":"punctuation.definition.function.texinfo"}}},{"name":"keyword.operator.command.whitespace.texinfo","match":"(@)(?:( |\\t)|$)","captures":{"1":{"name":"punctuation.definition.function.texinfo"}}},{"name":"meta.command.braced.texinfo","begin":"((@),)({)","end":"}","patterns":[{"name":"constant.character.texinfo","match":"[^\\s{}@,]+"},{"include":"#comma"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.command.cedilla-accent.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"},"3":{"name":"punctuation.section.scope.begin.texinfo"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.texinfo"}}}]},"verbatim":{"name":"meta.command.braced.verb.texinfo","contentName":"string.quoted.other.verbatim.texinfo","begin":"((@)verb)({)([^}])","end":"(\\4)(})","beginCaptures":{"1":{"name":"keyword.operator.command.verb.texinfo"},"2":{"name":"punctuation.definition.function.texinfo"},"3":{"name":"punctuation.section.scope.begin.texinfo"},"4":{"name":"punctuation.arbitrary.delimiter.begin.texinfo"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.texinfo"},"1":{"name":"punctuation.arbitrary.delimiter.end.texinfo"}}}}}
@@ -0,0 +1 @@
1
+ {"name":"YouTube Rich Text","scopeName":"text.youtube","patterns":[{"include":"#main"}],"repository":{"bold":{"name":"markup.bold.emphasis.strong.youtube","match":"(?:\\G|^|(?\u003c=\\s))(\\*)(?=\\S)(.+?)(?\u003c=\\S)(\\*)(?=$|\\s)","captures":{"1":{"name":"punctuation.definition.markup.bold.begin.youtube"},"2":{"patterns":[{"include":"#main"}]},"3":{"name":"punctuation.definition.markup.bold.end.youtube"}}},"hashtag":{"name":"constant.other.hashtag.youtube","match":"(#)\\w+","captures":{"1":{"name":"punctuation.definition.hashtag.youtube"}}},"italic":{"name":"markup.italic.emphasis.youtube","match":"(?:\\G|^|(?\u003c=\\s))(_)(?=\\S)(.+?)(?\u003c=\\S)(_)(?=$|\\s)","captures":{"1":{"name":"punctuation.definition.markup.italic.begin.youtube"},"2":{"patterns":[{"include":"#main"}]},"3":{"name":"punctuation.definition.markup.italic.end.youtube"}}},"main":{"patterns":[{"include":"#timecode"},{"include":"#hashtag"},{"include":"#mention"},{"include":"#url"},{"include":"#bold"},{"include":"#italic"},{"include":"#strikethrough"}]},"mention":{"name":"constant.other.mention.youtube","match":"(?:\\G|^|(?\u003c=\\s))(@)[-.\\w]+(?=$|\\s)","captures":{"1":{"name":"punctuation.definition.mention.youtube"}}},"strikethrough":{"name":"markup.deleted.strike.strikeout.youtube","match":"(?:\\G|^|(?\u003c=\\s))(-)(?=\\S)(.+?)(?\u003c=\\S)(-)(?=$|\\s)","captures":{"1":{"name":"punctuation.definition.markup.strike.begin.youtube"},"2":{"patterns":[{"include":"#main"}]},"3":{"name":"punctuation.definition.markup.strike.end.youtube"}}},"timecode":{"name":"constant.numeric.timecode.youtube","match":"(?:\\b(\\d+)(:))?([0-5][0-9])(:)([0-5][0-9])(?!:|\\d)","captures":{"1":{"name":"constant.numeric.time.unit.hour.youtube"},"2":{"patterns":[{"include":"etc#colon"}]},"3":{"name":"constant.numeric.time.unit.minute.youtube"},"4":{"patterns":[{"include":"etc#colon"}]},"5":{"name":"constant.numeric.time.unit.seconds.youtube"}}},"url":{"patterns":[{"include":"#url-short"},{"include":"#url-long"}]},"url-long":{"name":"constant.other.reference.link.long-url.youtube","match":"https?:(?://)?\\S+"},"url-short":{"name":"constant.other.reference.link.short-url.youtube","match":"(?xi)\n# Hostname\n(?:[^\\s.]+\\.)* \\w[-\\w]* \\.\n\n# Top-level domain list (as of 2022-09-22)\n# - Source: https://data.iana.org/TLD/tlds-alpha-by-domain.txt\n(?! ss\\b) # South Sudan TLD not supported yet\n( aaa\n| aarp\n| abarth\n| abbott\n| abbvie\n| abb\n| abc\n| able\n| abogado\n| abudhabi\n| academy\n| accenture\n| accountants\n| accountant\n| aco\n| actor\n| ac\n| adac\n| ads\n| adult\n| ad\n| aeg\n| aero\n| aetna\n| ae\n| afl\n| africa\n| af\n| agakhan\n| agency\n| ag\n| aig\n| airbus\n| airforce\n| airtel\n| ai\n| akdn\n| alfaromeo\n| alibaba\n| alipay\n| allfinanz\n| allstate\n| ally\n| alsace\n| alstom\n| al\n| amazon\n| americanexpress\n| americanfamily\n| amex\n| amfam\n| amica\n| amsterdam\n| am\n| analytics\n| android\n| anquan\n| anz\n| aol\n| ao\n| apartments\n| apple\n| app\n| aquarelle\n| aq\n| arab\n| aramco\n| archi\n| army\n| arpa\n| arte\n| art\n| ar\n| asda\n| asia\n| associates\n| as\n| athleta\n| attorney\n| at\n| auction\n| audible\n| audio\n| audi\n| auspost\n| author\n| autos\n| auto\n| au\n| avianca\n| aws\n| aw\n| axa\n| ax\n| azure\n| az\n| baby\n| baidu\n| banamex\n| bananarepublic\n| band\n| bank\n| barcelona\n| barclaycard\n| barclays\n| barefoot\n| bargains\n| bar\n| baseball\n| basketball\n| bauhaus\n| bayern\n| ba\n| bbc\n| bbt\n| bbva\n| bb\n| bcg\n| bcn\n| bd\n| beats\n| beauty\n| beer\n| bentley\n| berlin\n| bestbuy\n| best\n| bet\n| be\n| bf\n| bg\n| bharti\n| bh\n| bible\n| bid\n| bike\n| bingo\n| bing\n| bio\n| biz\n| bi\n| bj\n| blackfriday\n| black\n| blockbuster\n| blog\n| bloomberg\n| blue\n| bms\n| bmw\n| bm\n| bnpparibas\n| bn\n| boats\n| boehringer\n| bofa\n| bom\n| bond\n| booking\n| book\n| boo\n| bosch\n| bostik\n| boston\n| bot\n| boutique\n| box\n| bo\n| bradesco\n| bridgestone\n| broadway\n| broker\n| brother\n| brussels\n| br\n| bs\n| bt\n| bugatti\n| builders\n| build\n| business\n| buy\n| buzz\n| bv\n| bw\n| by\n| bzh\n| bz\n| cab\n| cafe\n| call\n| calvinklein\n| cal\n| camera\n| camp\n| cam\n| cancerresearch\n| canon\n| capetown\n| capitalone\n| capital\n| caravan\n| cards\n| careers\n| career\n| care\n| cars\n| car\n| casa\n| case\n| cash\n| casino\n| catering\n| catholic\n| cat\n| ca\n| cba\n| cbn\n| cbre\n| cbs\n| cc\n| cd\n| center\n| ceo\n| cern\n| cfa\n| cfd\n| cf\n| cg\n| chanel\n| channel\n| charity\n| chase\n| chat\n| cheap\n| chintai\n| christmas\n| chrome\n| church\n| ch\n| cipriani\n| circle\n| cisco\n| citadel\n| citic\n| citi\n| cityeats\n| city\n| ci\n| ck\n| claims\n| cleaning\n| click\n| clinic\n| clinique\n| clothing\n| cloud\n| clubmed\n| club\n| cl\n| cm\n| cn\n| coach\n| codes\n| coffee\n| college\n| cologne\n| comcast\n| commbank\n| community\n| company\n| compare\n| computer\n| comsec\n| com\n| condos\n| construction\n| consulting\n| contact\n| contractors\n| cookingchannel\n| cooking\n| cool\n| coop\n| corsica\n| country\n| coupons\n| coupon\n| courses\n| co\n| cpa\n| creditcard\n| creditunion\n| credit\n| cricket\n| crown\n| crs\n| cruises\n| cruise\n| cr\n| cuisinella\n| cu\n| cv\n| cw\n| cx\n| cymru\n| cyou\n| cy\n| cz\n| dabur\n| dad\n| dance\n| data\n| date\n| dating\n| datsun\n| day\n| dclk\n| dds\n| dealer\n| deals\n| deal\n| degree\n| delivery\n| dell\n| deloitte\n| delta\n| democrat\n| dental\n| dentist\n| design\n| desi\n| dev\n| de\n| dhl\n| diamonds\n| diet\n| digital\n| directory\n| direct\n| discount\n| discover\n| dish\n| diy\n| dj\n| dk\n| dm\n| dnp\n| docs\n| doctor\n| dog\n| domains\n| dot\n| download\n| do\n| drive\n| dtv\n| dubai\n| dunlop\n| dupont\n| durban\n| dvag\n| dvr\n| dz\n| earth\n| eat\n| eco\n| ec\n| edeka\n| education\n| edu\n| ee\n| eg\n| email\n| emerck\n| energy\n| engineering\n| engineer\n| enterprises\n| epson\n| equipment\n| ericsson\n| erni\n| er\n| esq\n| estate\n| es\n| etisalat\n| et\n| eurovision\n| eus\n| eu\n| events\n| exchange\n| expert\n| exposed\n| express\n| extraspace\n| fage\n| fail\n| fairwinds\n| faith\n| family\n| fans\n| fan\n| farmers\n| farm\n| fashion\n| fast\n| fedex\n| feedback\n| ferrari\n| ferrero\n| fiat\n| fidelity\n| fido\n| film\n| final\n| finance\n| financial\n| firestone\n| fire\n| firmdale\n| fishing\n| fish\n| fitness\n| fit\n| fi\n| fj\n| fk\n| flickr\n| flights\n| flir\n| florist\n| flowers\n| fly\n| fm\n| foodnetwork\n| food\n| football\n| foo\n| ford\n| forex\n| forsale\n| forum\n| foundation\n| fox\n| fo\n| free\n| fresenius\n| frl\n| frogans\n| frontdoor\n| frontier\n| fr\n| ftr\n| fujitsu\n| fund\n| fun\n| furniture\n| futbol\n| fyi\n| gallery\n| gallo\n| gallup\n| gal\n| games\n| game\n| gap\n| garden\n| gay\n| ga\n| gbiz\n| gb\n| gdn\n| gd\n| gea\n| genting\n| gent\n| george\n| ge\n| gf\n| ggee\n| gg\n| gh\n| gifts\n| gift\n| gives\n| giving\n| gi\n| glass\n| gle\n| global\n| globo\n| gl\n| gmail\n| gmbh\n| gmo\n| gmx\n| gm\n| gn\n| godaddy\n| goldpoint\n| gold\n| golf\n| goodyear\n| google\n| goog\n| goo\n| gop\n| got\n| gov\n| gp\n| gq\n| grainger\n| graphics\n| gratis\n| green\n| gripe\n| grocery\n| group\n| gr\n| gs\n| gt\n| guardian\n| gucci\n| guge\n| guide\n| guitars\n| guru\n| gu\n| gw\n| gy\n| hair\n| hamburg\n| hangout\n| haus\n| hbo\n| hdfcbank\n| hdfc\n| healthcare\n| health\n| help\n| helsinki\n| here\n| hermes\n| hgtv\n| hiphop\n| hisamitsu\n| hitachi\n| hiv\n| hkt\n| hk\n| hm\n| hn\n| hockey\n| holdings\n| holiday\n| homedepot\n| homegoods\n| homesense\n| homes\n| honda\n| horse\n| hospital\n| hosting\n| host\n| hoteles\n| hotels\n| hotmail\n| hot\n| house\n| how\n| hr\n| hsbc\n| ht\n| hughes\n| hu\n| hyatt\n| hyundai\n| ibm\n| icbc\n| ice\n| icu\n| id\n| ieee\n| ie\n| ifm\n| ikano\n| il\n| imamat\n| imdb\n| immobilien\n| immo\n| im\n| inc\n| industries\n| infiniti\n| info\n| ing\n| ink\n| institute\n| insurance\n| insure\n| international\n| intuit\n| int\n| investments\n| in\n| io\n| ipiranga\n| iq\n| irish\n| ir\n| ismaili\n| istanbul\n| ist\n| is\n| itau\n| itv\n| it\n| jaguar\n| java\n| jcb\n| jeep\n| jetzt\n| jewelry\n| je\n| jio\n| jll\n| jmp\n| jm\n| jnj\n| jobs\n| joburg\n| jot\n| joy\n| jo\n| jpmorgan\n| jprs\n| jp\n| juegos\n| juniper\n| kaufen\n| kddi\n| kerryhotels\n| kerrylogistics\n| kerryproperties\n| ke\n| kfh\n| kg\n| kh\n| kia\n| kids\n| kim\n| kinder\n| kindle\n| kitchen\n| kiwi\n| ki\n| km\n| kn\n| koeln\n| komatsu\n| kosher\n| kpmg\n| kpn\n| kp\n| krd\n| kred\n| kr\n| kuokgroup\n| kw\n| kyoto\n| ky\n| kz\n| lacaixa\n| lamborghini\n| lamer\n| lancaster\n| lancia\n| landrover\n| land\n| lanxess\n| lasalle\n| latino\n| latrobe\n| lat\n| lawyer\n| law\n| la\n| lb\n| lc\n| lds\n| lease\n| leclerc\n| lefrak\n| legal\n| lego\n| lexus\n| lgbt\n| lidl\n| lifeinsurance\n| lifestyle\n| life\n| lighting\n| like\n| lilly\n| limited\n| limo\n| lincoln\n| linde\n| link\n| lipsy\n| live\n| living\n| li\n| lk\n| llc\n| llp\n| loans\n| loan\n| locker\n| locus\n| loft\n| lol\n| london\n| lotte\n| lotto\n| love\n| lplfinancial\n| lpl\n| lr\n| ls\n| ltda\n| ltd\n| lt\n| lundbeck\n| luxe\n| luxury\n| lu\n| lv\n| ly\n| macys\n| madrid\n| maif\n| maison\n| makeup\n| management\n| mango\n| man\n| map\n| marketing\n| markets\n| market\n| marriott\n| marshalls\n| maserati\n| mattel\n| ma\n| mba\n| mckinsey\n| mc\n| md\n| media\n| med\n| meet\n| melbourne\n| meme\n| memorial\n| menu\n| men\n| merckmsd\n| me\n| mg\n| mh\n| miami\n| microsoft\n| mil\n| mini\n| mint\n| mitsubishi\n| mit\n| mk\n| mlb\n| mls\n| ml\n| mma\n| mm\n| mn\n| mobile\n| mobi\n| moda\n| moe\n| moi\n| mom\n| monash\n| money\n| monster\n| mormon\n| mortgage\n| moscow\n| motorcycles\n| moto\n| movie\n| mov\n| mo\n| mp\n| mq\n| mr\n| msd\n| ms\n| mtn\n| mtr\n| mt\n| museum\n| music\n| mutual\n| mu\n| mv\n| mw\n| mx\n| my\n| mz\n| nab\n| nagoya\n| name\n| natura\n| navy\n| na\n| nba\n| nc\n| nec\n| netbank\n| netflix\n| network\n| net\n| neustar\n| news\n| new\n| nextdirect\n| next\n| nexus\n| ne\n| nfl\n| nf\n| ngo\n| ng\n| nhk\n| nico\n| nike\n| nikon\n| ninja\n| nissan\n| nissay\n| ni\n| nl\n| nokia\n| northwesternmutual\n| norton\n| nowruz\n| nowtv\n| now\n| no\n| np\n| nra\n| nrw\n| nr\n| ntt\n| nu\n| nyc\n| nz\n| obi\n| observer\n| office\n| okinawa\n| olayangroup\n| olayan\n| oldnavy\n| ollo\n| omega\n| om\n| one\n| ong\n| online\n| onl\n| ooo\n| open\n| oracle\n| orange\n| organic\n| org\n| origins\n| osaka\n| otsuka\n| ott\n| ovh\n| page\n| panasonic\n| paris\n| pars\n| partners\n| parts\n| party\n| passagens\n| pay\n| pa\n| pccw\n| pet\n| pe\n| pfizer\n| pf\n| pg\n| pharmacy\n| phd\n| philips\n| phone\n| photography\n| photos\n| photo\n| physio\n| ph\n| pics\n| pictet\n| pictures\n| pid\n| ping\n| pink\n| pin\n| pioneer\n| pizza\n| pk\n| place\n| playstation\n| play\n| plumbing\n| plus\n| pl\n| pm\n| pnc\n| pn\n| pohl\n| poker\n| politie\n| porn\n| post\n| pramerica\n| praxi\n| press\n| prime\n| productions\n| prod\n| prof\n| progressive\n| promo\n| properties\n| property\n| protection\n| pro\n| prudential\n| pru\n| pr\n| ps\n| pt\n| pub\n| pwc\n| pw\n| py\n| qa\n| qpon\n| quebec\n| quest\n| racing\n| radio\n| read\n| realestate\n| realtor\n| realty\n| recipes\n| redstone\n| redumbrella\n| red\n| rehab\n| reisen\n| reise\n| reit\n| reliance\n| rentals\n| rent\n| ren\n| repair\n| report\n| republican\n| restaurant\n| rest\n| reviews\n| review\n| rexroth\n| re\n| richardli\n| rich\n| ricoh\n| ril\n| rio\n| rip\n| rocher\n| rocks\n| rodeo\n| rogers\n| room\n| ro\n| rsvp\n| rs\n| rugby\n| ruhr\n| run\n| ru\n| rwe\n| rw\n| ryukyu\n| saarland\n| safety\n| safe\n| sakura\n| sale\n| salon\n| samsclub\n| samsung\n| sandvikcoromant\n| sandvik\n| sanofi\n| sap\n| sarl\n| sas\n| save\n| saxo\n| sa\n| sbi\n| sbs\n| sb\n| sca\n| scb\n| schaeffler\n| schmidt\n| scholarships\n| school\n| schule\n| schwarz\n| science\n| scot\n| sc\n| sd\n| search\n| seat\n| secure\n| security\n| seek\n| select\n| sener\n| services\n| ses\n| seven\n| sew\n| sexy\n| sex\n| se\n| sfr\n| sg\n| shangrila\n| sharp\n| shaw\n| shell\n| shia\n| shiksha\n| shoes\n| shopping\n| shop\n| shouji\n| showtime\n| show\n| sh\n| silk\n| sina\n| singles\n| site\n| si\n| sj\n| skin\n| ski\n| skype\n| sky\n| sk\n| sling\n| sl\n| smart\n| smile\n| sm\n| sncf\n| sn\n| soccer\n| social\n| softbank\n| software\n| sohu\n| solar\n| solutions\n| song\n| sony\n| soy\n| so\n| space\n| spa\n| sport\n| spot\n| srl\n| sr\n| ss\n| stada\n| staples\n| star\n| statebank\n| statefarm\n| stcgroup\n| stc\n| stockholm\n| storage\n| store\n| stream\n| studio\n| study\n| style\n| st\n| sucks\n| supplies\n| supply\n| support\n| surf\n| surgery\n| suzuki\n| su\n| sv\n| swatch\n| swiss\n| sx\n| sydney\n| systems\n| sy\n| sz\n| tab\n| taipei\n| talk\n| taobao\n| target\n| tatamotors\n| tatar\n| tattoo\n| taxi\n| tax\n| tci\n| tc\n| tdk\n| td\n| team\n| technology\n| tech\n| tel\n| temasek\n| tennis\n| teva\n| tf\n| tg\n| thd\n| theater\n| theatre\n| th\n| tiaa\n| tickets\n| tienda\n| tiffany\n| tips\n| tires\n| tirol\n| tjmaxx\n| tjx\n| tj\n| tkmaxx\n| tk\n| tl\n| tmall\n| tm\n| tn\n| today\n| tokyo\n| tools\n| top\n| toray\n| toshiba\n| total\n| tours\n| town\n| toyota\n| toys\n| to\n| trade\n| trading\n| training\n| travelchannel\n| travelersinsurance\n| travelers\n| travel\n| trust\n| trv\n| tr\n| tt\n| tube\n| tui\n| tunes\n| tushu\n| tvs\n| tv\n| tw\n| tz\n| ua\n| ubank\n| ubs\n| ug\n| uk\n| unicom\n| university\n| uno\n| uol\n| ups\n| us\n| uy\n| uz\n| vacations\n| vana\n| vanguard\n| va\n| vc\n| vegas\n| ventures\n| verisign\n| versicherung\n| vet\n| ve\n| vg\n| viajes\n| video\n| vig\n| viking\n| villas\n| vin\n| vip\n| virgin\n| visa\n| vision\n| viva\n| vivo\n| vi\n| vlaanderen\n| vn\n| vodka\n| volkswagen\n| volvo\n| vote\n| voting\n| voto\n| voyage\n| vuelos\n| vu\n| wales\n| walmart\n| walter\n| wanggou\n| wang\n| watches\n| watch\n| weatherchannel\n| weather\n| webcam\n| weber\n| website\n| wedding\n| wed\n| weibo\n| weir\n| wf\n| whoswho\n| wien\n| wiki\n| williamhill\n| windows\n| wine\n| winners\n| win\n| wme\n| wolterskluwer\n| woodside\n| works\n| work\n| world\n| wow\n| ws\n| wtc\n| wtf\n| xbox\n| xerox\n| xfinity\n| xihuan\n| xin\n| xn--11b4c3d\n| xn--1ck2e1b\n| xn--1qqw23a\n| xn--2scrj9c\n| xn--30rr7y\n| xn--3bst00m\n| xn--3ds443g\n| xn--3e0b707e\n| xn--3hcrj9c\n| xn--3pxu8k\n| xn--42c2d9a\n| xn--45br5cyl\n| xn--45brj9c\n| xn--45q11c\n| xn--4dbrk0ce\n| xn--4gbrim\n| xn--54b7fta0cc\n| xn--55qw42g\n| xn--55qx5d\n| xn--5su34j936bgsg\n| xn--5tzm5g\n| xn--6frz82g\n| xn--6qq986b3xl\n| xn--80adxhks\n| xn--80ao21a\n| xn--80aqecdr1a\n| xn--80asehdb\n| xn--80aswg\n| xn--8y0a063a\n| xn--90a3ac\n| xn--90ae\n| xn--90ais\n| xn--9dbq2a\n| xn--9et52u\n| xn--9krt00a\n| xn--b4w605ferd\n| xn--bck1b9a5dre4c\n| xn--c1avg\n| xn--c2br7g\n| xn--cck2b3b\n| xn--cckwcxetd\n| xn--cg4bki\n| xn--clchc0ea0b2g2a9gcd\n| xn--czr694b\n| xn--czrs0t\n| xn--czru2d\n| xn--d1acj3b\n| xn--d1alf\n| xn--e1a4c\n| xn--eckvdtc9d\n| xn--efvy88h\n| xn--fct429k\n| xn--fhbei\n| xn--fiq228c5hs\n| xn--fiq64b\n| xn--fiqs8s\n| xn--fiqz9s\n| xn--fjq720a\n| xn--flw351e\n| xn--fpcrj9c3d\n| xn--fzc2c9e2c\n| xn--fzys8d69uvgm\n| xn--g2xx48c\n| xn--gckr3f0f\n| xn--gecrj9c\n| xn--gk3at1e\n| xn--h2breg3eve\n| xn--h2brj9c8c\n| xn--h2brj9c\n| xn--hxt814e\n| xn--i1b6b1a6a2e\n| xn--imr513n\n| xn--io0a7i\n| xn--j1aef\n| xn--j1amh\n| xn--j6w193g\n| xn--jlq480n2rg\n| xn--jlq61u9w7b\n| xn--jvr189m\n| xn--kcrx77d1x4a\n| xn--kprw13d\n| xn--kpry57d\n| xn--kput3i\n| xn--l1acc\n| xn--lgbbat1ad8j\n| xn--mgb9awbf\n| xn--mgba3a3ejt\n| xn--mgba3a4f16a\n| xn--mgba7c0bbn0a\n| xn--mgbaakc7dvf\n| xn--mgbaam7a8h\n| xn--mgbab2bd\n| xn--mgbah1a3hjkrd\n| xn--mgbai9azgqp6j\n| xn--mgbayh7gpa\n| xn--mgbbh1a71e\n| xn--mgbbh1a\n| xn--mgbc0a9azcg\n| xn--mgbca7dzdo\n| xn--mgbcpq6gpa1a\n| xn--mgberp4a5d4ar\n| xn--mgbgu82a\n| xn--mgbi4ecexp\n| xn--mgbpl2fh\n| xn--mgbt3dhd\n| xn--mgbtx2b\n| xn--mgbx4cd0ab\n| xn--mix891f\n| xn--mk1bu44c\n| xn--mxtq1m\n| xn--ngbc5azd\n| xn--ngbe9e0a\n| xn--ngbrx\n| xn--node\n| xn--nqv7fs00ema\n| xn--nqv7f\n| xn--nyqy26a\n| xn--o3cw4h\n| xn--ogbpf8fl\n| xn--otu796d\n| xn--p1acf\n| xn--p1ai\n| xn--pgbs0dh\n| xn--pssy2u\n| xn--q7ce6a\n| xn--q9jyb4c\n| xn--qcka1pmc\n| xn--qxa6a\n| xn--qxam\n| xn--rhqv96g\n| xn--rovu88b\n| xn--rvc1e0am3e\n| xn--s9brj9c\n| xn--ses554g\n| xn--t60b56a\n| xn--tckwe\n| xn--tiq49xqyj\n| xn--unup4y\n| xn--vermgensberater-ctb\n| xn--vermgensberatung-pwb\n| xn--vhquv\n| xn--vuq861b\n| xn--w4r85el8fhu5dnra\n| xn--w4rs40l\n| xn--wgbh1c\n| xn--wgbl6a\n| xn--xhq521b\n| xn--xkc2al3hye2a\n| xn--xkc2dl3a5ee0h\n| xn--y9a3aq\n| xn--yfro4i67o\n| xn--ygbi2ammx\n| xn--zfr164b\n| xxx\n| xyz\n| yachts\n| yahoo\n| yamaxun\n| yandex\n| ye\n| yodobashi\n| yoga\n| yokohama\n| youtube\n| you\n| yt\n| yun\n| zappos\n| zara\n| za\n| zero\n| zip\n| zm\n| zone\n| zuerich\n| zw\n) \\b\n\n# Pathname component, if any\n\\S*"}}}
data/grammars/version CHANGED
@@ -1 +1 @@
1
- 7.22.1
1
+ 7.24.0
data/lib/linguist/VERSION CHANGED
@@ -1 +1 @@
1
- 7.22.1
1
+ 7.24.0
@@ -64,6 +64,7 @@ module Linguist
64
64
  go_vendor? ||
65
65
  go_lock? ||
66
66
  poetry_lock? ||
67
+ pdm_lock? ||
67
68
  esy_lock? ||
68
69
  npm_shrinkwrap_or_package_lock? ||
69
70
  terraform_lock? ||
@@ -103,7 +104,8 @@ module Linguist
103
104
  generated_visualstudio6? ||
104
105
  generated_haxe? ||
105
106
  generated_jooq? ||
106
- generated_pascal_tlb?
107
+ generated_pascal_tlb? ||
108
+ generated_sorbet_rbi?
107
109
  end
108
110
 
109
111
  # Internal: Is the blob an Xcode file?
@@ -115,7 +117,7 @@ module Linguist
115
117
  def xcode_file?
116
118
  ['.nib', '.xcworkspacedata', '.xcuserstate'].include?(extname)
117
119
  end
118
-
120
+
119
121
  # Internal: Is the blob an IntelliJ IDEA project file?
120
122
  #
121
123
  # JetBrains IDEs generate project files under an `.idea` directory
@@ -319,7 +321,7 @@ module Linguist
319
321
  return false unless extname == '.go'
320
322
  return false unless lines.count > 1
321
323
 
322
- return lines.first(40).any? { |l| l.include? "Code generated by" }
324
+ return lines.first(40).any? { |l| l =~ %r{^// Code generated .*} }
323
325
  end
324
326
 
325
327
  # Internal: Is the blob a protocol buffer file generated by the
@@ -407,6 +409,13 @@ module Linguist
407
409
  !!name.match(/poetry\.lock/)
408
410
  end
409
411
 
412
+ # Internal: Is the blob a generated pdm.lock?
413
+ #
414
+ # Returns true or false.
415
+ def pdm_lock?
416
+ !!name.match(/pdm\.lock/)
417
+ end
418
+
410
419
  # Internal: Is the blob a generated esy lock file?
411
420
  #
412
421
  # Returns true or false.
@@ -760,6 +769,26 @@ module Linguist
760
769
  !!name.match(/_tlb\.pas$/i)
761
770
  end
762
771
 
772
+ # Internal: Is this a Sorbet RBI file generated by Tapioca?
773
+ #
774
+ # Tapioca generates non-human-editable .rbi files in several different
775
+ # ways:
776
+ #
777
+ # 1. `tapioca gem` uses reflection to generate generic .rbi for gems.
778
+ # 2. `tapioca dsl` uses DSL compilers to generate .rbi for modules/classes.
779
+ # 3. `tapioca annotations` pulls .rbi from remote sources.
780
+ #
781
+ # All are marked with similar wording.
782
+ #
783
+ # Returns true or false
784
+ def generated_sorbet_rbi?
785
+ return false unless extname.downcase == '.rbi'
786
+ return false unless lines.count >= 5
787
+ lines[0].match?(/^# typed:/) &&
788
+ lines[2].include?("DO NOT EDIT MANUALLY") &&
789
+ lines[4].match?(/^# Please.*run.*`.*tapioca/)
790
+ end
791
+
763
792
  # Internal: Extract a Hash of name/content pairs from an HTML <meta> tag
764
793
  def extract_html_meta(match)
765
794
  (match.last.sub(/\/\Z/, "").strip.scan(/
@@ -17,4 +17,5 @@ extensions:
17
17
  - ".cmp"
18
18
  - ".sol"
19
19
  - ".stl"
20
+ - ".tag"
20
21
  - ".url"
@@ -96,6 +96,16 @@ disambiguations:
96
96
  pattern: '^\s*(# |include|require)\b'
97
97
  - language: Clojure
98
98
  pattern: '\((def|defn|defmacro|let)\s'
99
+ - extensions: ['.bf']
100
+ rules:
101
+ - language: Beef
102
+ pattern: '(?-m)^\s*using\s+(System|Beefy)(\.(.*))?;\s*$'
103
+ - language: HyPhy
104
+ pattern:
105
+ - '(?-m)^\s*#include\s+".*";\s*$'
106
+ - '\sfprintf\s*\('
107
+ - language: Brainfuck
108
+ pattern: '(>\+>|>\+<)'
99
109
  - extensions: ['.bi']
100
110
  rules:
101
111
  - language: FreeBasic
@@ -128,6 +138,12 @@ disambiguations:
128
138
  pattern: '\/\* |\/\/ |^\}'
129
139
  - extensions: ['.cls']
130
140
  rules:
141
+ - language: Visual Basic 6.0
142
+ and:
143
+ - named_pattern: vb-class
144
+ - pattern: '^\s*BEGIN\R\s*MultiUse\s*=.*\R\s*Persistable\s*='
145
+ - language: VBA
146
+ named_pattern: vb-class
131
147
  - language: TeX
132
148
  pattern: '^\s*\\(?:NeedsTeXFormat|ProvidesClass){'
133
149
  - language: ObjectScript
@@ -141,7 +157,7 @@ disambiguations:
141
157
  - language: Smalltalk
142
158
  pattern: '![\w\s]+methodsFor: '
143
159
  - language: 'C#'
144
- pattern: '^(\s*namespace\s*[\w\.]+\s*({|;)|\s*\/\/)'
160
+ pattern: '^\s*(using\s+[A-Z][\s\w.]+;|namespace\s*[\w\.]+\s*({|;)|\/\/)'
145
161
  - extensions: ['.csc']
146
162
  rules:
147
163
  - language: GSC
@@ -229,6 +245,16 @@ disambiguations:
229
245
  - language: Frege
230
246
  pattern: '^\s*(import|module|package|data|type) '
231
247
  - language: Text
248
+ - extensions: ['.frm']
249
+ rules:
250
+ - language: VBA
251
+ and:
252
+ - named_pattern: vb-form
253
+ - pattern: '^\s*Begin\s+{[0-9A-Z\-]*}\s?'
254
+ - language: Visual Basic 6.0
255
+ and:
256
+ - named_pattern: vb-form
257
+ - pattern: '^\s*Begin\s+VB\.Form\s+'
232
258
  - extensions: ['.fs']
233
259
  rules:
234
260
  - language: Forth
@@ -245,6 +271,12 @@ disambiguations:
245
271
  pattern: '^(?:<|[a-zA-Z-][a-zA-Z0-9_-]+[ \t]+\w)|\${\w+[^\n]*?}|^[ \t]*(?:<#--.*?-->|<#([a-z]+)(?=\s|>)[^>]*>.*?</#\1>|\[#--.*?--\]|\[#([a-z]+)(?=\s|\])[^\]]*\].*?\[#\2\])'
246
272
  - language: Fluent
247
273
  pattern: '^-?[a-zA-Z][a-zA-Z0-9_-]* *=|\{\$-?[a-zA-Z][-\w]*(?:\.[a-zA-Z][-\w]*)?\}'
274
+ - extensions: ['.g']
275
+ rules:
276
+ - language: GAP
277
+ pattern: '\s*(Declare|BindGlobal|KeyDependentOperation|Install(Method|GlobalFunction)|SetPackageInfo)'
278
+ - language: G-code
279
+ pattern: '^[MG][0-9]+\n'
248
280
  - extensions: ['.gd']
249
281
  rules:
250
282
  - language: GAP
@@ -287,6 +319,11 @@ disambiguations:
287
319
  rules:
288
320
  - language: Hack
289
321
  pattern: '<\?hh'
322
+ - extensions: ['.html']
323
+ rules:
324
+ - language: Ecmarkup
325
+ pattern: '<emu-(?:alg|annex|biblio|clause|eqn|example|figure|gann|gmod|gprose|grammar|intro|not-ref|note|nt|prodref|production|rhs|table|t|xref)(?:$|\s|>)'
326
+ - language: HTML
290
327
  - extensions: ['.i']
291
328
  rules:
292
329
  - language: Motorola 68K Assembly
@@ -322,6 +359,13 @@ disambiguations:
322
359
  pattern:
323
360
  - '(?i:^\s*{\$(?:mode|ifdef|undef|define)[ ]+[a-z0-9_]+})'
324
361
  - '^\s*end[.;]\s*$'
362
+ - extensions: ['.json']
363
+ rules:
364
+ - language: OASv2-json
365
+ pattern: '"swagger":\s?"2.[0-9.]+"'
366
+ - language: OASv3-json
367
+ pattern: '"openapi":\s?"3.[0-9.]+"'
368
+ - language: JSON
325
369
  - extensions: ['.l']
326
370
  rules:
327
371
  - language: Common Lisp
@@ -460,7 +504,7 @@ disambiguations:
460
504
  - extensions: ['.plist']
461
505
  rules:
462
506
  - language: XML Property List
463
- pattern: '<!DOCTYPE\s+plist'
507
+ pattern: '^\s*(?:<\?xml\s|<!DOCTYPE\s+plist|<plist(?:\s+version\s*=\s*(["''])\d+(?:\.\d+)?\1)?\s*>\s*$)'
464
508
  - language: OpenStep Property List
465
509
  - extensions: ['.pm']
466
510
  rules:
@@ -494,7 +538,7 @@ disambiguations:
494
538
  - pattern: HEADERS
495
539
  - pattern: SOURCES
496
540
  - language: IDL
497
- pattern: '^\s*function[ \w,]+$'
541
+ pattern: '^\s*(?i:function|pro|compile_opt) \w[ \w,:]*$'
498
542
  - extensions: ['.properties']
499
543
  rules:
500
544
  - language: INI
@@ -573,6 +617,13 @@ disambiguations:
573
617
  pattern: '(?i:\^(this|super)\.|^\s*~\w+\s*=\.)'
574
618
  - language: Scala
575
619
  pattern: '(^\s*import (scala|java)\.|^\s*class\b)'
620
+ - extensions: ['.scd']
621
+ rules:
622
+ - language: SuperCollider
623
+ pattern: '(?i:\^(this|super)\.|^\s*(~\w+\s*=\.|SynthDef\b))'
624
+ - language: Markdown
625
+ # Markdown syntax for scdoc
626
+ pattern: '^#+\s+(NAME|SYNOPSIS|DESCRIPTION)'
576
627
  - extensions: ['.sol']
577
628
  rules:
578
629
  - language: Solidity
@@ -621,6 +672,10 @@ disambiguations:
621
672
  pattern: '^\s*(?:use\s+v6\b|\bmodule\b|\bmy\s+class\b)'
622
673
  - language: Turing
623
674
  pattern: '^\s*%[ \t]+|^\s*var\s+\w+(\s*:\s*\w+)?\s*:=\s*\w+'
675
+ - extensions: ['.tag']
676
+ rules:
677
+ - language: Java Server Pages
678
+ pattern: '<%[@!=\s]?\s*(taglib|tag|include|attribute|variable)\s'
624
679
  - extensions: ['.toc']
625
680
  rules:
626
681
  - language: World of Warcraft Addon Data
@@ -650,6 +705,27 @@ disambiguations:
650
705
  # VIM_MODELINE pattern in `./lib/linguist/strategy/modeline.rb`.
651
706
  - language: Vim Help File
652
707
  pattern: '(?:(?:^|[ \t])(?:vi|Vi(?=m))(?:m[<=>]?[0-9]+|m)?|[ \t]ex)(?=:(?=[ \t]*set?[ \t][^\r\n:]+:)|:(?![ \t]*set?[ \t]))(?:(?:[ \t]*:[ \t]*|[ \t])\w*(?:[ \t]*=(?:[^\\\s]|\\.)*)?)*[ \t:](?:filetype|ft|syntax)[ \t]*=(help)(?=$|\s|:)'
708
+ - language: Adblock Filter List
709
+ pattern: |-
710
+ (?x)\A
711
+ \[
712
+ (?<version>
713
+ (?:
714
+ [Aa]d[Bb]lock
715
+ (?:[ \t][Pp]lus)?
716
+ |
717
+ u[Bb]lock
718
+ (?:[ \t][Oo]rigin)?
719
+ |
720
+ [Aa]d[Gg]uard
721
+ )
722
+ (?:[ \t] \d+(?:\.\d+)*+)?
723
+ )
724
+ (?:
725
+ [ \t]?;[ \t]?
726
+ \g<version>
727
+ )*+
728
+ \]
653
729
  # HACK: This is a contrived use of heuristics needed to address
654
730
  # an unusual edge-case. See https://git.io/JULye for discussion.
655
731
  - language: Text
@@ -686,11 +762,15 @@ disambiguations:
686
762
  pattern: '^%(end|ctor|hook|group)\b'
687
763
  - language: Linker Script
688
764
  pattern: 'OUTPUT_ARCH\(|OUTPUT_FORMAT\(|SECTIONS'
689
- - extensions: ['.yaml']
765
+ - extensions: ['.yaml', '.yml']
690
766
  rules:
691
767
  - language: MiniYAML
692
768
  pattern: '^\t+.*?[^\s:].*?:'
693
769
  negative_pattern: '---'
770
+ - language: OASv2-yaml
771
+ pattern: 'swagger:\s?''?"?2.[0-9.]+''?"?'
772
+ - language: OASv3-yaml
773
+ pattern: 'openapi:\s?''?"?3.[0-9.]+''?"?'
694
774
  - language: YAML
695
775
  - extensions: ['.yy']
696
776
  rules:
@@ -733,3 +813,5 @@ named_patterns:
733
813
  objectivec: '^\s*(@(interface|class|protocol|property|end|synchronised|selector|implementation)\b|#import\s+.+\.h[">])'
734
814
  perl5: '\buse\s+(?:strict\b|v?5\.)'
735
815
  perl6: '^\s*(?:use\s+v6\b|\bmodule\b|\b(?:my\s+)?class\b)'
816
+ vb-class: '^\s*VERSION\s+[0-9]\.[0-9]\s+CLASS'
817
+ vb-form: '^\s*VERSION\s+[0-9]\.[0-9]{2}'