@shikijs/langs-precompiled 3.1.0 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/dist/abap.mjs +1 -1
  2. package/dist/actionscript-3.mjs +1 -1
  3. package/dist/ada.mjs +1 -1
  4. package/dist/angular-expression.mjs +1 -1
  5. package/dist/angular-html.mjs +1 -1
  6. package/dist/angular-inline-style.mjs +1 -1
  7. package/dist/angular-inline-template.mjs +1 -1
  8. package/dist/angular-ts.mjs +1 -1
  9. package/dist/apache.mjs +1 -1
  10. package/dist/apex.mjs +1 -1
  11. package/dist/apl.mjs +1 -1
  12. package/dist/applescript.mjs +1 -1
  13. package/dist/ara.mjs +1 -1
  14. package/dist/asciidoc.mjs +1 -1
  15. package/dist/asm.mjs +1 -1
  16. package/dist/astro.mjs +1 -1
  17. package/dist/awk.mjs +1 -1
  18. package/dist/ballerina.mjs +1 -1
  19. package/dist/bat.mjs +1 -1
  20. package/dist/beancount.mjs +1 -1
  21. package/dist/berry.mjs +1 -1
  22. package/dist/bicep.mjs +1 -1
  23. package/dist/blade.mjs +1 -1
  24. package/dist/bsl.mjs +1 -1
  25. package/dist/c.mjs +1 -1
  26. package/dist/cadence.mjs +1 -1
  27. package/dist/cairo.mjs +1 -1
  28. package/dist/clarity.mjs +1 -1
  29. package/dist/clojure.mjs +1 -1
  30. package/dist/cmake.mjs +1 -1
  31. package/dist/cobol.mjs +1 -1
  32. package/dist/codeql.mjs +1 -1
  33. package/dist/coffee.mjs +1 -1
  34. package/dist/common-lisp.mjs +1 -1
  35. package/dist/coq.mjs +1 -1
  36. package/dist/cpp-macro.mjs +1 -1
  37. package/dist/cpp.mjs +1 -1
  38. package/dist/crystal.mjs +1 -1
  39. package/dist/csharp.mjs +1 -1
  40. package/dist/css.mjs +1 -1
  41. package/dist/cue.mjs +1 -1
  42. package/dist/cypher.mjs +1 -1
  43. package/dist/d.mjs +1 -1
  44. package/dist/dart.mjs +1 -1
  45. package/dist/dax.mjs +1 -1
  46. package/dist/desktop.mjs +1 -1
  47. package/dist/diff.mjs +1 -1
  48. package/dist/dotenv.mjs +1 -1
  49. package/dist/dream-maker.mjs +1 -1
  50. package/dist/elixir.mjs +1 -1
  51. package/dist/elm.mjs +1 -1
  52. package/dist/emacs-lisp.mjs +1 -1
  53. package/dist/erlang.mjs +1 -1
  54. package/dist/es-tag-css.mjs +1 -1
  55. package/dist/es-tag-glsl.mjs +1 -1
  56. package/dist/es-tag-html.mjs +1 -1
  57. package/dist/es-tag-sql.mjs +1 -1
  58. package/dist/es-tag-xml.mjs +1 -1
  59. package/dist/fennel.mjs +1 -1
  60. package/dist/fish.mjs +1 -1
  61. package/dist/fluent.mjs +1 -1
  62. package/dist/fortran-free-form.mjs +1 -1
  63. package/dist/fsharp.mjs +1 -1
  64. package/dist/gdresource.mjs +1 -1
  65. package/dist/gdscript.mjs +1 -1
  66. package/dist/gdshader.mjs +1 -1
  67. package/dist/genie.mjs +1 -1
  68. package/dist/git-rebase.mjs +1 -1
  69. package/dist/gleam.mjs +1 -1
  70. package/dist/glimmer-js.mjs +1 -1
  71. package/dist/glimmer-ts.mjs +1 -1
  72. package/dist/glsl.mjs +1 -1
  73. package/dist/gnuplot.mjs +1 -1
  74. package/dist/go.mjs +1 -1
  75. package/dist/graphql.mjs +1 -1
  76. package/dist/groovy.mjs +1 -1
  77. package/dist/hack.mjs +1 -1
  78. package/dist/haml.mjs +1 -1
  79. package/dist/handlebars.mjs +1 -1
  80. package/dist/haskell.mjs +1 -1
  81. package/dist/haxe.mjs +1 -1
  82. package/dist/hcl.mjs +1 -1
  83. package/dist/hjson.mjs +1 -1
  84. package/dist/hlsl.mjs +1 -1
  85. package/dist/html-derivative.mjs +1 -1
  86. package/dist/html.mjs +1 -1
  87. package/dist/http.mjs +1 -1
  88. package/dist/hxml.mjs +1 -1
  89. package/dist/hy.mjs +1 -1
  90. package/dist/imba.mjs +1 -3
  91. package/dist/index.mjs +2 -0
  92. package/dist/java.mjs +1 -1
  93. package/dist/javascript.mjs +1 -1
  94. package/dist/jinja-html.mjs +1 -1
  95. package/dist/jinja.mjs +1 -1
  96. package/dist/jison.mjs +1 -1
  97. package/dist/json.mjs +1 -1
  98. package/dist/json5.mjs +1 -1
  99. package/dist/jsonc.mjs +1 -1
  100. package/dist/jsonl.mjs +1 -1
  101. package/dist/jsonnet.mjs +1 -1
  102. package/dist/jsx.mjs +1 -1
  103. package/dist/julia.mjs +1 -2
  104. package/dist/kotlin.mjs +1 -1
  105. package/dist/kusto.mjs +1 -1
  106. package/dist/latex.mjs +1 -1
  107. package/dist/lean.mjs +1 -1
  108. package/dist/less.mjs +1 -1
  109. package/dist/liquid.mjs +1 -1
  110. package/dist/llvm.d.mts +3 -0
  111. package/dist/llvm.mjs +5 -0
  112. package/dist/log.mjs +1 -1
  113. package/dist/lua.mjs +1 -1
  114. package/dist/luau.mjs +1 -1
  115. package/dist/make.mjs +1 -1
  116. package/dist/markdown-vue.mjs +1 -1
  117. package/dist/markdown.mjs +1 -1
  118. package/dist/marko.mjs +1 -1
  119. package/dist/matlab.mjs +1 -1
  120. package/dist/mdc.mjs +1 -1
  121. package/dist/mdx.mjs +1 -1
  122. package/dist/mermaid.mjs +1 -1
  123. package/dist/mipsasm.mjs +1 -1
  124. package/dist/mojo.mjs +1 -1
  125. package/dist/move.mjs +1 -1
  126. package/dist/narrat.mjs +1 -1
  127. package/dist/nextflow.mjs +1 -1
  128. package/dist/nginx.mjs +1 -1
  129. package/dist/nim.mjs +1 -1
  130. package/dist/nix.mjs +1 -1
  131. package/dist/nushell.mjs +1 -1
  132. package/dist/objective-c.mjs +1 -1
  133. package/dist/objective-cpp.mjs +1 -1
  134. package/dist/ocaml.mjs +1 -1
  135. package/dist/pascal.mjs +1 -1
  136. package/dist/perl.mjs +1 -1
  137. package/dist/php.mjs +1 -1
  138. package/dist/plsql.mjs +1 -1
  139. package/dist/po.mjs +1 -1
  140. package/dist/polar.mjs +1 -1
  141. package/dist/postcss.mjs +1 -1
  142. package/dist/powerquery.mjs +1 -1
  143. package/dist/powershell.mjs +1 -1
  144. package/dist/prisma.mjs +1 -1
  145. package/dist/prolog.mjs +1 -1
  146. package/dist/proto.mjs +1 -1
  147. package/dist/pug.mjs +1 -1
  148. package/dist/puppet.mjs +1 -1
  149. package/dist/purescript.mjs +6 -2
  150. package/dist/python.mjs +1 -1
  151. package/dist/qss.mjs +1 -1
  152. package/dist/r.mjs +1 -1
  153. package/dist/racket.mjs +1 -1
  154. package/dist/raku.mjs +1 -1
  155. package/dist/razor.mjs +1 -1
  156. package/dist/reg.mjs +1 -1
  157. package/dist/regexp.mjs +1 -1
  158. package/dist/rel.mjs +1 -1
  159. package/dist/riscv.mjs +1 -1
  160. package/dist/rst.mjs +1 -1
  161. package/dist/ruby.mjs +1 -1
  162. package/dist/rust.mjs +1 -1
  163. package/dist/sas.mjs +1 -1
  164. package/dist/sass.mjs +1 -1
  165. package/dist/scala.mjs +1 -1
  166. package/dist/scheme.mjs +1 -1
  167. package/dist/scss.mjs +1 -1
  168. package/dist/sdbl.mjs +1 -1
  169. package/dist/shaderlab.mjs +1 -1
  170. package/dist/shellscript.mjs +1 -1
  171. package/dist/shellsession.mjs +1 -1
  172. package/dist/smalltalk.mjs +1 -1
  173. package/dist/solidity.mjs +1 -1
  174. package/dist/soy.mjs +1 -1
  175. package/dist/sparql.mjs +1 -1
  176. package/dist/splunk.mjs +1 -1
  177. package/dist/sql.mjs +1 -1
  178. package/dist/ssh-config.mjs +1 -1
  179. package/dist/stata.mjs +1 -1
  180. package/dist/stylus.mjs +1 -1
  181. package/dist/svelte.mjs +1 -1
  182. package/dist/system-verilog.mjs +1 -1
  183. package/dist/systemd.mjs +1 -1
  184. package/dist/talonscript.mjs +1 -1
  185. package/dist/tasl.mjs +1 -1
  186. package/dist/tcl.mjs +1 -1
  187. package/dist/templ.mjs +1 -1
  188. package/dist/terraform.mjs +1 -1
  189. package/dist/tex.mjs +1 -1
  190. package/dist/toml.mjs +1 -1
  191. package/dist/tsx.mjs +1 -1
  192. package/dist/twig.mjs +1 -1
  193. package/dist/typescript.mjs +1 -1
  194. package/dist/typespec.mjs +1 -1
  195. package/dist/typst.mjs +1 -1
  196. package/dist/v.mjs +1 -1
  197. package/dist/vala.mjs +1 -1
  198. package/dist/vb.mjs +1 -1
  199. package/dist/verilog.mjs +1 -1
  200. package/dist/vhdl.mjs +1 -1
  201. package/dist/viml.mjs +1 -1
  202. package/dist/vue-html.mjs +1 -1
  203. package/dist/vue-sfc-style-variable-injection.mjs +1 -1
  204. package/dist/vue.mjs +1 -1
  205. package/dist/vyper.mjs +1 -1
  206. package/dist/wasm.mjs +1 -1
  207. package/dist/wenyan.mjs +1 -1
  208. package/dist/wgsl.mjs +1 -1
  209. package/dist/wikitext.mjs +1 -1
  210. package/dist/wit.d.mts +3 -0
  211. package/dist/wit.mjs +5 -0
  212. package/dist/wolfram.mjs +1 -1
  213. package/dist/xml.mjs +1 -1
  214. package/dist/yaml.mjs +1 -1
  215. package/dist/zenscript.mjs +1 -1
  216. package/dist/zig.mjs +1 -1
  217. package/package.json +6 -4
@@ -1,6 +1,6 @@
1
1
  import { EmulatedRegExp } from 'oniguruma-to-es'
2
2
 
3
- const lang = Object.freeze({displayName:"Shell",name:"shellscript",patterns:[{include:"#initial_context"}],repository:{alias_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([ \\t]*))\\1)(alias)(?:(?=([ \\t]*))\\3)((?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])-[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\b)(?:(?=([ \\t]*))\\6))*)(?:(?=([ \\t]*))\\7)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(\\[)((?:(?:(?:\\$?(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])|@)|\\*)|(-?\\p{Nd}+)))(\\]))?(?:(?:(=)|(\\+=))|(-=))","dgv",{"hiddenCaptures":[1,3,6,7]}),beginCaptures:{"1":{name:"storage.type.alias.shell"},"2":{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])-[\p{L}\p{M}\p{N}\p{Pc}]+\b/dgv,name:"string.unquoted.argument.shell constant.other.option.shell"}]},"3":{name:"string.unquoted.argument.shell constant.other.option.shell"},"4":{name:"variable.other.assignment.shell"},"5":{name:"punctuation.definition.array.access.shell"},"6":{name:"variable.other.assignment.shell"},"7":{name:"constant.numeric.shell constant.numeric.integer.shell"},"8":{name:"punctuation.definition.array.access.shell"},"9":{name:"keyword.operator.assignment.shell"},"10":{name:"keyword.operator.assignment.compound.shell"},"11":{name:"keyword.operator.assignment.compound.shell"}},end:/(?:(?= |\t|(?=\n?$))|(?:(?:(?:(;)|(&&))|(\|\|))|(&)))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.semicolon.shell"},"2":{name:"punctuation.separator.statement.and.shell"},"3":{name:"punctuation.separator.statement.or.shell"},"4":{name:"punctuation.separator.statement.background.shell"}},name:"meta.expression.assignment.alias.shell",patterns:[{include:"#normal_context"}]},argument:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([ \\t]+))\\1)(?!(?:&|\\||\\(|\\[|#|\\n|(?=\\n?$)|;))","dgv",{"hiddenCaptures":[1]}),beginCaptures:{},end:/(?= |\t|;|\||&|(?=\n?$)|\n|\)|`)/dgv,endCaptures:{},name:"meta.argument.shell",patterns:[{include:"#argument_context"},{include:"#line_continuation"}]},argument_context:{patterns:[{captures:{"1":{name:"string.unquoted.argument.shell",patterns:[{match:/\*/dgv,name:"variable.language.special.wildcard.shell"},{include:"#variable"},{include:"#numeric_literal"},{captures:{"1":{name:"constant.language.$1.shell"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(\b(?:true|false)\b)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([ \\t]*))\\1)([^ \\t\\n\\>\\&\\;\\<\\>\\(\\)\\$\\`\\\\\"'\\<\\|]+(?!>))","dgv",{"hiddenCaptures":[1]})},{include:"#normal_context"}]},arithmetic_double:{patterns:[{begin:/\(\(/dgv,beginCaptures:{"0":{name:"punctuation.section.arithmetic.double.shell"}},end:/\)\p{space}*\)/dgv,endCaptures:{"0":{name:"punctuation.section.arithmetic.double.shell"}},name:"meta.arithmetic.shell",patterns:[{include:"#math"},{include:"#string"}]}]},arithmetic_no_dollar:{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.arithmetic.single.shell"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arithmetic.single.shell"}},name:"meta.arithmetic.shell",patterns:[{include:"#math"},{include:"#string"}]}]},array_access_inline:{captures:{"1":{name:"punctuation.section.array.shell"},"2":{patterns:[{include:"#special_expansion"},{include:"#string"},{include:"#variable"}]},"3":{name:"punctuation.section.array.shell"}},match:/(\[)([^\[\]]+)(\])/dgv},array_value:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([ \\t]*))\\1)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(\\[)((?:(?:(?:\\$?(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])|@)|\\*)|(-?\\p{Nd}+)))(\\]))?(?:(?:(=)|(\\+=))|(-=))(?:(?=([ \\t]*))\\10)(\\()","dgv",{"hiddenCaptures":[1,10]}),beginCaptures:{"1":{name:"variable.other.assignment.shell"},"2":{name:"punctuation.definition.array.access.shell"},"3":{name:"variable.other.assignment.shell"},"4":{name:"constant.numeric.shell constant.numeric.integer.shell"},"5":{name:"punctuation.definition.array.access.shell"},"6":{name:"keyword.operator.assignment.shell"},"7":{name:"keyword.operator.assignment.compound.shell"},"8":{name:"keyword.operator.assignment.compound.shell"},"9":{name:"punctuation.definition.array.shell"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.array.shell"}},patterns:[{include:"#comment"},{captures:{"1":{name:"variable.other.assignment.array.shell entity.other.attribute-name.shell"},"2":{name:"keyword.operator.assignment.shell punctuation.definition.assignment.shell"}},match:/((?<![\p{L}\p{M}\p{N}\p{Pc}])[a-zA-Z_0-9\-]+(?![\p{L}\p{M}\p{N}\p{Pc}]))(=)/dgv},{captures:{"1":{name:"punctuation.definition.bracket.named-array.shell"},"2":{name:"string.unquoted.shell entity.other.attribute-name.bracket.shell"},"3":{name:"punctuation.definition.bracket.named-array.shell"},"4":{name:"punctuation.definition.assignment.shell"}},match:/(\[)([^\n]+?)(\])(=)/dgv},{include:"#normal_context"},{include:"#simple_unquoted"}]},assignment_statement:{patterns:[{include:"#array_value"},{include:"#modified_assignment_statement"},{include:"#normal_assignment_statement"}]},basic_command_name:{captures:{"1":{name:"storage.modifier.$1.shell"},"2":{name:"entity.name.function.call.shell entity.name.command.shell",patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:continue|return|break)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"keyword.control.$0.shell"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|:|\.)(?!\/)(?![\p{L}\p{M}\p{N}\p{Pc}])(?!-)/dgv,name:"support.function.builtin.shell"},{include:"#variable"}]}},match:/(?!(?:!|&|\||\(|\)|\{|\[|<|>|#|\n|(?=\n?$)|;|[ \t]))(?!nocorrect |nocorrect\t|nocorrect(?=\n?$)|readonly |readonly\t|readonly(?=\n?$)|function |function\t|function(?=\n?$)|foreach |foreach\t|foreach(?=\n?$)|coproc |coproc\t|coproc(?=\n?$)|logout |logout\t|logout(?=\n?$)|export |export\t|export(?=\n?$)|select |select\t|select(?=\n?$)|repeat |repeat\t|repeat(?=\n?$)|pushd |pushd\t|pushd(?=\n?$)|until |until\t|until(?=\n?$)|while |while\t|while(?=\n?$)|local |local\t|local(?=\n?$)|case |case\t|case(?=\n?$)|done |done\t|done(?=\n?$)|elif |elif\t|elif(?=\n?$)|else |else\t|else(?=\n?$)|esac |esac\t|esac(?=\n?$)|popd |popd\t|popd(?=\n?$)|then |then\t|then(?=\n?$)|time |time\t|time(?=\n?$)|for |for\t|for(?=\n?$)|end |end\t|end(?=\n?$)|fi |fi\t|fi(?=\n?$)|do |do\t|do(?=\n?$)|in |in\t|in(?=\n?$)|if |if\t|if(?=\n?$))(?:((?<=^|;|&|[ \t])(?:readonly|declare|typeset|export|local)(?=[ \t]|;|&|(?=\n?$)))|((?!"|'|\\\n?(?=\n?$))[^\!'"\<\> \t\n\r]+?))(?:(?= |\t)|(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\))/dgv,name:"meta.statement.command.name.basic.shell"},block_comment:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.comment.begin.shell"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.shell"}},name:"comment.block.shell"},boolean:{match:/\b(?:true|false)\b/dgv,name:"constant.language.$0.shell"},case_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("(\\bcase\\b)(?:(?=([ \\t]*))\\2)([^\\n]+?)(?:(?=([ \\t]*))\\4)(\\bin\\b)","dgv",{"hiddenCaptures":[2,4]}),beginCaptures:{"1":{name:"keyword.control.case.shell"},"2":{patterns:[{include:"#initial_context"}]},"3":{name:"keyword.control.in.shell"}},end:/\besac\b/dgv,endCaptures:{"0":{name:"keyword.control.esac.shell"}},name:"meta.case.shell",patterns:[{include:"#comment"},{captures:{"1":{name:"keyword.operator.pattern.case.default.shell"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([ \\t]*))\\1)(\\* *\\))","dgv",{"hiddenCaptures":[1]})},{begin:/*@__PURE__*/ new EmulatedRegExp("(?<!\\))(?!(?:(?=([ \\t]*))\\1)(?:esac\\b|(?=\\n?$)))","dgv",{"hiddenCaptures":[1]}),beginCaptures:{},end:/(?:(?=\besac\b)|(\)))/dgv,endCaptures:{"1":{name:"keyword.operator.pattern.case.shell"}},name:"meta.case.entry.pattern.shell",patterns:[{include:"#case_statement_context"}]},{begin:/(?<=\))/dgv,beginCaptures:{},end:/(?:(;;)|(?=\besac\b))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.case.shell"}},name:"meta.case.entry.body.shell",patterns:[{include:"#typical_statements"},{include:"#initial_context"}]}]},case_statement_context:{patterns:[{match:/\*/dgv,name:"variable.language.special.quantifier.star.shell keyword.operator.quantifier.star.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell"},{match:/\+/dgv,name:"variable.language.special.quantifier.plus.shell keyword.operator.quantifier.plus.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell"},{match:/\?/dgv,name:"variable.language.special.quantifier.question.shell keyword.operator.quantifier.question.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell"},{match:/@/dgv,name:"variable.language.special.at.shell keyword.operator.at.shell punctuation.definition.regex.at.shell"},{match:/\|/dgv,name:"keyword.operator.orvariable.language.special.or.shell keyword.operator.alternation.ruby.shell punctuation.definition.regex.alternation.shell punctuation.separator.regex.alternation.shell"},{match:/\\[^\n]/dgv,name:"constant.character.escape.shell"},{match:/(?<=\tin| in| |\t|;;)\(/dgv,name:"keyword.operator.pattern.case.shell"},{begin:/(?<=\P{space})(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.group.shell punctuation.definition.regex.group.shell"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.group.shell punctuation.definition.regex.group.shell"}},name:"meta.parenthese.shell",patterns:[{include:"#case_statement_context"}]},{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.character-class.shell"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.character-class.shell"}},name:"string.regexp.character-class.shell",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.shell"}]},{include:"#string"},{match:/[^\) \t\n\[\?\*\|\@]/dgv,name:"string.unquoted.pattern.shell string.regexp.unquoted.shell"}]},command_name_range:{begin:/(?:)/dgv,beginCaptures:{},end:/(?:(?= |\t|;|\||&|(?=\n?$)|\n|\)|`)|(?=<))/dgv,endCaptures:{},name:"meta.statement.command.name.shell",patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:continue|return|break)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.function.call.shell entity.name.command.shell keyword.control.$0.shell"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|:|\.)(?!\/)(?![\p{L}\p{M}\p{N}\p{Pc}])(?!-)/dgv,name:"entity.name.function.call.shell entity.name.command.shell support.function.builtin.shell"},{include:"#variable"},{captures:{"1":{name:"entity.name.function.call.shell entity.name.command.shell"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?<=^|'|\"|\\}|\\))([^ \\n\\t\\r\"'\\=\\;\\&\\|\\`\\)\\{\\<\\>]+)","dgv",{"strategy":"clip_search"})},{begin:/*@__PURE__*/ new EmulatedRegExp("(?:^|(?<! |\\t|;|\\||&|\\n|\\{|#))(\\$?)((?:(\")|(')))","dgv",{"strategy":"clip_search"}),beginCaptures:{"1":{name:"meta.statement.command.name.quoted.shell punctuation.definition.string.shell entity.name.function.call.shell entity.name.command.shell"},"2":{},"3":{name:"meta.statement.command.name.quoted.shell string.quoted.double.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell"},"4":{name:"meta.statement.command.name.quoted.shell string.quoted.single.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell"}},end:/*@__PURE__*/ new EmulatedRegExp("(?<!^)(?<=\\2)()()","dgv",{"strategy":"clip_search"}),endCaptures:{},patterns:[{include:"#continuation_of_single_quoted_command_name"},{include:"#continuation_of_double_quoted_command_name"}]},{include:"#line_continuation"},{include:"#simple_unquoted"}]},command_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([ \\t]*))\\1)(?!(?:!|&|\\||\\(|\\)|\\{|\\[|<|>|#|\\n|(?=\\n?$)|;|[ \\t]))(?!nocorrect |nocorrect\\t|nocorrect(?=\\n?$)|readonly |readonly\\t|readonly(?=\\n?$)|function |function\\t|function(?=\\n?$)|foreach |foreach\\t|foreach(?=\\n?$)|coproc |coproc\\t|coproc(?=\\n?$)|logout |logout\\t|logout(?=\\n?$)|export |export\\t|export(?=\\n?$)|select |select\\t|select(?=\\n?$)|repeat |repeat\\t|repeat(?=\\n?$)|pushd |pushd\\t|pushd(?=\\n?$)|until |until\\t|until(?=\\n?$)|while |while\\t|while(?=\\n?$)|local |local\\t|local(?=\\n?$)|case |case\\t|case(?=\\n?$)|done |done\\t|done(?=\\n?$)|elif |elif\\t|elif(?=\\n?$)|else |else\\t|else(?=\\n?$)|esac |esac\\t|esac(?=\\n?$)|popd |popd\\t|popd(?=\\n?$)|then |then\\t|then(?=\\n?$)|time |time\\t|time(?=\\n?$)|for |for\\t|for(?=\\n?$)|end |end\\t|end(?=\\n?$)|fi |fi\\t|fi(?=\\n?$)|do |do\\t|do(?=\\n?$)|in |in\\t|in(?=\\n?$)|if |if\\t|if(?=\\n?$))(?!\\\\\\n?(?=\\n?$))","dgv",{"hiddenCaptures":[1]}),beginCaptures:{},end:/(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.statement.command.shell",patterns:[{include:"#command_name_range"},{include:"#line_continuation"},{include:"#option"},{include:"#argument"},{include:"#string"},{include:"#heredoc"}]},comment:{captures:{"1":{name:"comment.line.number-sign.shell meta.shebang.shell"},"2":{name:"punctuation.definition.comment.shebang.shell"},"3":{name:"comment.line.number-sign.shell"},"4":{name:"punctuation.definition.comment.shell"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:^|(?:(?=([ \\t]+))\\1))(?:((#!)[^\\n]*)|((#)[^\\n]*))","dgv",{"hiddenCaptures":[1]})},comments:{patterns:[{include:"#block_comment"},{include:"#line_comment"}]},"compound-command":{patterns:[{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.logical-expression.shell"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.logical-expression.shell"}},name:"meta.scope.logical-expression.shell",patterns:[{include:"#logical-expression"},{include:"#initial_context"}]},{begin:/(?<=\p{space}|^)\{(?=\p{space}|(?=\n?$))/dgv,beginCaptures:{"0":{name:"punctuation.definition.group.shell"}},end:/(?<=^|;)\p{space}*(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.group.shell"}},name:"meta.scope.group.shell",patterns:[{include:"#initial_context"}]}]},continuation_of_double_quoted_command_name:{begin:/(?<=")/dgvy,beginCaptures:{},contentName:"meta.statement.command.name.continuation string.quoted.double entity.name.function.call entity.name.command",end:/"/dgv,endCaptures:{"0":{name:"string.quoted.double.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell"}},patterns:[{match:/\\[\$\n\`"\\]/dgv,name:"constant.character.escape.shell"},{include:"#variable"},{include:"#interpolation"}]},continuation_of_single_quoted_command_name:{begin:/(?<=')/dgvy,beginCaptures:{},contentName:"meta.statement.command.name.continuation string.quoted.single entity.name.function.call entity.name.command",end:/'/dgv,endCaptures:{"0":{name:"string.quoted.single.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell"}}},custom_command_names:{patterns:[]},custom_commands:{patterns:[]},double_quote_context:{patterns:[{match:/\\[\$\`"\\\n]/dgv,name:"constant.character.escape.shell"},{include:"#variable"},{include:"#interpolation"}]},double_quote_escape_char:{match:/\\[\$\`"\\\n]/dgv,name:"constant.character.escape.shell"},floating_keyword:{patterns:[{match:/(?<=^|;|&| |\t)(?:then|elif|else|done|end|do|if|fi)(?= |\t|;|&|(?=\n?$))/dgv,name:"keyword.control.$0.shell"}]},for_statement:{patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(\\bfor\\b)(?:(?=([ \\t]*))\\2)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=([ \\t]*))\\4)(\\bin\\b)","dgv",{"hiddenCaptures":[2,4]}),beginCaptures:{"1":{name:"keyword.control.for.shell"},"2":{name:"variable.other.for.shell"},"3":{name:"keyword.control.in.shell"}},end:/(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.for.in.shell",patterns:[{include:"#string"},{include:"#simple_unquoted"},{include:"#normal_context"}]},{begin:/(\bfor\b)/dgv,beginCaptures:{"1":{name:"keyword.control.for.shell"}},end:/(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.for.shell",patterns:[{include:"#arithmetic_double"},{include:"#normal_context"}]}]},function_definition:{applyEndPatternLast:1,begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([ \\t]*))\\1)(?:(\\bfunction\\b)(?:(?=([ \\t]*))\\3)([^ \\t\\n\\r\\(\\)\\=\"']+)(?:(\\()(?:(?=([ \\t]*))\\6)(\\)))?|([^ \\t\\n\\r\\(\\)\\=\"']+)(?:(?=([ \\t]*))\\9)(\\()(?:(?=([ \\t]*))\\11)(\\)))","dgv",{"hiddenCaptures":[1,3,6,9,11]}),beginCaptures:{"1":{name:"storage.type.function.shell"},"2":{name:"entity.name.function.shell"},"3":{name:"punctuation.definition.arguments.shell"},"4":{name:"punctuation.definition.arguments.shell"},"5":{name:"entity.name.function.shell"},"6":{name:"punctuation.definition.arguments.shell"},"7":{name:"punctuation.definition.arguments.shell"}},end:/(?<=\}|\))/dgv,endCaptures:{},name:"meta.function.shell",patterns:[{match:/(?:\t| |\n)/dgvy},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},name:"meta.function.body.shell",patterns:[{include:"#initial_context"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},name:"meta.function.body.shell",patterns:[{include:"#initial_context"}]},{include:"#initial_context"}]},heredoc:{patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<!<)<<-)(?:(?=([ \\t]*))\\2)(\"|')(?:(?=([ \\t]*))\\4)([^\"']+?)(?=\\p{space}|;|&|<|\"|')(\\3)([^\\n]*)","dgv",{"hiddenCaptures":[2,4]}),beginCaptures:{"1":{name:"keyword.operator.heredoc.shell"},"2":{name:"punctuation.definition.string.heredoc.quote.shell"},"3":{name:"punctuation.definition.string.heredoc.delimiter.shell"},"4":{name:"punctuation.definition.string.heredoc.quote.shell"},"5":{patterns:[{include:"#redirect_fix"},{include:"#typical_statements"}]}},contentName:"string.quoted.heredoc.indent.$3",end:/^\t*\3(?=\p{space}|;|&|(?=\n?$))()()()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.heredoc.$0.shell"}},patterns:[]},{begin:/*@__PURE__*/ new EmulatedRegExp("((?<!<)<<(?!<))(?:(?=([ \\t]*))\\2)(\"|')(?:(?=([ \\t]*))\\4)([^\"']+?)(?=\\p{space}|;|&|<|\"|')(\\3)([^\\n]*)","dgv",{"hiddenCaptures":[2,4]}),beginCaptures:{"1":{name:"keyword.operator.heredoc.shell"},"2":{name:"punctuation.definition.string.heredoc.quote.shell"},"3":{name:"punctuation.definition.string.heredoc.delimiter.shell"},"4":{name:"punctuation.definition.string.heredoc.quote.shell"},"5":{patterns:[{include:"#redirect_fix"},{include:"#typical_statements"}]}},contentName:"string.quoted.heredoc.no-indent.$3",end:/^\3(?=\p{space}|;|&|(?=\n?$))()()()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.heredoc.delimiter.shell"}},patterns:[]},{begin:/*@__PURE__*/ new EmulatedRegExp("((?<!<)<<-)(?:(?=([ \\t]*))\\2)([^\"' \\t]+)(?=\\p{space}|;|&|<|\"|')([^\\n]*)","dgv",{"hiddenCaptures":[2]}),beginCaptures:{"1":{name:"keyword.operator.heredoc.shell"},"2":{name:"punctuation.definition.string.heredoc.delimiter.shell"},"3":{patterns:[{include:"#redirect_fix"},{include:"#typical_statements"}]}},contentName:"string.unquoted.heredoc.indent.$2",end:/^\t*\2(?=\p{space}|;|&|(?=\n?$))()()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.heredoc.delimiter.shell"}},patterns:[{include:"#double_quote_escape_char"},{include:"#variable"},{include:"#interpolation"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("((?<!<)<<(?!<))(?:(?=([ \\t]*))\\2)([^\"' \\t]+)(?=\\p{space}|;|&|<|\"|')([^\\n]*)","dgv",{"hiddenCaptures":[2]}),beginCaptures:{"1":{name:"keyword.operator.heredoc.shell"},"2":{name:"punctuation.definition.string.heredoc.delimiter.shell"},"3":{patterns:[{include:"#redirect_fix"},{include:"#typical_statements"}]}},contentName:"string.unquoted.heredoc.no-indent.$2",end:/^\2(?=\p{space}|;|&|(?=\n?$))()()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.heredoc.delimiter.shell"}},patterns:[{include:"#double_quote_escape_char"},{include:"#variable"},{include:"#interpolation"}]}]},herestring:{patterns:[{begin:/(<<<)\p{space}*(('))/dgv,beginCaptures:{"1":{name:"keyword.operator.herestring.shell"},"2":{name:"string.quoted.single.shell"},"3":{name:"punctuation.definition.string.begin.shell"}},contentName:"string.quoted.single.shell",end:/(')/dgv,endCaptures:{"0":{name:"string.quoted.single.shell"},"1":{name:"punctuation.definition.string.end.shell"}},name:"meta.herestring.shell"},{begin:/(<<<)\p{space}*(("))/dgv,beginCaptures:{"1":{name:"keyword.operator.herestring.shell"},"2":{name:"string.quoted.double.shell"},"3":{name:"punctuation.definition.string.begin.shell"}},contentName:"string.quoted.double.shell",end:/(")/dgv,endCaptures:{"0":{name:"string.quoted.double.shell"},"1":{name:"punctuation.definition.string.end.shell"}},name:"meta.herestring.shell",patterns:[{include:"#double_quote_context"}]},{captures:{"1":{name:"keyword.operator.herestring.shell"},"2":{name:"string.unquoted.herestring.shell",patterns:[{include:"#initial_context"}]}},match:/(<<<)\p{space}*(([^\p{space}\)\\]|\\[^\n])+)/dgv,name:"meta.herestring.shell"}]},initial_context:{patterns:[{include:"#comment"},{include:"#pipeline"},{include:"#normal_statement_seperator"},{include:"#logical_expression_double"},{include:"#logical_expression_single"},{include:"#assignment_statement"},{include:"#case_statement"},{include:"#for_statement"},{include:"#loop"},{include:"#function_definition"},{include:"#line_continuation"},{include:"#arithmetic_double"},{include:"#misc_ranges"},{include:"#variable"},{include:"#interpolation"},{include:"#heredoc"},{include:"#herestring"},{include:"#redirection"},{include:"#pathname"},{include:"#floating_keyword"},{include:"#alias_statement"},{include:"#normal_statement"},{include:"#string"},{include:"#support"}]},inline_comment:{captures:{"1":{name:"comment.block.shell punctuation.definition.comment.begin.shell"},"2":{name:"comment.block.shell"},"3":{patterns:[{match:/\*\//dgv,name:"comment.block.shell punctuation.definition.comment.end.shell"},{match:/\*/dgv,name:"comment.block.shell"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\4)[^\\/])*))\\3)((?:(?=(\\*+))\\6)/))","dgv",{"hiddenCaptures":[3,4,6]})},interpolation:{patterns:[{include:"#arithmetic_dollar"},{include:"#subshell_dollar"},{begin:/`/dgv,beginCaptures:{"0":{name:"punctuation.definition.evaluation.backticks.shell"}},end:/`/dgv,endCaptures:{"0":{name:"punctuation.definition.evaluation.backticks.shell"}},name:"string.interpolated.backtick.shell",patterns:[{match:/\\[\`\\\$]/dgv,name:"constant.character.escape.shell"},{begin:/(?<=[^\p{L}\p{M}\p{N}\p{Pc}])(?=#)(?!#\{)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.shell"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/#/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.shell"}},end:/(?=`)/dgv,name:"comment.line.number-sign.shell"}]},{include:"#initial_context"}]}]},keyword:{patterns:[{match:/(?<=^|;|&|\p{space})(then|else|elif|fi|for|in|do|done|select|continue|esac|while|until|return)(?=\p{space}|;|&|(?=\n?$))/dgv,name:"keyword.control.shell"},{match:/(?<=^|;|&|\p{space})(?:export|declare|typeset|local|readonly)(?=\p{space}|;|&|(?=\n?$))/dgv,name:"storage.modifier.shell"}]},line_comment:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(//)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.comment.shell"}},end:/(?<=\n)(?<!\\\n)/dgv,endCaptures:{},name:"comment.line.double-slash.shell",patterns:[{include:"#line_continuation_character"}]},line_continuation:{match:/\\(?=\n)/dgv,name:"constant.character.escape.line-continuation.shell"},"logical-expression":{patterns:[{include:"#arithmetic_no_dollar"},{match:/=[\=\~]?|!=?|<|>|&&|\|\|/dgv,name:"keyword.operator.logical.shell"},{match:/(?<!\P{space})-(nt|ot|ef|eq|ne|l[te]|g[te]|[a-hknoprstuwxzOGLSN])\b/dgv,name:"keyword.operator.logical.shell"}]},logical_expression_context:{patterns:[{include:"#regex_comparison"},{include:"#arithmetic_no_dollar"},{include:"#logical-expression"},{include:"#logical_expression_single"},{include:"#logical_expression_double"},{include:"#comment"},{include:"#boolean"},{include:"#redirect_number"},{include:"#numeric_literal"},{include:"#pipeline"},{include:"#normal_statement_seperator"},{include:"#string"},{include:"#variable"},{include:"#interpolation"},{include:"#heredoc"},{include:"#herestring"},{include:"#pathname"},{include:"#floating_keyword"},{include:"#support"}]},logical_expression_double:{begin:/\[\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.logical-expression.shell"}},end:/\]\]/dgv,endCaptures:{"0":{name:"punctuation.definition.logical-expression.shell"}},name:"meta.scope.logical-expression.shell",patterns:[{include:"#logical_expression_context"}]},logical_expression_single:{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.logical-expression.shell"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.logical-expression.shell"}},name:"meta.scope.logical-expression.shell",patterns:[{include:"#logical_expression_context"}]},loop:{patterns:[{begin:/(?<=^|;|&|\p{space})(for)\p{space}+([^\n]+?)\p{space}+(in)(?=\p{space}|;|&|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.control.shell"},"2":{name:"variable.other.loop.shell",patterns:[{include:"#string"}]},"3":{name:"keyword.control.shell"}},end:/(?<=^|;|&|\p{space})done(?=\p{space}|;|&|(?=\n?$)|\))/dgv,endCaptures:{"0":{name:"keyword.control.shell"}},name:"meta.scope.for-in-loop.shell",patterns:[{include:"#initial_context"}]},{begin:/(?<=^|;|&|\p{space})(while|until)(?=\p{space}|;|&|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.control.shell"}},end:/(?<=^|;|&|\p{space})done(?=\p{space}|;|&|(?=\n?$)|\))/dgv,endCaptures:{"0":{name:"keyword.control.shell"}},name:"meta.scope.while-loop.shell",patterns:[{include:"#initial_context"}]},{begin:/(?<=^|;|&|\p{space})(select)\p{space}+((?:[^\p{space}\\]|\\[^\n])+)(?=\p{space}|;|&|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.control.shell"},"2":{name:"variable.other.loop.shell"}},end:/(?<=^|;|&|\p{space})(done)(?=\p{space}|;|&|(?=\n?$)|\))/dgv,endCaptures:{"1":{name:"keyword.control.shell"}},name:"meta.scope.select-block.shell",patterns:[{include:"#initial_context"}]},{begin:/(?<=^|;|&|\p{space})if(?=\p{space}|;|&|(?=\n?$))/dgv,beginCaptures:{"0":{name:"keyword.control.if.shell"}},end:/(?<=^|;|&|\p{space})fi(?=\p{space}|;|&|(?=\n?$))/dgv,endCaptures:{"0":{name:"keyword.control.fi.shell"}},name:"meta.scope.if-block.shell",patterns:[{include:"#initial_context"}]}]},math:{patterns:[{include:"#variable"},{match:/\+{1,2}|-{1,2}|!|~|\*{1,2}|\/|%|<[\<\=]?|>[\>\=]?|==|!=|^|\|{1,2}|&{1,2}|\?|:|,|=|[\*\/\%\+\-\&\^\|]=|<<=|>>=/dgv,name:"keyword.operator.arithmetic.shell"},{match:/0[xX][0-9A-Fa-f]+/dgv,name:"constant.numeric.hex.shell"},{match:/;/dgv,name:"punctuation.separator.semicolon.range"},{match:/0\p{Nd}+/dgv,name:"constant.numeric.octal.shell"},{match:/\p{Nd}{1,2}#[0-9a-zA-Z\@_]+/dgv,name:"constant.numeric.other.shell"},{match:/\p{Nd}+/dgv,name:"constant.numeric.integer.shell"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])[a-zA-Z_0-9]+(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.other.normal.shell"}]},math_operators:{patterns:[{match:/\+{1,2}|-{1,2}|!|~|\*{1,2}|\/|%|<[\<\=]?|>[\>\=]?|==|!=|^|\|{1,2}|&{1,2}|\?|:|,|=|[\*\/\%\+\-\&\^\|]=|<<=|>>=/dgv,name:"keyword.operator.arithmetic.shell"},{match:/0[xX][0-9A-Fa-f]+/dgv,name:"constant.numeric.hex.shell"},{match:/0\p{Nd}+/dgv,name:"constant.numeric.octal.shell"},{match:/\p{Nd}{1,2}#[0-9a-zA-Z\@_]+/dgv,name:"constant.numeric.other.shell"},{match:/\p{Nd}+/dgv,name:"constant.numeric.integer.shell"}]},misc_ranges:{patterns:[{include:"#logical_expression_single"},{include:"#logical_expression_double"},{include:"#subshell_dollar"},{begin:/(?<![^ \t])(\{)(?![\p{L}\p{M}\p{N}\p{Pc}]|\$)/dgv,beginCaptures:{"1":{name:"punctuation.definition.group.shell"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.group.shell"}},name:"meta.scope.group.shell",patterns:[{include:"#initial_context"}]}]},modified_assignment_statement:{begin:/(?<=^|;|&|[ \t])(?:readonly|declare|typeset|export|local)(?=[ \t]|;|&|(?=\n?$))/dgv,beginCaptures:{"0":{name:"storage.modifier.$0.shell"}},end:/(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.statement.shell meta.expression.assignment.modified.shell",patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])-[\p{L}\p{M}\p{N}\p{Pc}]+\b/dgv,name:"string.unquoted.argument.shell constant.other.option.shell"},{include:"#array_value"},{captures:{"1":{name:"variable.other.assignment.shell"},"2":{name:"punctuation.definition.array.access.shell"},"3":{name:"variable.other.assignment.shell"},"4":{name:"constant.numeric.shell constant.numeric.integer.shell"},"5":{name:"punctuation.definition.array.access.shell"},"6":{name:"keyword.operator.assignment.shell"},"7":{name:"keyword.operator.assignment.compound.shell"},"8":{name:"keyword.operator.assignment.compound.shell"},"9":{name:"constant.numeric.shell constant.numeric.hex.shell"},"10":{name:"constant.numeric.shell constant.numeric.octal.shell"},"11":{name:"constant.numeric.shell constant.numeric.other.shell"},"12":{name:"constant.numeric.shell constant.numeric.decimal.shell"},"13":{name:"constant.numeric.shell constant.numeric.version.shell"},"14":{name:"constant.numeric.shell constant.numeric.integer.shell"}},match:/((?<![\p{L}\p{M}\p{N}\p{Pc}])[a-zA-Z_0-9\-]+(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:(\[)((?:(?:(?:\$?(?<![\p{L}\p{M}\p{N}\p{Pc}])[a-zA-Z_0-9\-]+(?![\p{L}\p{M}\p{N}\p{Pc}])|@)|\*)|(-?\p{Nd}+)))(\]))?(?:(?:(=)|(\+=))|(-=))?(?:(?<==| |\t|^|\{|\(|\[)(?:(?:(?:(?:(?:(0[xX][0-9A-Fa-f]+)|(0\p{Nd}+))|(\p{Nd}{1,2}#[0-9a-zA-Z\@_]+))|(-?\p{Nd}+\.\p{Nd}+))|(-?\p{Nd}+(?:\.\p{Nd}+)+))|(-?\p{Nd}+))(?= |\t|(?=\n?$)|\}|\)|;))?/dgv},{include:"#normal_context"}]},modifiers:{match:/(?<=^|;|&|[ \t])(?:readonly|declare|typeset|export|local)(?=[ \t]|;|&|(?=\n?$))/dgv,name:"storage.modifier.$0.shell"},normal_assignment_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([ \\t]*))\\1)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(\\[)((?:(?:(?:\\$?(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])|@)|\\*)|(-?\\p{Nd}+)))(\\]))?(?:(?:(=)|(\\+=))|(-=))","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"variable.other.assignment.shell"},"2":{name:"punctuation.definition.array.access.shell"},"3":{name:"variable.other.assignment.shell"},"4":{name:"constant.numeric.shell constant.numeric.integer.shell"},"5":{name:"punctuation.definition.array.access.shell"},"6":{name:"keyword.operator.assignment.shell"},"7":{name:"keyword.operator.assignment.compound.shell"},"8":{name:"keyword.operator.assignment.compound.shell"}},end:/(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.expression.assignment.shell",patterns:[{include:"#comment"},{include:"#string"},{include:"#normal_assignment_statement"},{begin:/(?<= |\t)(?! |\t|[\p{L}\p{M}\p{N}\p{Pc}]+=)/dgv,beginCaptures:{},end:/(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.statement.command.env.shell",patterns:[{include:"#command_name_range"},{include:"#line_continuation"},{include:"#option"},{include:"#argument"},{include:"#string"}]},{include:"#simple_unquoted"},{include:"#normal_context"}]},normal_context:{patterns:[{include:"#comment"},{include:"#pipeline"},{include:"#normal_statement_seperator"},{include:"#misc_ranges"},{include:"#boolean"},{include:"#redirect_number"},{include:"#numeric_literal"},{include:"#string"},{include:"#variable"},{include:"#interpolation"},{include:"#heredoc"},{include:"#herestring"},{include:"#redirection"},{include:"#pathname"},{include:"#floating_keyword"},{include:"#support"},{include:"#parenthese"}]},normal_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("(?!^(?:(?=([ \\t]*))\\1)(?=\\n?$))(?:(?<=^until | until |\\tuntil |^while | while |\\twhile |^elif | elif |\\telif |^else | else |\\telse |^then | then |\\tthen |^do | do |\\tdo |^if | if |\\tif )|(?<=(?:^|;|\\||&|!|\\(|\\{|`)))(?:(?=([ \\t]*))\\2)(?!nocorrect[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|nocorrect\\$|function[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|function\\$|foreach[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|foreach\\$|repeat[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|repeat\\$|logout[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|logout\\$|coproc[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|coproc\\$|select[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|select\\$|while[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|while\\$|pushd[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|pushd\\$|until[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|until\\$|case[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|case\\$|done[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|done\\$|elif[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|elif\\$|else[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|else\\$|esac[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|esac\\$|popd[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|popd\\$|then[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|then\\$|time[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|time\\$|for[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|for\\$|end[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|end\\$|fi[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|fi\\$|do[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|do\\$|in[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|in\\$|if[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|if\\$)","dgv",{"hiddenCaptures":[1,2]}),beginCaptures:{},end:/(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.statement.shell",patterns:[{include:"#typical_statements"}]},normal_statement_seperator:{captures:{"1":{name:"punctuation.terminator.statement.semicolon.shell"},"2":{name:"punctuation.separator.statement.and.shell"},"3":{name:"punctuation.separator.statement.or.shell"},"4":{name:"punctuation.separator.statement.background.shell"}},match:/(?:(?:(?:(;)|(&&))|(\|\|))|(&))/dgv},numeric_literal:{captures:{"1":{name:"constant.numeric.shell constant.numeric.hex.shell"},"2":{name:"constant.numeric.shell constant.numeric.octal.shell"},"3":{name:"constant.numeric.shell constant.numeric.other.shell"},"4":{name:"constant.numeric.shell constant.numeric.decimal.shell"},"5":{name:"constant.numeric.shell constant.numeric.version.shell"},"6":{name:"constant.numeric.shell constant.numeric.integer.shell"}},match:/(?<==| |\t|^|\{|\(|\[)(?:(?:(?:(?:(?:(0[xX][0-9A-Fa-f]+)|(0\p{Nd}+))|(\p{Nd}{1,2}#[0-9a-zA-Z\@_]+))|(-?\p{Nd}+\.\p{Nd}+))|(-?\p{Nd}+(?:\.\p{Nd}+)+))|(-?\p{Nd}+))(?= |\t|(?=\n?$)|\}|\)|;)/dgv},option:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([ \\t]+))\\1)(-)((?!(?:!|&|\\||\\(|\\)|\\{|\\[|<|>|#|\\n|(?=\\n?$)|;|[ \\t])))","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"string.unquoted.argument.shell constant.other.option.dash.shell"},"2":{name:"string.unquoted.argument.shell constant.other.option.shell"}},contentName:"string.unquoted.argument constant.other.option",end:/(?:(?=[ \t])|(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\))/dgv,endCaptures:{},patterns:[{include:"#option_context"}]},option_context:{patterns:[{include:"#misc_ranges"},{include:"#string"},{include:"#variable"},{include:"#interpolation"},{include:"#heredoc"},{include:"#herestring"},{include:"#redirection"},{include:"#pathname"},{include:"#floating_keyword"},{include:"#support"}]},parenthese:{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parenthese.shell"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parenthese.shell"}},name:"meta.parenthese.group.shell",patterns:[{include:"#initial_context"}]}]},pathname:{patterns:[{match:/(?<=\p{space}|:|=|^)~/dgv,name:"keyword.operator.tilde.shell"},{match:/\*|\?/dgv,name:"keyword.operator.glob.shell"},{begin:/([\?\*\+\@\!])(\()/dgv,beginCaptures:{"1":{name:"keyword.operator.extglob.shell"},"2":{name:"punctuation.definition.extglob.shell"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.extglob.shell"}},name:"meta.structure.extglob.shell",patterns:[{include:"#initial_context"}]}]},pipeline:{patterns:[{match:/(?<=^|;|&|\p{space})(time)(?=\p{space}|;|&|(?=\n?$))/dgv,name:"keyword.other.shell"},{match:/[\|\!]/dgv,name:"keyword.operator.pipe.shell"}]},redirect_fix:{captures:{"1":{name:"keyword.operator.redirect.shell"},"2":{name:"string.unquoted.argument.shell"}},match:/*@__PURE__*/ new EmulatedRegExp("(>>?)(?:(?=([ \\t]*))\\2)([^ \\t\\n\\>\\&\\;\\<\\>\\(\\)\\$\\`\\\\\"'\\<\\|]+)","dgv",{"hiddenCaptures":[2]})},redirect_number:{captures:{"1":{name:"keyword.operator.redirect.stdout.shell"},"2":{name:"keyword.operator.redirect.stderr.shell"},"3":{name:"keyword.operator.redirect.$3.shell"}},match:/(?<=[ \t])(?:(1)|(2)|(\p{Nd}+))(?=>)/dgv},redirection:{patterns:[{begin:/[\>\<]\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.shell"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.shell"}},name:"string.interpolated.process-substitution.shell",patterns:[{include:"#initial_context"}]},{match:/(?<![\<\>])(&>|\p{Nd}*>&\p{Nd}*|\p{Nd}*(>>|>|<)|\p{Nd}*<&|\p{Nd}*<>)(?![\<\>])/dgv,name:"keyword.operator.redirect.shell"}]},regex_comparison:{match:/=~/dgv,name:"keyword.operator.logical.regex.shell"},regexp:{patterns:[{match:/[^\n]+/dgv}]},simple_options:{captures:{"0":{patterns:[{captures:{"1":{name:"string.unquoted.argument.shell constant.other.option.dash.shell"},"2":{name:"string.unquoted.argument.shell constant.other.option.shell"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([ \\t]+))\\1)(-)([\\p{L}\\p{M}\\p{N}\\p{Pc}]+)","dgv",{"hiddenCaptures":[1]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?:(?=([ \\t]+))\\1)-[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)*","dgv",{"hiddenCaptures":[1]})},simple_unquoted:{match:/[^ \t\n\>\&\;\<\>\(\)\$\`\\"'\<\|]/dgv,name:"string.unquoted.shell"},special_expansion:{match:/!|:[\-\=\?]?|\*|@|##|#|%%|%|\//dgv,name:"keyword.operator.expansion.shell"},start_of_command:{match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([ \\t]*))\\1)(?!(?:!|&|\\||\\(|\\)|\\{|\\[|<|>|#|\\n|(?=\\n?$)|;|[ \\t]))(?!nocorrect |nocorrect\\t|nocorrect(?=\\n?$)|readonly |readonly\\t|readonly(?=\\n?$)|function |function\\t|function(?=\\n?$)|foreach |foreach\\t|foreach(?=\\n?$)|coproc |coproc\\t|coproc(?=\\n?$)|logout |logout\\t|logout(?=\\n?$)|export |export\\t|export(?=\\n?$)|select |select\\t|select(?=\\n?$)|repeat |repeat\\t|repeat(?=\\n?$)|pushd |pushd\\t|pushd(?=\\n?$)|until |until\\t|until(?=\\n?$)|while |while\\t|while(?=\\n?$)|local |local\\t|local(?=\\n?$)|case |case\\t|case(?=\\n?$)|done |done\\t|done(?=\\n?$)|elif |elif\\t|elif(?=\\n?$)|else |else\\t|else(?=\\n?$)|esac |esac\\t|esac(?=\\n?$)|popd |popd\\t|popd(?=\\n?$)|then |then\\t|then(?=\\n?$)|time |time\\t|time(?=\\n?$)|for |for\\t|for(?=\\n?$)|end |end\\t|end(?=\\n?$)|fi |fi\\t|fi(?=\\n?$)|do |do\\t|do(?=\\n?$)|in |in\\t|in(?=\\n?$)|if |if\\t|if(?=\\n?$))(?!\\\\\\n?(?=\\n?$))","dgv",{"hiddenCaptures":[1]})},string:{patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.shell"},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.shell"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.shell"}},name:"string.quoted.single.shell"},{begin:/\$?"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.shell"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.shell"}},name:"string.quoted.double.shell",patterns:[{match:/\\[\$\n\`"\\]/dgv,name:"constant.character.escape.shell"},{include:"#variable"},{include:"#interpolation"}]},{begin:/\$'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.shell"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.shell"}},name:"string.quoted.single.dollar.shell",patterns:[{match:/\\(?:a|b|e|f|n|r|t|v|\\|')/dgv,name:"constant.character.escape.ansi-c.shell"},{match:/\\[0-9]{3}"/dgv,name:"constant.character.escape.octal.shell"},{match:/\\x[0-9a-fA-F]{2}"/dgv,name:"constant.character.escape.hex.shell"},{match:/\\c[^\n]"/dgv,name:"constant.character.escape.control-char.shell"}]}]},subshell_dollar:{patterns:[{begin:/\$\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.subshell.single.shell"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.subshell.single.shell"}},name:"meta.scope.subshell",patterns:[{include:"#parenthese"},{include:"#initial_context"}]}]},support:{patterns:[{match:/(?<=^|;|&|\p{space})(?::|\.)(?=\p{space}|;|&|(?=\n?$))/dgv,name:"support.function.builtin.shell"}]},typical_statements:{patterns:[{include:"#assignment_statement"},{include:"#case_statement"},{include:"#for_statement"},{include:"#while_statement"},{include:"#function_definition"},{include:"#command_statement"},{include:"#line_continuation"},{include:"#arithmetic_double"},{include:"#normal_context"}]},variable:{patterns:[{captures:{"1":{name:"punctuation.definition.variable.shell variable.parameter.positional.all.shell"},"2":{name:"variable.parameter.positional.all.shell"}},match:/(\$)(@(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{captures:{"1":{name:"punctuation.definition.variable.shell variable.parameter.positional.shell"},"2":{name:"variable.parameter.positional.shell"}},match:/(\$)([0-9](?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{captures:{"1":{name:"punctuation.definition.variable.shell variable.language.special.shell"},"2":{name:"variable.language.special.shell"}},match:/(\$)([\-\*\#\?\$\!0_](?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{begin:/*@__PURE__*/ new EmulatedRegExp("(\\$)(\\{)(?:(?=([ \\t]*))\\3)(?=\\p{Nd})","dgv",{"hiddenCaptures":[3]}),beginCaptures:{"1":{name:"punctuation.definition.variable.shell variable.parameter.positional.shell"},"2":{name:"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell variable.parameter.positional.shell"}},contentName:"meta.parameter-expansion",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell variable.parameter.positional.shell"}},patterns:[{include:"#special_expansion"},{include:"#array_access_inline"},{match:/[0-9]+/dgv,name:"variable.parameter.positional.shell"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])[a-zA-Z_0-9\-]+(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.other.normal.shell"},{include:"#variable"},{include:"#string"}]},{begin:/(\$)(\{)/dgv,beginCaptures:{"1":{name:"punctuation.definition.variable.shell"},"2":{name:"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell"}},contentName:"meta.parameter-expansion",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell"}},patterns:[{include:"#special_expansion"},{include:"#array_access_inline"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])[a-zA-Z_0-9\-]+(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.other.normal.shell"},{include:"#variable"},{include:"#string"}]},{captures:{"1":{name:"punctuation.definition.variable.shell variable.other.normal.shell"},"2":{name:"variable.other.normal.shell"}},match:/(\$)([\p{L}\p{M}\p{N}\p{Pc}]+(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv}]},while_statement:{patterns:[{begin:/(\bwhile\b)/dgv,beginCaptures:{"1":{name:"keyword.control.while.shell"}},end:/(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.while.shell",patterns:[{include:"#line_continuation"},{include:"#math_operators"},{include:"#option"},{include:"#simple_unquoted"},{include:"#normal_context"},{include:"#string"}]}]}},scopeName:"source.shell",embeddedLangs:undefined,aliases:["bash","sh","shell","zsh"]})
3
+ const lang = Object.freeze({displayName:"Shell",name:"shellscript",patterns:[{include:"#initial_context"}],repository:{alias_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([ \\t]*))\\1)(alias)(?:(?=([ \\t]*))\\3)((?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])-[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\b)(?:(?=([ \\t]*))\\6))*)(?:(?=([ \\t]*))\\7)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(\\[)((?:(?:(?:\\$?(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])|@)|\\*)|(-?\\p{Nd}+)))(\\]))?(?:(?:(=)|(\\+=))|(-=))","dgv",{"hiddenCaptures":[1,3,6,7]}),beginCaptures:{"1":{name:"storage.type.alias.shell"},"2":{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])-[\p{L}\p{M}\p{N}\p{Pc}]+\b/dgv,name:"string.unquoted.argument.shell constant.other.option.shell"}]},"3":{name:"string.unquoted.argument.shell constant.other.option.shell"},"4":{name:"variable.other.assignment.shell"},"5":{name:"punctuation.definition.array.access.shell"},"6":{name:"variable.other.assignment.shell"},"7":{name:"constant.numeric.shell constant.numeric.integer.shell"},"8":{name:"punctuation.definition.array.access.shell"},"9":{name:"keyword.operator.assignment.shell"},"10":{name:"keyword.operator.assignment.compound.shell"},"11":{name:"keyword.operator.assignment.compound.shell"}},end:/(?:(?=[ \t]|(?=\n?$))|(?:(?:(?:(;)|(&&))|(\|\|))|(&)))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.semicolon.shell"},"2":{name:"punctuation.separator.statement.and.shell"},"3":{name:"punctuation.separator.statement.or.shell"},"4":{name:"punctuation.separator.statement.background.shell"}},name:"meta.expression.assignment.alias.shell",patterns:[{include:"#normal_context"}]},argument:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([ \\t]+))\\1)(?!(?:[\\&\\|\\(\\[\\#\\n]|(?=\\n?$)|;))","dgv",{"hiddenCaptures":[1]}),beginCaptures:{},end:/(?=[ \t\;\|\&]|(?=\n?$)|[\n\)\`])/dgv,endCaptures:{},name:"meta.argument.shell",patterns:[{include:"#argument_context"},{include:"#line_continuation"}]},argument_context:{patterns:[{captures:{"1":{name:"string.unquoted.argument.shell",patterns:[{match:/\*/dgv,name:"variable.language.special.wildcard.shell"},{include:"#variable"},{include:"#numeric_literal"},{captures:{"1":{name:"constant.language.$1.shell"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(\b(?:true|false)\b)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([ \\t]*))\\1)([^ \\t\\n\\>\\&\\;\\<\\(\\)\\$\\`\\\\\"'\\|]+(?!>))","dgv",{"hiddenCaptures":[1]})},{include:"#normal_context"}]},arithmetic_double:{patterns:[{begin:/\(\(/dgv,beginCaptures:{"0":{name:"punctuation.section.arithmetic.double.shell"}},end:/\)\p{space}*\)/dgv,endCaptures:{"0":{name:"punctuation.section.arithmetic.double.shell"}},name:"meta.arithmetic.shell",patterns:[{include:"#math"},{include:"#string"}]}]},arithmetic_no_dollar:{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.arithmetic.single.shell"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arithmetic.single.shell"}},name:"meta.arithmetic.shell",patterns:[{include:"#math"},{include:"#string"}]}]},array_access_inline:{captures:{"1":{name:"punctuation.section.array.shell"},"2":{patterns:[{include:"#special_expansion"},{include:"#string"},{include:"#variable"}]},"3":{name:"punctuation.section.array.shell"}},match:/(\[)([^\[\]]+)(\])/dgv},array_value:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([ \\t]*))\\1)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(\\[)((?:(?:(?:\\$?(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])|@)|\\*)|(-?\\p{Nd}+)))(\\]))?(?:(?:(=)|(\\+=))|(-=))(?:(?=([ \\t]*))\\10)(\\()","dgv",{"hiddenCaptures":[1,10]}),beginCaptures:{"1":{name:"variable.other.assignment.shell"},"2":{name:"punctuation.definition.array.access.shell"},"3":{name:"variable.other.assignment.shell"},"4":{name:"constant.numeric.shell constant.numeric.integer.shell"},"5":{name:"punctuation.definition.array.access.shell"},"6":{name:"keyword.operator.assignment.shell"},"7":{name:"keyword.operator.assignment.compound.shell"},"8":{name:"keyword.operator.assignment.compound.shell"},"9":{name:"punctuation.definition.array.shell"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.array.shell"}},patterns:[{include:"#comment"},{captures:{"1":{name:"variable.other.assignment.array.shell entity.other.attribute-name.shell"},"2":{name:"keyword.operator.assignment.shell punctuation.definition.assignment.shell"}},match:/((?<![\p{L}\p{M}\p{N}\p{Pc}])[a-zA-Z_0-9\-]+(?![\p{L}\p{M}\p{N}\p{Pc}]))(=)/dgv},{captures:{"1":{name:"punctuation.definition.bracket.named-array.shell"},"2":{name:"string.unquoted.shell entity.other.attribute-name.bracket.shell"},"3":{name:"punctuation.definition.bracket.named-array.shell"},"4":{name:"punctuation.definition.assignment.shell"}},match:/(\[)([^\n]+?)(\])(=)/dgv},{include:"#normal_context"},{include:"#simple_unquoted"}]},assignment_statement:{patterns:[{include:"#array_value"},{include:"#modified_assignment_statement"},{include:"#normal_assignment_statement"}]},basic_command_name:{captures:{"1":{name:"storage.modifier.$1.shell"},"2":{name:"entity.name.function.call.shell entity.name.command.shell",patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:continue|return|break)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"keyword.control.$0.shell"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|[\:\.])(?!\/)(?![\p{L}\p{M}\p{N}\p{Pc}])(?!-)/dgv,name:"support.function.builtin.shell"},{include:"#variable"}]}},match:/(?!(?:[\!\&\|\(\)\{\[\<\>\#\n]|(?=\n?$)|[\; \t]))(?!nocorrect |nocorrect\t|nocorrect(?=\n?$)|readonly |readonly\t|readonly(?=\n?$)|function |function\t|function(?=\n?$)|foreach |foreach\t|foreach(?=\n?$)|coproc |coproc\t|coproc(?=\n?$)|logout |logout\t|logout(?=\n?$)|export |export\t|export(?=\n?$)|select |select\t|select(?=\n?$)|repeat |repeat\t|repeat(?=\n?$)|pushd |pushd\t|pushd(?=\n?$)|until |until\t|until(?=\n?$)|while |while\t|while(?=\n?$)|local |local\t|local(?=\n?$)|case |case\t|case(?=\n?$)|done |done\t|done(?=\n?$)|elif |elif\t|elif(?=\n?$)|else |else\t|else(?=\n?$)|esac |esac\t|esac(?=\n?$)|popd |popd\t|popd(?=\n?$)|then |then\t|then(?=\n?$)|time |time\t|time(?=\n?$)|for |for\t|for(?=\n?$)|end |end\t|end(?=\n?$)|fi |fi\t|fi(?=\n?$)|do |do\t|do(?=\n?$)|in |in\t|in(?=\n?$)|if |if\t|if(?=\n?$))(?:((?<=^|[\;\& \t])(?:readonly|declare|typeset|export|local)(?=[ \t\;\&]|(?=\n?$)))|((?!["']|\\\n?(?=\n?$))[^\!'"\<\> \t\n\r]+?))(?:(?=[ \t])|(?=[\;\|\&\n\)\`\{\}]|[ \t]*#|\])(?<!\\))/dgv,name:"meta.statement.command.name.basic.shell"},block_comment:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.comment.begin.shell"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.shell"}},name:"comment.block.shell"},boolean:{match:/\b(?:true|false)\b/dgv,name:"constant.language.$0.shell"},case_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("(\\bcase\\b)(?:(?=([ \\t]*))\\2)([^\\n]+?)(?:(?=([ \\t]*))\\4)(\\bin\\b)","dgv",{"hiddenCaptures":[2,4]}),beginCaptures:{"1":{name:"keyword.control.case.shell"},"2":{patterns:[{include:"#initial_context"}]},"3":{name:"keyword.control.in.shell"}},end:/\besac\b/dgv,endCaptures:{"0":{name:"keyword.control.esac.shell"}},name:"meta.case.shell",patterns:[{include:"#comment"},{captures:{"1":{name:"keyword.operator.pattern.case.default.shell"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([ \\t]*))\\1)(\\* *\\))","dgv",{"hiddenCaptures":[1]})},{begin:/*@__PURE__*/ new EmulatedRegExp("(?<!\\))(?!(?:(?=([ \\t]*))\\1)(?:esac\\b|(?=\\n?$)))","dgv",{"hiddenCaptures":[1]}),beginCaptures:{},end:/(?:(?=\besac\b)|(\)))/dgv,endCaptures:{"1":{name:"keyword.operator.pattern.case.shell"}},name:"meta.case.entry.pattern.shell",patterns:[{include:"#case_statement_context"}]},{begin:/(?<=\))/dgv,beginCaptures:{},end:/(?:(;;)|(?=\besac\b))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.case.shell"}},name:"meta.case.entry.body.shell",patterns:[{include:"#typical_statements"},{include:"#initial_context"}]}]},case_statement_context:{patterns:[{match:/\*/dgv,name:"variable.language.special.quantifier.star.shell keyword.operator.quantifier.star.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell"},{match:/\+/dgv,name:"variable.language.special.quantifier.plus.shell keyword.operator.quantifier.plus.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell"},{match:/\?/dgv,name:"variable.language.special.quantifier.question.shell keyword.operator.quantifier.question.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell"},{match:/@/dgv,name:"variable.language.special.at.shell keyword.operator.at.shell punctuation.definition.regex.at.shell"},{match:/\|/dgv,name:"keyword.operator.orvariable.language.special.or.shell keyword.operator.alternation.ruby.shell punctuation.definition.regex.alternation.shell punctuation.separator.regex.alternation.shell"},{match:/\\[^\n]/dgv,name:"constant.character.escape.shell"},{match:/(?<=\tin| in|[ \t]|;;)\(/dgv,name:"keyword.operator.pattern.case.shell"},{begin:/(?<=\P{space})(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.group.shell punctuation.definition.regex.group.shell"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.group.shell punctuation.definition.regex.group.shell"}},name:"meta.parenthese.shell",patterns:[{include:"#case_statement_context"}]},{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.character-class.shell"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.character-class.shell"}},name:"string.regexp.character-class.shell",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.shell"}]},{include:"#string"},{match:/[^\) \t\n\[\?\*\|\@]/dgv,name:"string.unquoted.pattern.shell string.regexp.unquoted.shell"}]},command_name_range:{begin:/(?:)/dgv,beginCaptures:{},end:/(?:(?=[ \t\;\|\&]|(?=\n?$)|[\n\)\`])|(?=<))/dgv,endCaptures:{},name:"meta.statement.command.name.shell",patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:continue|return|break)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.function.call.shell entity.name.command.shell keyword.control.$0.shell"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|[\:\.])(?!\/)(?![\p{L}\p{M}\p{N}\p{Pc}])(?!-)/dgv,name:"entity.name.function.call.shell entity.name.command.shell support.function.builtin.shell"},{include:"#variable"},{captures:{"1":{name:"entity.name.function.call.shell entity.name.command.shell"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?<=^|['\"\\}\\)])([^ \\n\\t\\r\"'\\=\\;\\&\\|\\`\\)\\{\\<\\>]+)","dgv",{"strategy":"clip_search"})},{begin:/*@__PURE__*/ new EmulatedRegExp("(?:^|(?<![ \\t\\;\\|\\&\\n\\{\\#]))(\\$?)((?:(\")|(')))","dgv",{"strategy":"clip_search"}),beginCaptures:{"1":{name:"meta.statement.command.name.quoted.shell punctuation.definition.string.shell entity.name.function.call.shell entity.name.command.shell"},"2":{},"3":{name:"meta.statement.command.name.quoted.shell string.quoted.double.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell"},"4":{name:"meta.statement.command.name.quoted.shell string.quoted.single.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell"}},end:/*@__PURE__*/ new EmulatedRegExp("(?<!^)(?<=\\2)()()","dgv",{"strategy":"clip_search"}),endCaptures:{},patterns:[{include:"#continuation_of_single_quoted_command_name"},{include:"#continuation_of_double_quoted_command_name"}]},{include:"#line_continuation"},{include:"#simple_unquoted"}]},command_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([ \\t]*))\\1)(?!(?:[\\!\\&\\|\\(\\)\\{\\[\\<\\>\\#\\n]|(?=\\n?$)|[\\; \\t]))(?!nocorrect |nocorrect\\t|nocorrect(?=\\n?$)|readonly |readonly\\t|readonly(?=\\n?$)|function |function\\t|function(?=\\n?$)|foreach |foreach\\t|foreach(?=\\n?$)|coproc |coproc\\t|coproc(?=\\n?$)|logout |logout\\t|logout(?=\\n?$)|export |export\\t|export(?=\\n?$)|select |select\\t|select(?=\\n?$)|repeat |repeat\\t|repeat(?=\\n?$)|pushd |pushd\\t|pushd(?=\\n?$)|until |until\\t|until(?=\\n?$)|while |while\\t|while(?=\\n?$)|local |local\\t|local(?=\\n?$)|case |case\\t|case(?=\\n?$)|done |done\\t|done(?=\\n?$)|elif |elif\\t|elif(?=\\n?$)|else |else\\t|else(?=\\n?$)|esac |esac\\t|esac(?=\\n?$)|popd |popd\\t|popd(?=\\n?$)|then |then\\t|then(?=\\n?$)|time |time\\t|time(?=\\n?$)|for |for\\t|for(?=\\n?$)|end |end\\t|end(?=\\n?$)|fi |fi\\t|fi(?=\\n?$)|do |do\\t|do(?=\\n?$)|in |in\\t|in(?=\\n?$)|if |if\\t|if(?=\\n?$))(?!\\\\\\n?(?=\\n?$))","dgv",{"hiddenCaptures":[1]}),beginCaptures:{},end:/(?=[\;\|\&\n\)\`\{\}]|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.statement.command.shell",patterns:[{include:"#command_name_range"},{include:"#line_continuation"},{include:"#option"},{include:"#argument"},{include:"#string"},{include:"#heredoc"}]},comment:{captures:{"1":{name:"comment.line.number-sign.shell meta.shebang.shell"},"2":{name:"punctuation.definition.comment.shebang.shell"},"3":{name:"comment.line.number-sign.shell"},"4":{name:"punctuation.definition.comment.shell"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:^|(?:(?=([ \\t]+))\\1))(?:((#!)[^\\n]*)|((#)[^\\n]*))","dgv",{"hiddenCaptures":[1]})},comments:{patterns:[{include:"#block_comment"},{include:"#line_comment"}]},"compound-command":{patterns:[{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.logical-expression.shell"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.logical-expression.shell"}},name:"meta.scope.logical-expression.shell",patterns:[{include:"#logical-expression"},{include:"#initial_context"}]},{begin:/(?<=\p{space}|^)\{(?=\p{space}|(?=\n?$))/dgv,beginCaptures:{"0":{name:"punctuation.definition.group.shell"}},end:/(?<=^|;)\p{space}*(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.group.shell"}},name:"meta.scope.group.shell",patterns:[{include:"#initial_context"}]}]},continuation_of_double_quoted_command_name:{begin:/(?<=")/dgvy,beginCaptures:{},contentName:"meta.statement.command.name.continuation string.quoted.double entity.name.function.call entity.name.command",end:/"/dgv,endCaptures:{"0":{name:"string.quoted.double.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell"}},patterns:[{match:/\\[\$\n\`"\\]/dgv,name:"constant.character.escape.shell"},{include:"#variable"},{include:"#interpolation"}]},continuation_of_single_quoted_command_name:{begin:/(?<=')/dgvy,beginCaptures:{},contentName:"meta.statement.command.name.continuation string.quoted.single entity.name.function.call entity.name.command",end:/'/dgv,endCaptures:{"0":{name:"string.quoted.single.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell"}}},custom_command_names:{patterns:[]},custom_commands:{patterns:[]},double_quote_context:{patterns:[{match:/\\[\$\`"\\\n]/dgv,name:"constant.character.escape.shell"},{include:"#variable"},{include:"#interpolation"}]},double_quote_escape_char:{match:/\\[\$\`"\\\n]/dgv,name:"constant.character.escape.shell"},floating_keyword:{patterns:[{match:/(?<=^|[\;\& \t])(?:then|elif|else|done|end|do|if|fi)(?=[ \t\;\&]|(?=\n?$))/dgv,name:"keyword.control.$0.shell"}]},for_statement:{patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(\\bfor\\b)(?:(?=([ \\t]*))\\2)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=([ \\t]*))\\4)(\\bin\\b)","dgv",{"hiddenCaptures":[2,4]}),beginCaptures:{"1":{name:"keyword.control.for.shell"},"2":{name:"variable.other.for.shell"},"3":{name:"keyword.control.in.shell"}},end:/(?=[\;\|\&\n\)\`\{\}]|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.for.in.shell",patterns:[{include:"#string"},{include:"#simple_unquoted"},{include:"#normal_context"}]},{begin:/(\bfor\b)/dgv,beginCaptures:{"1":{name:"keyword.control.for.shell"}},end:/(?=[\;\|\&\n\)\`\{\}]|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.for.shell",patterns:[{include:"#arithmetic_double"},{include:"#normal_context"}]}]},function_definition:{applyEndPatternLast:1,begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([ \\t]*))\\1)(?:(\\bfunction\\b)(?:(?=([ \\t]*))\\3)([^ \\t\\n\\r\\(\\)\\=\"']+)(?:(\\()(?:(?=([ \\t]*))\\6)(\\)))?|([^ \\t\\n\\r\\(\\)\\=\"']+)(?:(?=([ \\t]*))\\9)(\\()(?:(?=([ \\t]*))\\11)(\\)))","dgv",{"hiddenCaptures":[1,3,6,9,11]}),beginCaptures:{"1":{name:"storage.type.function.shell"},"2":{name:"entity.name.function.shell"},"3":{name:"punctuation.definition.arguments.shell"},"4":{name:"punctuation.definition.arguments.shell"},"5":{name:"entity.name.function.shell"},"6":{name:"punctuation.definition.arguments.shell"},"7":{name:"punctuation.definition.arguments.shell"}},end:/(?<=[\}\)])/dgv,endCaptures:{},name:"meta.function.shell",patterns:[{match:/[\t \n]/dgvy},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},name:"meta.function.body.shell",patterns:[{include:"#initial_context"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},name:"meta.function.body.shell",patterns:[{include:"#initial_context"}]},{include:"#initial_context"}]},heredoc:{patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<!<)<<-)(?:(?=([ \\t]*))\\2)([\"'])(?:(?=([ \\t]*))\\4)([^\"']+?)(?=[\\p{space}\\;\\&\\<\"'])(\\3)([^\\n]*)","dgv",{"hiddenCaptures":[2,4]}),beginCaptures:{"1":{name:"keyword.operator.heredoc.shell"},"2":{name:"punctuation.definition.string.heredoc.quote.shell"},"3":{name:"punctuation.definition.string.heredoc.delimiter.shell"},"4":{name:"punctuation.definition.string.heredoc.quote.shell"},"5":{patterns:[{include:"#redirect_fix"},{include:"#typical_statements"}]}},contentName:"string.quoted.heredoc.indent.$3",end:/^\t*\3(?=\p{space}|;|&|(?=\n?$))()()()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.heredoc.$0.shell"}},patterns:[]},{begin:/*@__PURE__*/ new EmulatedRegExp("((?<!<)<<(?!<))(?:(?=([ \\t]*))\\2)([\"'])(?:(?=([ \\t]*))\\4)([^\"']+?)(?=[\\p{space}\\;\\&\\<\"'])(\\3)([^\\n]*)","dgv",{"hiddenCaptures":[2,4]}),beginCaptures:{"1":{name:"keyword.operator.heredoc.shell"},"2":{name:"punctuation.definition.string.heredoc.quote.shell"},"3":{name:"punctuation.definition.string.heredoc.delimiter.shell"},"4":{name:"punctuation.definition.string.heredoc.quote.shell"},"5":{patterns:[{include:"#redirect_fix"},{include:"#typical_statements"}]}},contentName:"string.quoted.heredoc.no-indent.$3",end:/^\3(?=\p{space}|;|&|(?=\n?$))()()()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.heredoc.delimiter.shell"}},patterns:[]},{begin:/*@__PURE__*/ new EmulatedRegExp("((?<!<)<<-)(?:(?=([ \\t]*))\\2)([^\"' \\t]+)(?=[\\p{space}\\;\\&\\<\"'])([^\\n]*)","dgv",{"hiddenCaptures":[2]}),beginCaptures:{"1":{name:"keyword.operator.heredoc.shell"},"2":{name:"punctuation.definition.string.heredoc.delimiter.shell"},"3":{patterns:[{include:"#redirect_fix"},{include:"#typical_statements"}]}},contentName:"string.unquoted.heredoc.indent.$2",end:/^\t*\2(?=\p{space}|;|&|(?=\n?$))()()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.heredoc.delimiter.shell"}},patterns:[{include:"#double_quote_escape_char"},{include:"#variable"},{include:"#interpolation"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("((?<!<)<<(?!<))(?:(?=([ \\t]*))\\2)([^\"' \\t]+)(?=[\\p{space}\\;\\&\\<\"'])([^\\n]*)","dgv",{"hiddenCaptures":[2]}),beginCaptures:{"1":{name:"keyword.operator.heredoc.shell"},"2":{name:"punctuation.definition.string.heredoc.delimiter.shell"},"3":{patterns:[{include:"#redirect_fix"},{include:"#typical_statements"}]}},contentName:"string.unquoted.heredoc.no-indent.$2",end:/^\2(?=\p{space}|;|&|(?=\n?$))()()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.heredoc.delimiter.shell"}},patterns:[{include:"#double_quote_escape_char"},{include:"#variable"},{include:"#interpolation"}]}]},herestring:{patterns:[{begin:/(<<<)\p{space}*(('))/dgv,beginCaptures:{"1":{name:"keyword.operator.herestring.shell"},"2":{name:"string.quoted.single.shell"},"3":{name:"punctuation.definition.string.begin.shell"}},contentName:"string.quoted.single.shell",end:/(')/dgv,endCaptures:{"0":{name:"string.quoted.single.shell"},"1":{name:"punctuation.definition.string.end.shell"}},name:"meta.herestring.shell"},{begin:/(<<<)\p{space}*(("))/dgv,beginCaptures:{"1":{name:"keyword.operator.herestring.shell"},"2":{name:"string.quoted.double.shell"},"3":{name:"punctuation.definition.string.begin.shell"}},contentName:"string.quoted.double.shell",end:/(")/dgv,endCaptures:{"0":{name:"string.quoted.double.shell"},"1":{name:"punctuation.definition.string.end.shell"}},name:"meta.herestring.shell",patterns:[{include:"#double_quote_context"}]},{captures:{"1":{name:"keyword.operator.herestring.shell"},"2":{name:"string.unquoted.herestring.shell",patterns:[{include:"#initial_context"}]}},match:/(<<<)\p{space}*(([^\p{space}\)\\]|\\[^\n])+)/dgv,name:"meta.herestring.shell"}]},initial_context:{patterns:[{include:"#comment"},{include:"#pipeline"},{include:"#normal_statement_seperator"},{include:"#logical_expression_double"},{include:"#logical_expression_single"},{include:"#assignment_statement"},{include:"#case_statement"},{include:"#for_statement"},{include:"#loop"},{include:"#function_definition"},{include:"#line_continuation"},{include:"#arithmetic_double"},{include:"#misc_ranges"},{include:"#variable"},{include:"#interpolation"},{include:"#heredoc"},{include:"#herestring"},{include:"#redirection"},{include:"#pathname"},{include:"#floating_keyword"},{include:"#alias_statement"},{include:"#normal_statement"},{include:"#string"},{include:"#support"}]},inline_comment:{captures:{"1":{name:"comment.block.shell punctuation.definition.comment.begin.shell"},"2":{name:"comment.block.shell"},"3":{patterns:[{match:/\*\//dgv,name:"comment.block.shell punctuation.definition.comment.end.shell"},{match:/\*/dgv,name:"comment.block.shell"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\4)[^\\/])*))\\3)((?:(?=(\\*+))\\6)/))","dgv",{"hiddenCaptures":[3,4,6]})},interpolation:{patterns:[{include:"#arithmetic_dollar"},{include:"#subshell_dollar"},{begin:/`/dgv,beginCaptures:{"0":{name:"punctuation.definition.evaluation.backticks.shell"}},end:/`/dgv,endCaptures:{"0":{name:"punctuation.definition.evaluation.backticks.shell"}},name:"string.interpolated.backtick.shell",patterns:[{match:/\\[\`\\\$]/dgv,name:"constant.character.escape.shell"},{begin:/(?<=[^\p{L}\p{M}\p{N}\p{Pc}])(?=#)(?!#\{)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.shell"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/#/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.shell"}},end:/(?=`)/dgv,name:"comment.line.number-sign.shell"}]},{include:"#initial_context"}]}]},keyword:{patterns:[{match:/(?<=^|[\;\&\p{space}])(then|else|elif|fi|for|in|do|done|select|continue|esac|while|until|return)(?=[\p{space}\;\&]|(?=\n?$))/dgv,name:"keyword.control.shell"},{match:/(?<=^|[\;\&\p{space}])(?:export|declare|typeset|local|readonly)(?=[\p{space}\;\&]|(?=\n?$))/dgv,name:"storage.modifier.shell"}]},line_comment:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(//)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.comment.shell"}},end:/(?<=\n)(?<!\\\n)/dgv,endCaptures:{},name:"comment.line.double-slash.shell",patterns:[{include:"#line_continuation_character"}]},line_continuation:{match:/\\(?=\n)/dgv,name:"constant.character.escape.line-continuation.shell"},"logical-expression":{patterns:[{include:"#arithmetic_no_dollar"},{match:/=[\=\~]?|!=?|[\<\>]|&&|\|\|/dgv,name:"keyword.operator.logical.shell"},{match:/(?<!\P{space})-(nt|ot|ef|eq|ne|l[te]|g[te]|[a-hknoprstuwxzOGLSN])\b/dgv,name:"keyword.operator.logical.shell"}]},logical_expression_context:{patterns:[{include:"#regex_comparison"},{include:"#arithmetic_no_dollar"},{include:"#logical-expression"},{include:"#logical_expression_single"},{include:"#logical_expression_double"},{include:"#comment"},{include:"#boolean"},{include:"#redirect_number"},{include:"#numeric_literal"},{include:"#pipeline"},{include:"#normal_statement_seperator"},{include:"#string"},{include:"#variable"},{include:"#interpolation"},{include:"#heredoc"},{include:"#herestring"},{include:"#pathname"},{include:"#floating_keyword"},{include:"#support"}]},logical_expression_double:{begin:/\[\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.logical-expression.shell"}},end:/\]\]/dgv,endCaptures:{"0":{name:"punctuation.definition.logical-expression.shell"}},name:"meta.scope.logical-expression.shell",patterns:[{include:"#logical_expression_context"}]},logical_expression_single:{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.logical-expression.shell"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.logical-expression.shell"}},name:"meta.scope.logical-expression.shell",patterns:[{include:"#logical_expression_context"}]},loop:{patterns:[{begin:/(?<=^|[\;\&\p{space}])(for)\p{space}+([^\n]+?)\p{space}+(in)(?=[\p{space}\;\&]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.control.shell"},"2":{name:"variable.other.loop.shell",patterns:[{include:"#string"}]},"3":{name:"keyword.control.shell"}},end:/(?<=^|[\;\&\p{space}])done(?=[\p{space}\;\&]|(?=\n?$)|\))/dgv,endCaptures:{"0":{name:"keyword.control.shell"}},name:"meta.scope.for-in-loop.shell",patterns:[{include:"#initial_context"}]},{begin:/(?<=^|[\;\&\p{space}])(while|until)(?=[\p{space}\;\&]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.control.shell"}},end:/(?<=^|[\;\&\p{space}])done(?=[\p{space}\;\&]|(?=\n?$)|\))/dgv,endCaptures:{"0":{name:"keyword.control.shell"}},name:"meta.scope.while-loop.shell",patterns:[{include:"#initial_context"}]},{begin:/(?<=^|[\;\&\p{space}])(select)\p{space}+((?:[^\p{space}\\]|\\[^\n])+)(?=[\p{space}\;\&]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.control.shell"},"2":{name:"variable.other.loop.shell"}},end:/(?<=^|[\;\&\p{space}])(done)(?=[\p{space}\;\&]|(?=\n?$)|\))/dgv,endCaptures:{"1":{name:"keyword.control.shell"}},name:"meta.scope.select-block.shell",patterns:[{include:"#initial_context"}]},{begin:/(?<=^|[\;\&\p{space}])if(?=[\p{space}\;\&]|(?=\n?$))/dgv,beginCaptures:{"0":{name:"keyword.control.if.shell"}},end:/(?<=^|[\;\&\p{space}])fi(?=[\p{space}\;\&]|(?=\n?$))/dgv,endCaptures:{"0":{name:"keyword.control.fi.shell"}},name:"meta.scope.if-block.shell",patterns:[{include:"#initial_context"}]}]},math:{patterns:[{include:"#variable"},{match:/\+{1,2}|-{1,2}|[\!\~]|\*{1,2}|[\/\%]|<[\<\=]?|>[\>\=]?|==|!=|^|\|{1,2}|&{1,2}|[\?\:\,\=]|[\*\/\%\+\-\&\^\|]=|<<=|>>=/dgv,name:"keyword.operator.arithmetic.shell"},{match:/0[xX]\p{AHex}+/dgv,name:"constant.numeric.hex.shell"},{match:/;/dgv,name:"punctuation.separator.semicolon.range"},{match:/0\p{Nd}+/dgv,name:"constant.numeric.octal.shell"},{match:/\p{Nd}{1,2}#[0-9a-zA-Z\@_]+/dgv,name:"constant.numeric.other.shell"},{match:/\p{Nd}+/dgv,name:"constant.numeric.integer.shell"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])[a-zA-Z_0-9]+(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.other.normal.shell"}]},math_operators:{patterns:[{match:/\+{1,2}|-{1,2}|[\!\~]|\*{1,2}|[\/\%]|<[\<\=]?|>[\>\=]?|==|!=|^|\|{1,2}|&{1,2}|[\?\:\,\=]|[\*\/\%\+\-\&\^\|]=|<<=|>>=/dgv,name:"keyword.operator.arithmetic.shell"},{match:/0[xX]\p{AHex}+/dgv,name:"constant.numeric.hex.shell"},{match:/0\p{Nd}+/dgv,name:"constant.numeric.octal.shell"},{match:/\p{Nd}{1,2}#[0-9a-zA-Z\@_]+/dgv,name:"constant.numeric.other.shell"},{match:/\p{Nd}+/dgv,name:"constant.numeric.integer.shell"}]},misc_ranges:{patterns:[{include:"#logical_expression_single"},{include:"#logical_expression_double"},{include:"#subshell_dollar"},{begin:/(?<![^ \t])(\{)(?![\p{L}\p{M}\p{N}\p{Pc}\$])/dgv,beginCaptures:{"1":{name:"punctuation.definition.group.shell"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.group.shell"}},name:"meta.scope.group.shell",patterns:[{include:"#initial_context"}]}]},modified_assignment_statement:{begin:/(?<=^|[\;\& \t])(?:readonly|declare|typeset|export|local)(?=[ \t\;\&]|(?=\n?$))/dgv,beginCaptures:{"0":{name:"storage.modifier.$0.shell"}},end:/(?=[\;\|\&\n\)\`\{\}]|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.statement.shell meta.expression.assignment.modified.shell",patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])-[\p{L}\p{M}\p{N}\p{Pc}]+\b/dgv,name:"string.unquoted.argument.shell constant.other.option.shell"},{include:"#array_value"},{captures:{"1":{name:"variable.other.assignment.shell"},"2":{name:"punctuation.definition.array.access.shell"},"3":{name:"variable.other.assignment.shell"},"4":{name:"constant.numeric.shell constant.numeric.integer.shell"},"5":{name:"punctuation.definition.array.access.shell"},"6":{name:"keyword.operator.assignment.shell"},"7":{name:"keyword.operator.assignment.compound.shell"},"8":{name:"keyword.operator.assignment.compound.shell"},"9":{name:"constant.numeric.shell constant.numeric.hex.shell"},"10":{name:"constant.numeric.shell constant.numeric.octal.shell"},"11":{name:"constant.numeric.shell constant.numeric.other.shell"},"12":{name:"constant.numeric.shell constant.numeric.decimal.shell"},"13":{name:"constant.numeric.shell constant.numeric.version.shell"},"14":{name:"constant.numeric.shell constant.numeric.integer.shell"}},match:/((?<![\p{L}\p{M}\p{N}\p{Pc}])[a-zA-Z_0-9\-]+(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:(\[)((?:(?:(?:\$?(?<![\p{L}\p{M}\p{N}\p{Pc}])[a-zA-Z_0-9\-]+(?![\p{L}\p{M}\p{N}\p{Pc}])|@)|\*)|(-?\p{Nd}+)))(\]))?(?:(?:(=)|(\+=))|(-=))?(?:(?<=[\= \t]|^|[\{\(\[])(?:(?:(?:(?:(?:(0[xX]\p{AHex}+)|(0\p{Nd}+))|(\p{Nd}{1,2}#[0-9a-zA-Z\@_]+))|(-?\p{Nd}+\.\p{Nd}+))|(-?\p{Nd}+(?:\.\p{Nd}+)+))|(-?\p{Nd}+))(?=[ \t]|(?=\n?$)|[\}\)\;]))?/dgv},{include:"#normal_context"}]},modifiers:{match:/(?<=^|[\;\& \t])(?:readonly|declare|typeset|export|local)(?=[ \t\;\&]|(?=\n?$))/dgv,name:"storage.modifier.$0.shell"},normal_assignment_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([ \\t]*))\\1)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(\\[)((?:(?:(?:\\$?(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])|@)|\\*)|(-?\\p{Nd}+)))(\\]))?(?:(?:(=)|(\\+=))|(-=))","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"variable.other.assignment.shell"},"2":{name:"punctuation.definition.array.access.shell"},"3":{name:"variable.other.assignment.shell"},"4":{name:"constant.numeric.shell constant.numeric.integer.shell"},"5":{name:"punctuation.definition.array.access.shell"},"6":{name:"keyword.operator.assignment.shell"},"7":{name:"keyword.operator.assignment.compound.shell"},"8":{name:"keyword.operator.assignment.compound.shell"}},end:/(?=[\;\|\&\n\)\`\{\}]|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.expression.assignment.shell",patterns:[{include:"#comment"},{include:"#string"},{include:"#normal_assignment_statement"},{begin:/(?<=[ \t])(?![ \t]|[\p{L}\p{M}\p{N}\p{Pc}]+=)/dgv,beginCaptures:{},end:/(?=[\;\|\&\n\)\`\{\}]|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.statement.command.env.shell",patterns:[{include:"#command_name_range"},{include:"#line_continuation"},{include:"#option"},{include:"#argument"},{include:"#string"}]},{include:"#simple_unquoted"},{include:"#normal_context"}]},normal_context:{patterns:[{include:"#comment"},{include:"#pipeline"},{include:"#normal_statement_seperator"},{include:"#misc_ranges"},{include:"#boolean"},{include:"#redirect_number"},{include:"#numeric_literal"},{include:"#string"},{include:"#variable"},{include:"#interpolation"},{include:"#heredoc"},{include:"#herestring"},{include:"#redirection"},{include:"#pathname"},{include:"#floating_keyword"},{include:"#support"},{include:"#parenthese"}]},normal_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("(?!^(?:(?=([ \\t]*))\\1)(?=\\n?$))(?:(?<=^until | until |\\tuntil |^while | while |\\twhile |^elif | elif |\\telif |^else | else |\\telse |^then | then |\\tthen |^do | do |\\tdo |^if | if |\\tif )|(?<=(?:^|[\\;\\|\\&\\!\\(\\{\\`])))(?:(?=([ \\t]*))\\2)(?!nocorrect[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|nocorrect\\$|function[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|function\\$|foreach[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|foreach\\$|repeat[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|repeat\\$|logout[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|logout\\$|coproc[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|coproc\\$|select[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|select\\$|while[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|while\\$|pushd[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|pushd\\$|until[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|until\\$|case[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|case\\$|done[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|done\\$|elif[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|elif\\$|else[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|else\\$|esac[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|esac\\$|popd[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|popd\\$|then[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|then\\$|time[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|time\\$|for[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|for\\$|end[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|end\\$|fi[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|fi\\$|do[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|do\\$|in[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|in\\$|if[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|if\\$)","dgv",{"hiddenCaptures":[1,2]}),beginCaptures:{},end:/(?=[\;\|\&\n\)\`\{\}]|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.statement.shell",patterns:[{include:"#typical_statements"}]},normal_statement_seperator:{captures:{"1":{name:"punctuation.terminator.statement.semicolon.shell"},"2":{name:"punctuation.separator.statement.and.shell"},"3":{name:"punctuation.separator.statement.or.shell"},"4":{name:"punctuation.separator.statement.background.shell"}},match:/(?:(?:(?:(;)|(&&))|(\|\|))|(&))/dgv},numeric_literal:{captures:{"1":{name:"constant.numeric.shell constant.numeric.hex.shell"},"2":{name:"constant.numeric.shell constant.numeric.octal.shell"},"3":{name:"constant.numeric.shell constant.numeric.other.shell"},"4":{name:"constant.numeric.shell constant.numeric.decimal.shell"},"5":{name:"constant.numeric.shell constant.numeric.version.shell"},"6":{name:"constant.numeric.shell constant.numeric.integer.shell"}},match:/(?<=[\= \t]|^|[\{\(\[])(?:(?:(?:(?:(?:(0[xX]\p{AHex}+)|(0\p{Nd}+))|(\p{Nd}{1,2}#[0-9a-zA-Z\@_]+))|(-?\p{Nd}+\.\p{Nd}+))|(-?\p{Nd}+(?:\.\p{Nd}+)+))|(-?\p{Nd}+))(?=[ \t]|(?=\n?$)|[\}\)\;])/dgv},option:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([ \\t]+))\\1)(-)((?!(?:[\\!\\&\\|\\(\\)\\{\\[\\<\\>\\#\\n]|(?=\\n?$)|[\\; \\t])))","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"string.unquoted.argument.shell constant.other.option.dash.shell"},"2":{name:"string.unquoted.argument.shell constant.other.option.shell"}},contentName:"string.unquoted.argument constant.other.option",end:/(?:(?=[ \t])|(?=[\;\|\&\n\)\`\{\}]|[ \t]*#|\])(?<!\\))/dgv,endCaptures:{},patterns:[{include:"#option_context"}]},option_context:{patterns:[{include:"#misc_ranges"},{include:"#string"},{include:"#variable"},{include:"#interpolation"},{include:"#heredoc"},{include:"#herestring"},{include:"#redirection"},{include:"#pathname"},{include:"#floating_keyword"},{include:"#support"}]},parenthese:{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parenthese.shell"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parenthese.shell"}},name:"meta.parenthese.group.shell",patterns:[{include:"#initial_context"}]}]},pathname:{patterns:[{match:/(?<=[\p{space}\:\=]|^)~/dgv,name:"keyword.operator.tilde.shell"},{match:/[\*\?]/dgv,name:"keyword.operator.glob.shell"},{begin:/([\?\*\+\@\!])(\()/dgv,beginCaptures:{"1":{name:"keyword.operator.extglob.shell"},"2":{name:"punctuation.definition.extglob.shell"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.extglob.shell"}},name:"meta.structure.extglob.shell",patterns:[{include:"#initial_context"}]}]},pipeline:{patterns:[{match:/(?<=^|[\;\&\p{space}])(time)(?=[\p{space}\;\&]|(?=\n?$))/dgv,name:"keyword.other.shell"},{match:/[\|\!]/dgv,name:"keyword.operator.pipe.shell"}]},redirect_fix:{captures:{"1":{name:"keyword.operator.redirect.shell"},"2":{name:"string.unquoted.argument.shell"}},match:/*@__PURE__*/ new EmulatedRegExp("(>>?)(?:(?=([ \\t]*))\\2)([^ \\t\\n\\>\\&\\;\\<\\(\\)\\$\\`\\\\\"'\\|]+)","dgv",{"hiddenCaptures":[2]})},redirect_number:{captures:{"1":{name:"keyword.operator.redirect.stdout.shell"},"2":{name:"keyword.operator.redirect.stderr.shell"},"3":{name:"keyword.operator.redirect.$3.shell"}},match:/(?<=[ \t])(?:(1)|(2)|(\p{Nd}+))(?=>)/dgv},redirection:{patterns:[{begin:/[\>\<]\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.shell"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.shell"}},name:"string.interpolated.process-substitution.shell",patterns:[{include:"#initial_context"}]},{match:/(?<![\<\>])(&>|\p{Nd}*>&\p{Nd}*|\p{Nd}*(>>|[\>\<])|\p{Nd}*<&|\p{Nd}*<>)(?![\<\>])/dgv,name:"keyword.operator.redirect.shell"}]},regex_comparison:{match:/=~/dgv,name:"keyword.operator.logical.regex.shell"},regexp:{patterns:[{match:/[^\n]+/dgv}]},simple_options:{captures:{"0":{patterns:[{captures:{"1":{name:"string.unquoted.argument.shell constant.other.option.dash.shell"},"2":{name:"string.unquoted.argument.shell constant.other.option.shell"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([ \\t]+))\\1)(-)([\\p{L}\\p{M}\\p{N}\\p{Pc}]+)","dgv",{"hiddenCaptures":[1]})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?:(?=([ \\t]+))\\1)-[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)*","dgv",{"hiddenCaptures":[1]})},simple_unquoted:{match:/[^ \t\n\>\&\;\<\(\)\$\`\\"'\|]/dgv,name:"string.unquoted.shell"},special_expansion:{match:/!|:[\-\=\?]?|[\*\@]|##|#|%%|[\%\/]/dgv,name:"keyword.operator.expansion.shell"},start_of_command:{match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([ \\t]*))\\1)(?!(?:[\\!\\&\\|\\(\\)\\{\\[\\<\\>\\#\\n]|(?=\\n?$)|[\\; \\t]))(?!nocorrect |nocorrect\\t|nocorrect(?=\\n?$)|readonly |readonly\\t|readonly(?=\\n?$)|function |function\\t|function(?=\\n?$)|foreach |foreach\\t|foreach(?=\\n?$)|coproc |coproc\\t|coproc(?=\\n?$)|logout |logout\\t|logout(?=\\n?$)|export |export\\t|export(?=\\n?$)|select |select\\t|select(?=\\n?$)|repeat |repeat\\t|repeat(?=\\n?$)|pushd |pushd\\t|pushd(?=\\n?$)|until |until\\t|until(?=\\n?$)|while |while\\t|while(?=\\n?$)|local |local\\t|local(?=\\n?$)|case |case\\t|case(?=\\n?$)|done |done\\t|done(?=\\n?$)|elif |elif\\t|elif(?=\\n?$)|else |else\\t|else(?=\\n?$)|esac |esac\\t|esac(?=\\n?$)|popd |popd\\t|popd(?=\\n?$)|then |then\\t|then(?=\\n?$)|time |time\\t|time(?=\\n?$)|for |for\\t|for(?=\\n?$)|end |end\\t|end(?=\\n?$)|fi |fi\\t|fi(?=\\n?$)|do |do\\t|do(?=\\n?$)|in |in\\t|in(?=\\n?$)|if |if\\t|if(?=\\n?$))(?!\\\\\\n?(?=\\n?$))","dgv",{"hiddenCaptures":[1]})},string:{patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.shell"},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.shell"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.shell"}},name:"string.quoted.single.shell"},{begin:/\$?"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.shell"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.shell"}},name:"string.quoted.double.shell",patterns:[{match:/\\[\$\n\`"\\]/dgv,name:"constant.character.escape.shell"},{include:"#variable"},{include:"#interpolation"}]},{begin:/\$'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.shell"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.shell"}},name:"string.quoted.single.dollar.shell",patterns:[{match:/\\[abefnrtv\\']/dgv,name:"constant.character.escape.ansi-c.shell"},{match:/\\[0-9]{3}"/dgv,name:"constant.character.escape.octal.shell"},{match:/\\x\p{AHex}{2}"/dgv,name:"constant.character.escape.hex.shell"},{match:/\\c[^\n]"/dgv,name:"constant.character.escape.control-char.shell"}]}]},subshell_dollar:{patterns:[{begin:/\$\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.subshell.single.shell"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.subshell.single.shell"}},name:"meta.scope.subshell",patterns:[{include:"#parenthese"},{include:"#initial_context"}]}]},support:{patterns:[{match:/(?<=^|[\;\&\p{space}])[\:\.](?=[\p{space}\;\&]|(?=\n?$))/dgv,name:"support.function.builtin.shell"}]},typical_statements:{patterns:[{include:"#assignment_statement"},{include:"#case_statement"},{include:"#for_statement"},{include:"#while_statement"},{include:"#function_definition"},{include:"#command_statement"},{include:"#line_continuation"},{include:"#arithmetic_double"},{include:"#normal_context"}]},variable:{patterns:[{captures:{"1":{name:"punctuation.definition.variable.shell variable.parameter.positional.all.shell"},"2":{name:"variable.parameter.positional.all.shell"}},match:/(\$)(@(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{captures:{"1":{name:"punctuation.definition.variable.shell variable.parameter.positional.shell"},"2":{name:"variable.parameter.positional.shell"}},match:/(\$)([0-9](?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{captures:{"1":{name:"punctuation.definition.variable.shell variable.language.special.shell"},"2":{name:"variable.language.special.shell"}},match:/(\$)([\-\*\#\?\$\!0_](?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{begin:/*@__PURE__*/ new EmulatedRegExp("(\\$)(\\{)(?:(?=([ \\t]*))\\3)(?=\\p{Nd})","dgv",{"hiddenCaptures":[3]}),beginCaptures:{"1":{name:"punctuation.definition.variable.shell variable.parameter.positional.shell"},"2":{name:"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell variable.parameter.positional.shell"}},contentName:"meta.parameter-expansion",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell variable.parameter.positional.shell"}},patterns:[{include:"#special_expansion"},{include:"#array_access_inline"},{match:/[0-9]+/dgv,name:"variable.parameter.positional.shell"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])[a-zA-Z_0-9\-]+(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.other.normal.shell"},{include:"#variable"},{include:"#string"}]},{begin:/(\$)(\{)/dgv,beginCaptures:{"1":{name:"punctuation.definition.variable.shell"},"2":{name:"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell"}},contentName:"meta.parameter-expansion",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell"}},patterns:[{include:"#special_expansion"},{include:"#array_access_inline"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])[a-zA-Z_0-9\-]+(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.other.normal.shell"},{include:"#variable"},{include:"#string"}]},{captures:{"1":{name:"punctuation.definition.variable.shell variable.other.normal.shell"},"2":{name:"variable.other.normal.shell"}},match:/(\$)([\p{L}\p{M}\p{N}\p{Pc}]+(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv}]},while_statement:{patterns:[{begin:/(\bwhile\b)/dgv,beginCaptures:{"1":{name:"keyword.control.while.shell"}},end:/(?=[\;\|\&\n\)\`\{\}]|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.while.shell",patterns:[{include:"#line_continuation"},{include:"#math_operators"},{include:"#option"},{include:"#simple_unquoted"},{include:"#normal_context"},{include:"#string"}]}]}},scopeName:"source.shell",embeddedLangs:undefined,aliases:["bash","sh","shell","zsh"]})
4
4
 
5
5
  export default [
6
6
  lang
@@ -1,6 +1,6 @@
1
1
  import shellscript from './shellscript.mjs'
2
2
 
3
- const lang = Object.freeze({displayName:"Shell Session",fileTypes:["sh-session"],name:"shellsession",patterns:[{captures:{"1":{name:"entity.other.prompt-prefix.shell-session"},"2":{name:"punctuation.separator.prompt.shell-session"},"3":{name:"source.shell",patterns:[{include:"source.shell"}]}},match:/^(?:((?:\(\P{space}+\)\p{space}*)?(?:sh\P{space}*?|[\p{L}\p{M}\p{N}\p{Pc}]+\P{space}+[\@\:]\P{space}+(?:\p{space}+\P{space}+)?|\[\P{space}+?[\@\:][^\n]+?\][^\n]*?))\p{space}*)?([\>\$\#\%❯➜]|\p{sc=Greek})\p{space}+([^\n]*)(?=\n?$)/dgv},{match:/^[^\n]+(?=\n?$)/dgv,name:"meta.output.shell-session"}],scopeName:"text.shell-session",embeddedLangs:["shellscript"],aliases:["console"]})
3
+ const lang = Object.freeze({displayName:"Shell Session",fileTypes:["sh-session"],name:"shellsession",patterns:[{captures:{"1":{name:"entity.other.prompt-prefix.shell-session"},"2":{name:"punctuation.separator.prompt.shell-session"},"3":{name:"source.shell",patterns:[{include:"source.shell"}]}},match:/^(?:((?:\(\P{space}+\)\p{space}*)?(?:sh\P{space}*?|[\p{L}\p{M}\p{N}\p{Pc}]+\P{space}+[\@\:]\P{space}+(?:\p{space}+\P{space}+)?|\[\P{space}+?[\@\:][^\n]+?\][^\n]*?))\p{space}*)?([\>\$\#\%❯➜\p{sc=Greek}])\p{space}+([^\n]*)(?=\n?$)/dgv},{match:/^[^\n]+(?=\n?$)/dgv,name:"meta.output.shell-session"}],scopeName:"text.shell-session",embeddedLangs:["shellscript"],aliases:["console"]})
4
4
 
5
5
  export default [
6
6
  ...shellscript,
@@ -1,6 +1,6 @@
1
1
  import { EmulatedRegExp } from 'oniguruma-to-es'
2
2
 
3
- const lang = Object.freeze({displayName:"Smalltalk",fileTypes:["st"],foldingStartMarker:/\[/dgv,foldingStopMarker:/^\p{space}*\]|^\p{space}\]/dgv,name:"smalltalk",patterns:[{match:/\$[^\n]/dgv,name:"constant.character.smalltalk"},{match:/\b(class)\b/dgv,name:"storage.type.$1.smalltalk"},{match:/\b(extend|super|self)\b/dgv,name:"storage.modifier.$1.smalltalk"},{match:/\b(yourself|new|Smalltalk)\b/dgv,name:"keyword.control.$1.smalltalk"},{match:/:=/dgv,name:"keyword.operator.assignment.smalltalk"},{match:/\/^:[\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*\|\//dgv,name:"constant.other.block.smalltalk"},{captures:{"1":{name:"punctuation.definition.instance-variables.begin.smalltalk"},"2":{patterns:[{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"support.type.variable.declaration.smalltalk"}]},"3":{name:"punctuation.definition.instance-variables.end.smalltalk"}},match:/(\|)(\p{space}*[\p{L}\p{M}\p{N}\p{Pc}][\p{L}\p{M}\p{N}\p{Pc} ]*)(\|)/dgv},{captures:{"1":{patterns:[{match:/:[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.function.block.smalltalk"}]}},match:/\[((\p{space}+|:[\p{L}\p{M}\p{N}\p{Pc}]+)*)\|/dgv},{include:"#numeric"},{match:/<(?!<|=)|>(?!<|=|>)|<=|>=|=|==|~=|~~|>>|\^/dgv,name:"keyword.operator.comparison.smalltalk"},{match:/(\*|\+|-|\/|\\)/dgv,name:"keyword.operator.arithmetic.smalltalk"},{match:/(?<=[ \t])!+|\bnot\b|&|\band\b|\||\bor\b/dgv,name:"keyword.operator.logical.smalltalk"},{match:/(?<!\.)\b(ensure|resume|retry|signal)\b(?![\?\!])/dgv,name:"keyword.control.smalltalk"},{match:/ifCurtailed:|ifTrue:|ifFalse:|whileFalse:|whileTrue:/dgv,name:"keyword.control.conditionals.smalltalk"},{captures:{"1":{name:"entity.other.inherited-class.smalltalk"},"3":{name:"keyword.control.smalltalk"},"4":{name:"entity.name.type.class.smalltalk"}},match:/([\p{L}\p{M}\p{N}\p{Pc}]+)(\p{space}+(subclass:))\p{space}*([\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,name:"meta.class.smalltalk"},{begin:/"/dgv,beginCaptures:[{name:"punctuation.definition.comment.begin.smalltalk"}],end:/"/dgv,endCaptures:[{name:"punctuation.definition.comment.end.smalltalk"}],name:"comment.block.smalltalk"},{match:/\b(true|false)\b/dgv,name:"constant.language.boolean.smalltalk"},{match:/\b(nil)\b/dgv,name:"constant.language.nil.smalltalk"},{captures:{"1":{name:"punctuation.definition.constant.smalltalk"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([a-zA-Z_][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=([\\?\\!]))\\2)?))\\1)(:)(?!:)","dgv",{"hiddenCaptures":[1,2]}),name:"constant.other.messages.smalltalk"},{captures:{"1":{name:"punctuation.definition.constant.smalltalk"}},match:/(#)[a-zA-Z_][a-zA-Z0-9_\:]*/dgv,name:"constant.other.symbol.smalltalk"},{begin:/#\[/dgv,beginCaptures:[{name:"punctuation.definition.constant.begin.smalltalk"}],end:/\]/dgv,endCaptures:[{name:"punctuation.definition.constant.end.smalltalk"}],name:"meta.array.byte.smalltalk",patterns:[{match:/[0-9]+(r[a-zA-Z0-9]+)?/dgv,name:"constant.numeric.integer.smalltalk"},{match:/[^\p{space}\]]+/dgv,name:"invalid.illegal.character-not-allowed-here.smalltalk"}]},{begin:/#\(/dgv,beginCaptures:[{name:"punctuation.definition.constant.begin.smalltalk"}],end:/\)/dgv,endCaptures:[{name:"punctuation.definition.constant.end.smalltalk"}],name:"constant.other.array.smalltalk"},{begin:/'/dgv,beginCaptures:[{name:"punctuation.definition.string.begin.smalltalk"}],end:/'/dgv,endCaptures:[{name:"punctuation.definition.string.end.smalltalk"}],name:"string.quoted.single.smalltalk"},{match:/\b[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"variable.other.constant.smalltalk"}],repository:{numeric:{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])[0-9]+\.[0-9]+s[0-9]*/dgv,name:"constant.numeric.float.scaled.smalltalk"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])[0-9]+\.[0-9]+([edq]-?[0-9]+)?/dgv,name:"constant.numeric.float.smalltalk"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])-?[0-9]+r[a-zA-Z0-9]+/dgv,name:"constant.numeric.integer.radix.smalltalk"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])-?[0-9]+([edq]-?[0-9]+)?/dgv,name:"constant.numeric.integer.smalltalk"}]}},scopeName:"source.smalltalk",embeddedLangs:undefined,aliases:undefined})
3
+ const lang = Object.freeze({displayName:"Smalltalk",fileTypes:["st"],foldingStartMarker:/\[/dgv,foldingStopMarker:/^(?:\p{space}*\]|\p{space}\])/dgv,name:"smalltalk",patterns:[{match:/\$[^\n]/dgv,name:"constant.character.smalltalk"},{match:/\b(class)\b/dgv,name:"storage.type.$1.smalltalk"},{match:/\b(extend|super|self)\b/dgv,name:"storage.modifier.$1.smalltalk"},{match:/\b(yourself|new|Smalltalk)\b/dgv,name:"keyword.control.$1.smalltalk"},{match:/:=/dgv,name:"keyword.operator.assignment.smalltalk"},{match:/\/^:[\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*\|\//dgv,name:"constant.other.block.smalltalk"},{captures:{"1":{name:"punctuation.definition.instance-variables.begin.smalltalk"},"2":{patterns:[{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"support.type.variable.declaration.smalltalk"}]},"3":{name:"punctuation.definition.instance-variables.end.smalltalk"}},match:/(\|)(\p{space}*[\p{L}\p{M}\p{N}\p{Pc}][\p{L}\p{M}\p{N}\p{Pc} ]*)(\|)/dgv},{captures:{"1":{patterns:[{match:/:[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.function.block.smalltalk"}]}},match:/\[((\p{space}+|:[\p{L}\p{M}\p{N}\p{Pc}]+)*)\|/dgv},{include:"#numeric"},{match:/<(?![\<\=])|>(?![\<\=\>])|<=|>=|=|==|~=|~~|>>|\^/dgv,name:"keyword.operator.comparison.smalltalk"},{match:/([\*\+\-\/\\])/dgv,name:"keyword.operator.arithmetic.smalltalk"},{match:/(?<=[ \t])!+|\bnot\b|&|\band\b|\||\bor\b/dgv,name:"keyword.operator.logical.smalltalk"},{match:/(?<!\.)\b(ensure|resume|retry|signal)\b(?![\?\!])/dgv,name:"keyword.control.smalltalk"},{match:/ifCurtailed:|ifTrue:|ifFalse:|whileFalse:|whileTrue:/dgv,name:"keyword.control.conditionals.smalltalk"},{captures:{"1":{name:"entity.other.inherited-class.smalltalk"},"3":{name:"keyword.control.smalltalk"},"4":{name:"entity.name.type.class.smalltalk"}},match:/([\p{L}\p{M}\p{N}\p{Pc}]+)(\p{space}+(subclass:))\p{space}*([\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,name:"meta.class.smalltalk"},{begin:/"/dgv,beginCaptures:[{name:"punctuation.definition.comment.begin.smalltalk"}],end:/"/dgv,endCaptures:[{name:"punctuation.definition.comment.end.smalltalk"}],name:"comment.block.smalltalk"},{match:/\b(true|false)\b/dgv,name:"constant.language.boolean.smalltalk"},{match:/\b(nil)\b/dgv,name:"constant.language.nil.smalltalk"},{captures:{"1":{name:"punctuation.definition.constant.smalltalk"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([a-zA-Z_][\\p{L}\\p{M}\\p{N}\\p{Pc}]*[\\?\\!]?))\\1)(:)(?!:)","dgv",{"hiddenCaptures":[1]}),name:"constant.other.messages.smalltalk"},{captures:{"1":{name:"punctuation.definition.constant.smalltalk"}},match:/(#)[a-zA-Z_][a-zA-Z0-9_\:]*/dgv,name:"constant.other.symbol.smalltalk"},{begin:/#\[/dgv,beginCaptures:[{name:"punctuation.definition.constant.begin.smalltalk"}],end:/\]/dgv,endCaptures:[{name:"punctuation.definition.constant.end.smalltalk"}],name:"meta.array.byte.smalltalk",patterns:[{match:/[0-9]+(r[a-zA-Z0-9]+)?/dgv,name:"constant.numeric.integer.smalltalk"},{match:/[^\p{space}\]]+/dgv,name:"invalid.illegal.character-not-allowed-here.smalltalk"}]},{begin:/#\(/dgv,beginCaptures:[{name:"punctuation.definition.constant.begin.smalltalk"}],end:/\)/dgv,endCaptures:[{name:"punctuation.definition.constant.end.smalltalk"}],name:"constant.other.array.smalltalk"},{begin:/'/dgv,beginCaptures:[{name:"punctuation.definition.string.begin.smalltalk"}],end:/'/dgv,endCaptures:[{name:"punctuation.definition.string.end.smalltalk"}],name:"string.quoted.single.smalltalk"},{match:/\b[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"variable.other.constant.smalltalk"}],repository:{numeric:{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])[0-9]+\.[0-9]+s[0-9]*/dgv,name:"constant.numeric.float.scaled.smalltalk"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])[0-9]+\.[0-9]+([edq]-?[0-9]+)?/dgv,name:"constant.numeric.float.smalltalk"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])-?[0-9]+r[a-zA-Z0-9]+/dgv,name:"constant.numeric.integer.radix.smalltalk"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])-?[0-9]+([edq]-?[0-9]+)?/dgv,name:"constant.numeric.integer.smalltalk"}]}},scopeName:"source.smalltalk",embeddedLangs:undefined,aliases:undefined})
4
4
 
5
5
  export default [
6
6
  lang
package/dist/solidity.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"Solidity",fileTypes:["sol"],name:"solidity",patterns:[{include:"#natspec"},{include:"#declaration-userType"},{include:"#comment"},{include:"#operator"},{include:"#global"},{include:"#control"},{include:"#constant"},{include:"#primitive"},{include:"#type-primitive"},{include:"#type-modifier-extended-scope"},{include:"#declaration"},{include:"#function-call"},{include:"#assembly"},{include:"#punctuation"}],repository:{assembly:{patterns:[{match:/\b(assembly)\b/dgv,name:"keyword.control.assembly"},{match:/\b(let)\b/dgv,name:"storage.type.assembly"}]},comment:{patterns:[{include:"#comment-line"},{include:"#comment-block"}]},"comment-block":{begin:/\/\*/dgv,end:/\*\//dgv,name:"comment.block",patterns:[{include:"#comment-todo"}]},"comment-line":{begin:/(?<!tp:)\/\//dgv,end:/(?=\n?$)/dgv,name:"comment.line",patterns:[{include:"#comment-todo"}]},"comment-todo":{match:/\b(FIXME|TODO|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|SUPPRESS|LINT|[\p{L}\p{M}\p{N}\p{Pc}]+-disable|[\p{L}\p{M}\p{N}\p{Pc}]+-suppress)\b/dgiv,name:"keyword.comment.todo"},constant:{patterns:[{include:"#constant-boolean"},{include:"#constant-time"},{include:"#constant-currency"}]},"constant-boolean":{match:/\b(true|false)\b/dgv,name:"constant.language.boolean"},"constant-currency":{match:/\b(ether|wei|gwei|finney|szabo)\b/dgv,name:"constant.language.currency"},"constant-time":{match:/\b(seconds|minutes|hours|days|weeks|years)\b/dgv,name:"constant.language.time"},control:{patterns:[{include:"#control-flow"},{include:"#control-using"},{include:"#control-import"},{include:"#control-pragma"},{include:"#control-underscore"},{include:"#control-unchecked"},{include:"#control-other"}]},"control-flow":{patterns:[{match:/\b(if|else|for|while|do|break|continue|try|catch|finally|throw|return|global)\b/dgv,name:"keyword.control.flow"},{begin:/\b(returns)\b/dgv,beginCaptures:{"1":{name:"keyword.control.flow.return"}},end:/(?=\))/dgv,patterns:[{include:"#declaration-function-parameters"}]}]},"control-import":{patterns:[{begin:/\b(import)\b/dgv,beginCaptures:{"1":{name:"keyword.control.import"}},end:/(?=;)/dgv,patterns:[{begin:/((?=\{))/dgv,end:/((?=\}))/dgv,patterns:[{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"entity.name.type.interface"}]},{match:/\b(from)\b/dgv,name:"keyword.control.import.from"},{include:"#string"},{include:"#punctuation"}]},{match:/\b(import)\b/dgv,name:"keyword.control.import"}]},"control-other":{match:/\b(new|delete|emit)\b/dgv,name:"keyword.control"},"control-pragma":{captures:{"1":{name:"keyword.control.pragma"},"2":{name:"entity.name.tag.pragma"},"3":{name:"constant.other.pragma"}},match:/\b(pragma)(?:\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+([^\p{space}]+))?\b/dgv},"control-unchecked":{match:/\b(unchecked)\b/dgv,name:"keyword.control.unchecked"},"control-underscore":{match:/\b(_)\b/dgv,name:"constant.other.underscore"},"control-using":{patterns:[{captures:{"1":{name:"keyword.control.using"},"2":{name:"entity.name.type.library"},"3":{name:"keyword.control.for"},"4":{name:"entity.name.type"}},match:/\b(using)\b\p{space}+\b([A-Za-z\p{Nd}_]+)\b\p{space}+\b(for)\b\p{space}+\b([A-Za-z\p{Nd}_]+)/dgv},{match:/\b(using)\b/dgv,name:"keyword.control.using"}]},declaration:{patterns:[{include:"#declaration-contract"},{include:"#declaration-userType"},{include:"#declaration-interface"},{include:"#declaration-library"},{include:"#declaration-function"},{include:"#declaration-modifier"},{include:"#declaration-constructor"},{include:"#declaration-event"},{include:"#declaration-storage"},{include:"#declaration-error"}]},"declaration-constructor":{patterns:[{begin:/\b(constructor)\b/dgv,beginCaptures:{"1":{name:"storage.type.constructor"}},end:/(?=\{)/dgv,patterns:[{begin:/\p{space}*(?=\()/dgvy,end:/(?=\))/dgv,patterns:[{include:"#declaration-function-parameters"}]},{begin:/(?<=\))/dgv,end:/(?=\{)/dgv,patterns:[{include:"#type-modifier-access"},{include:"#function-call"}]}]},{captures:{"1":{name:"storage.type.constructor"}},match:/\b(constructor)\b/dgv}]},"declaration-contract":{patterns:[{begin:/\b(contract)\b\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)\b\p{space}+\b(is)\b\p{space}+/dgv,beginCaptures:{"1":{name:"storage.type.contract"},"2":{name:"entity.name.type.contract"},"3":{name:"storage.modifier.is"}},end:/(?=\{)/dgv,patterns:[{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"entity.name.type.contract.extend"}]},{captures:{"1":{name:"storage.type.contract"},"2":{name:"entity.name.type.contract"}},match:/\b(contract)(\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*))?\b/dgv}]},"declaration-enum":{patterns:[{begin:/\b(enum)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,beginCaptures:{"1":{name:"storage.type.enum"},"2":{name:"entity.name.type.enum"}},end:/(?=\})/dgv,patterns:[{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"variable.other.enummember"},{include:"#punctuation"},{include:"#comment"}]},{captures:{"1":{name:"storage.type.enum"},"3":{name:"entity.name.type.enum"}},match:/\b(enum)(\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*))?\b/dgv}]},"declaration-error":{captures:{"1":{name:"storage.type.error"},"3":{name:"entity.name.type.error"}},match:/\b(error)(\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*))?\b/dgv},"declaration-event":{patterns:[{begin:/\b(event)\b(?:\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)\b)?/dgv,beginCaptures:{"1":{name:"storage.type.event"},"2":{name:"entity.name.type.event"}},end:/(?=\))/dgv,patterns:[{include:"#type-primitive"},{captures:{"1":{name:"storage.type.modifier.indexed"},"2":{name:"variable.parameter.event"}},match:/\b(?:(indexed)\p{space})?([\p{L}\p{M}\p{N}\p{Pc}]+)(?:,\p{space}*|)/dgv},{include:"#punctuation"}]},{captures:{"1":{name:"storage.type.event"},"3":{name:"entity.name.type.event"}},match:/\b(event)(\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*))?\b/dgv}]},"declaration-function":{patterns:[{begin:/\b(function)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,beginCaptures:{"1":{name:"storage.type.function"},"2":{name:"entity.name.function"}},end:/(?=\{|;)/dgv,patterns:[{include:"#natspec"},{include:"#global"},{include:"#declaration-function-parameters"},{include:"#type-modifier-access"},{include:"#type-modifier-payable"},{include:"#type-modifier-immutable"},{include:"#type-modifier-extended-scope"},{include:"#control-flow"},{include:"#function-call"},{include:"#modifier-call"},{include:"#punctuation"}]},{captures:{"1":{name:"storage.type.function"},"2":{name:"entity.name.function"}},match:/\b(function)\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv}]},"declaration-function-parameters":{begin:/\p{space}*(?=\()/dgvy,end:/(?=\))/dgv,patterns:[{include:"#type-primitive"},{include:"#type-modifier-extended-scope"},{captures:{"1":{name:"storage.type.struct"}},match:/\b([A-Z][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv},{include:"#variable"},{include:"#punctuation"},{include:"#comment"}]},"declaration-interface":{patterns:[{begin:/\b(interface)\b\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)\b\p{space}+\b(is)\b\p{space}+/dgv,beginCaptures:{"1":{name:"storage.type.interface"},"2":{name:"entity.name.type.interface"},"3":{name:"storage.modifier.is"}},end:/(?=\{)/dgv,patterns:[{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"entity.name.type.interface.extend"}]},{captures:{"1":{name:"storage.type.interface"},"2":{name:"entity.name.type.interface"}},match:/\b(interface)(\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*))?\b/dgv}]},"declaration-library":{captures:{"1":{name:"storage.type.library"},"3":{name:"entity.name.type.library"}},match:/\b(library)(\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*))?\b/dgv},"declaration-modifier":{patterns:[{begin:/\b(modifier)\b\p{space}*([\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,beginCaptures:{"1":{name:"storage.type.function.modifier"},"2":{name:"entity.name.function.modifier"}},end:/(?=\{)/dgv,patterns:[{include:"#declaration-function-parameters"},{begin:/(?<=\))/dgv,end:/(?=\{)/dgv,patterns:[{include:"#declaration-function-parameters"},{include:"#type-modifier-access"},{include:"#type-modifier-payable"},{include:"#type-modifier-immutable"},{include:"#type-modifier-extended-scope"},{include:"#function-call"},{include:"#modifier-call"},{include:"#control-flow"}]}]},{captures:{"1":{name:"storage.type.modifier"},"3":{name:"entity.name.function"}},match:/\b(modifier)(\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*))?\b/dgv}]},"declaration-storage":{patterns:[{include:"#declaration-storage-mapping"},{include:"#declaration-struct"},{include:"#declaration-enum"},{include:"#declaration-storage-field"}]},"declaration-storage-field":{patterns:[{include:"#comment"},{include:"#control"},{include:"#type-primitive"},{include:"#type-modifier-access"},{include:"#type-modifier-immutable"},{include:"#type-modifier-extend-scope"},{include:"#type-modifier-payable"},{include:"#type-modifier-constant"},{include:"#primitive"},{include:"#constant"},{include:"#operator"},{include:"#punctuation"}]},"declaration-storage-mapping":{patterns:[{begin:/\b(mapping)\b/dgv,beginCaptures:{"1":{name:"storage.type.mapping"}},end:/(?=\))/dgv,patterns:[{include:"#declaration-storage-mapping"},{include:"#type-primitive"},{include:"#punctuation"},{include:"#operator"}]},{match:/\b(mapping)\b/dgv,name:"storage.type.mapping"}]},"declaration-struct":{patterns:[{captures:{"1":{name:"storage.type.struct"},"3":{name:"entity.name.type.struct"}},match:/\b(struct)(\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*))?\b/dgv},{begin:/\b(struct)\b\p{space}*([\p{L}\p{M}\p{N}\p{Pc}]+)?\b\p{space}*(?=\{)/dgv,beginCaptures:{"1":{name:"storage.type.struct"},"2":{name:"entity.name.type.struct"}},end:/(?=\})/dgv,patterns:[{include:"#type-primitive"},{include:"#variable"},{include:"#punctuation"},{include:"#comment"}]}]},"declaration-userType":{captures:{"1":{name:"storage.type.userType"},"2":{name:"entity.name.type.userType"},"3":{name:"storage.modifier.is"}},match:/\b(type)\b\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)\b\p{space}+\b(is)\b/dgv},"function-call":{captures:{"1":{name:"entity.name.function"},"2":{name:"punctuation.parameters.begin"}},match:/\b([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(\()/dgv},global:{patterns:[{include:"#global-variables"},{include:"#global-functions"}]},"global-functions":{patterns:[{match:/\b(require|assert|revert)\b/dgv,name:"keyword.control.exceptions"},{match:/\b(selfdestruct|suicide)\b/dgv,name:"keyword.control.contract"},{match:/\b(addmod|mulmod|keccak256|sha256|sha3|ripemd160|ecrecover)\b/dgv,name:"support.function.math"},{match:/\b(unicode)\b/dgv,name:"support.function.string"},{match:/\b(blockhash|gasleft)\b/dgv,name:"variable.language.transaction"},{match:/\b(type)\b/dgv,name:"variable.language.type"}]},"global-variables":{patterns:[{match:/\b(this)\b/dgv,name:"variable.language.this"},{match:/\b(super)\b/dgv,name:"variable.language.super"},{match:/\b(abi)\b/dgv,name:"variable.language.builtin.abi"},{match:/\b(msg\.sender|msg|block|tx|now)\b/dgv,name:"variable.language.transaction"},{match:/\b(tx\.origin|tx\.gasprice|msg\.data|msg\.sig|msg\.value)\b/dgv,name:"variable.language.transaction"}]},"modifier-call":{patterns:[{include:"#function-call"},{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"entity.name.function.modifier"}]},natspec:{patterns:[{begin:/\/\*\*/dgv,end:/\*\//dgv,name:"comment.block.documentation",patterns:[{include:"#natspec-tags"}]},{begin:/\/\/\//dgv,end:/(?=\n?$)/dgv,name:"comment.block.documentation",patterns:[{include:"#natspec-tags"}]}]},"natspec-tag-author":{match:/(@author)\b/dgv,name:"storage.type.author.natspec"},"natspec-tag-custom":{match:/(@custom:[\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"storage.type.dev.natspec"},"natspec-tag-dev":{match:/(@dev)\b/dgv,name:"storage.type.dev.natspec"},"natspec-tag-inheritdoc":{match:/(@inheritdoc)\b/dgv,name:"storage.type.author.natspec"},"natspec-tag-notice":{match:/(@notice)\b/dgv,name:"storage.type.dev.natspec"},"natspec-tag-param":{captures:{"1":{name:"storage.type.param.natspec"},"3":{name:"variable.other.natspec"}},match:/(@param)(\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*))?\b/dgv},"natspec-tag-return":{captures:{"1":{name:"storage.type.return.natspec"},"3":{name:"variable.other.natspec"}},match:/(@return)(\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*))?\b/dgv},"natspec-tag-title":{match:/(@title)\b/dgv,name:"storage.type.title.natspec"},"natspec-tags":{patterns:[{include:"#comment-todo"},{include:"#natspec-tag-title"},{include:"#natspec-tag-author"},{include:"#natspec-tag-notice"},{include:"#natspec-tag-dev"},{include:"#natspec-tag-param"},{include:"#natspec-tag-return"},{include:"#natspec-tag-custom"},{include:"#natspec-tag-inheritdoc"}]},number:{patterns:[{include:"#number-decimal"},{include:"#number-hex"},{include:"#number-scientific"}]},"number-decimal":{match:/\b([0-9_]+(\.[0-9_]+)?)\b/dgv,name:"constant.numeric.decimal"},"number-hex":{match:/\b(0[xX][a-fA-F0-9]+)\b/dgv,name:"constant.numeric.hexadecimal"},"number-scientific":{match:/\b(?:0\.(?:0[0-9]|[0-9][0-9_]?)|[0-9][0-9_]*(?:\.\p{Nd}{1,2})?)(?:e[\+\-]?[0-9_]+)?/dgv,name:"constant.numeric.scientific"},operator:{patterns:[{include:"#operator-logic"},{include:"#operator-mapping"},{include:"#operator-arithmetic"},{include:"#operator-binary"},{include:"#operator-assignment"}]},"operator-arithmetic":{match:/(\+|-|\/|\*)/dgv,name:"keyword.operator.arithmetic"},"operator-assignment":{match:/(:?=)/dgv,name:"keyword.operator.assignment"},"operator-binary":{match:/(\^|&|\||<<|>>)/dgv,name:"keyword.operator.binary"},"operator-logic":{match:/(==|!=|<(?!<)|<=|>(?!>)|>=|&&|\|\||:(?!=)|\?|!)/dgv,name:"keyword.operator.logic"},"operator-mapping":{match:/(=>)/dgv,name:"keyword.operator.mapping"},primitive:{patterns:[{include:"#number-decimal"},{include:"#number-hex"},{include:"#number-scientific"},{include:"#string"}]},punctuation:{patterns:[{match:/;/dgv,name:"punctuation.terminator.statement"},{match:/\./dgv,name:"punctuation.accessor"},{match:/,/dgv,name:"punctuation.separator"},{match:/\{/dgv,name:"punctuation.brace.curly.begin"},{match:/\}/dgv,name:"punctuation.brace.curly.end"},{match:/\[/dgv,name:"punctuation.brace.square.begin"},{match:/\]/dgv,name:"punctuation.brace.square.end"},{match:/\(/dgv,name:"punctuation.parameters.begin"},{match:/\)/dgv,name:"punctuation.parameters.end"}]},string:{patterns:[{match:/"(?:\\"|[^"])*"/dgv,name:"string.quoted.double"},{match:/'(?:\\'|[^'])*'/dgv,name:"string.quoted.single"}]},"type-modifier-access":{match:/\b(internal|external|private|public)\b/dgv,name:"storage.type.modifier.access"},"type-modifier-constant":{match:/\b(constant)\b/dgv,name:"storage.type.modifier.readonly"},"type-modifier-extended-scope":{match:/\b(pure|view|inherited|indexed|storage|memory|virtual|calldata|override|abstract)\b/dgv,name:"storage.type.modifier.extendedscope"},"type-modifier-immutable":{match:/\b(immutable)\b/dgv,name:"storage.type.modifier.readonly"},"type-modifier-payable":{match:/\b(nonpayable|payable)\b/dgv,name:"storage.type.modifier.payable"},"type-primitive":{patterns:[{begin:/\b(address|string\p{Nd}*|bytes\p{Nd}*|int\p{Nd}*|uint\p{Nd}*|bool|hash\p{Nd}*)\b\[\](\()/dgv,beginCaptures:{"1":{name:"support.type.primitive"}},end:/(\))/dgv,patterns:[{include:"#primitive"},{include:"#punctuation"},{include:"#global"},{include:"#variable"}]},{match:/\b(address|string\p{Nd}*|bytes\p{Nd}*|int\p{Nd}*|uint\p{Nd}*|bool|hash\p{Nd}*)\b/dgv,name:"support.type.primitive"}]},variable:{patterns:[{captures:{"1":{name:"variable.parameter.function"}},match:/\b(_[\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv},{captures:{"1":{name:"support.variable.property"}},match:/\.([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv},{captures:{"1":{name:"variable.parameter.other"}},match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv}]}},scopeName:"source.solidity",embeddedLangs:undefined,aliases:undefined})
1
+ const lang = Object.freeze({displayName:"Solidity",fileTypes:["sol"],name:"solidity",patterns:[{include:"#natspec"},{include:"#declaration-userType"},{include:"#comment"},{include:"#operator"},{include:"#global"},{include:"#control"},{include:"#constant"},{include:"#primitive"},{include:"#type-primitive"},{include:"#type-modifier-extended-scope"},{include:"#declaration"},{include:"#function-call"},{include:"#assembly"},{include:"#punctuation"}],repository:{assembly:{patterns:[{match:/\b(assembly)\b/dgv,name:"keyword.control.assembly"},{match:/\b(let)\b/dgv,name:"storage.type.assembly"}]},comment:{patterns:[{include:"#comment-line"},{include:"#comment-block"}]},"comment-block":{begin:/\/\*/dgv,end:/\*\//dgv,name:"comment.block",patterns:[{include:"#comment-todo"}]},"comment-line":{begin:/(?<!tp:)\/\//dgv,end:/(?=\n?$)/dgv,name:"comment.line",patterns:[{include:"#comment-todo"}]},"comment-todo":{match:/\b(FIXME|TODO|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|SUPPRESS|LINT|[\p{L}\p{M}\p{N}\p{Pc}]+-disable|[\p{L}\p{M}\p{N}\p{Pc}]+-suppress)\b/dgiv,name:"keyword.comment.todo"},constant:{patterns:[{include:"#constant-boolean"},{include:"#constant-time"},{include:"#constant-currency"}]},"constant-boolean":{match:/\b(true|false)\b/dgv,name:"constant.language.boolean"},"constant-currency":{match:/\b(ether|wei|gwei|finney|szabo)\b/dgv,name:"constant.language.currency"},"constant-time":{match:/\b(seconds|minutes|hours|days|weeks|years)\b/dgv,name:"constant.language.time"},control:{patterns:[{include:"#control-flow"},{include:"#control-using"},{include:"#control-import"},{include:"#control-pragma"},{include:"#control-underscore"},{include:"#control-unchecked"},{include:"#control-other"}]},"control-flow":{patterns:[{match:/\b(if|else|for|while|do|break|continue|try|catch|finally|throw|return|global)\b/dgv,name:"keyword.control.flow"},{begin:/\b(returns)\b/dgv,beginCaptures:{"1":{name:"keyword.control.flow.return"}},end:/(?=\))/dgv,patterns:[{include:"#declaration-function-parameters"}]}]},"control-import":{patterns:[{begin:/\b(import)\b/dgv,beginCaptures:{"1":{name:"keyword.control.import"}},end:/(?=;)/dgv,patterns:[{begin:/((?=\{))/dgv,end:/((?=\}))/dgv,patterns:[{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"entity.name.type.interface"}]},{match:/\b(from)\b/dgv,name:"keyword.control.import.from"},{include:"#string"},{include:"#punctuation"}]},{match:/\b(import)\b/dgv,name:"keyword.control.import"}]},"control-other":{match:/\b(new|delete|emit)\b/dgv,name:"keyword.control"},"control-pragma":{captures:{"1":{name:"keyword.control.pragma"},"2":{name:"entity.name.tag.pragma"},"3":{name:"constant.other.pragma"}},match:/\b(pragma)(?:\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+(\P{space}+))?\b/dgv},"control-unchecked":{match:/\b(unchecked)\b/dgv,name:"keyword.control.unchecked"},"control-underscore":{match:/\b(_)\b/dgv,name:"constant.other.underscore"},"control-using":{patterns:[{captures:{"1":{name:"keyword.control.using"},"2":{name:"entity.name.type.library"},"3":{name:"keyword.control.for"},"4":{name:"entity.name.type"}},match:/\b(using)\b\p{space}+\b([A-Za-z\p{Nd}_]+)\b\p{space}+\b(for)\b\p{space}+\b([A-Za-z\p{Nd}_]+)/dgv},{match:/\b(using)\b/dgv,name:"keyword.control.using"}]},declaration:{patterns:[{include:"#declaration-contract"},{include:"#declaration-userType"},{include:"#declaration-interface"},{include:"#declaration-library"},{include:"#declaration-function"},{include:"#declaration-modifier"},{include:"#declaration-constructor"},{include:"#declaration-event"},{include:"#declaration-storage"},{include:"#declaration-error"}]},"declaration-constructor":{patterns:[{begin:/\b(constructor)\b/dgv,beginCaptures:{"1":{name:"storage.type.constructor"}},end:/(?=\{)/dgv,patterns:[{begin:/\p{space}*(?=\()/dgvy,end:/(?=\))/dgv,patterns:[{include:"#declaration-function-parameters"}]},{begin:/(?<=\))/dgv,end:/(?=\{)/dgv,patterns:[{include:"#type-modifier-access"},{include:"#function-call"}]}]},{captures:{"1":{name:"storage.type.constructor"}},match:/\b(constructor)\b/dgv}]},"declaration-contract":{patterns:[{begin:/\b(contract)\b\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)\b\p{space}+\b(is)\b\p{space}+/dgv,beginCaptures:{"1":{name:"storage.type.contract"},"2":{name:"entity.name.type.contract"},"3":{name:"storage.modifier.is"}},end:/(?=\{)/dgv,patterns:[{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"entity.name.type.contract.extend"}]},{captures:{"1":{name:"storage.type.contract"},"2":{name:"entity.name.type.contract"}},match:/\b(contract)(\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*))?\b/dgv}]},"declaration-enum":{patterns:[{begin:/\b(enum)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,beginCaptures:{"1":{name:"storage.type.enum"},"2":{name:"entity.name.type.enum"}},end:/(?=\})/dgv,patterns:[{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"variable.other.enummember"},{include:"#punctuation"},{include:"#comment"}]},{captures:{"1":{name:"storage.type.enum"},"3":{name:"entity.name.type.enum"}},match:/\b(enum)(\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*))?\b/dgv}]},"declaration-error":{captures:{"1":{name:"storage.type.error"},"3":{name:"entity.name.type.error"}},match:/\b(error)(\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*))?\b/dgv},"declaration-event":{patterns:[{begin:/\b(event)\b(?:\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)\b)?/dgv,beginCaptures:{"1":{name:"storage.type.event"},"2":{name:"entity.name.type.event"}},end:/(?=\))/dgv,patterns:[{include:"#type-primitive"},{captures:{"1":{name:"storage.type.modifier.indexed"},"2":{name:"variable.parameter.event"}},match:/\b(?:(indexed)\p{space})?([\p{L}\p{M}\p{N}\p{Pc}]+)(?:,\p{space}*|)/dgv},{include:"#punctuation"}]},{captures:{"1":{name:"storage.type.event"},"3":{name:"entity.name.type.event"}},match:/\b(event)(\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*))?\b/dgv}]},"declaration-function":{patterns:[{begin:/\b(function)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,beginCaptures:{"1":{name:"storage.type.function"},"2":{name:"entity.name.function"}},end:/(?=[\{\;])/dgv,patterns:[{include:"#natspec"},{include:"#global"},{include:"#declaration-function-parameters"},{include:"#type-modifier-access"},{include:"#type-modifier-payable"},{include:"#type-modifier-immutable"},{include:"#type-modifier-extended-scope"},{include:"#control-flow"},{include:"#function-call"},{include:"#modifier-call"},{include:"#punctuation"}]},{captures:{"1":{name:"storage.type.function"},"2":{name:"entity.name.function"}},match:/\b(function)\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv}]},"declaration-function-parameters":{begin:/\p{space}*(?=\()/dgvy,end:/(?=\))/dgv,patterns:[{include:"#type-primitive"},{include:"#type-modifier-extended-scope"},{captures:{"1":{name:"storage.type.struct"}},match:/\b([A-Z][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv},{include:"#variable"},{include:"#punctuation"},{include:"#comment"}]},"declaration-interface":{patterns:[{begin:/\b(interface)\b\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)\b\p{space}+\b(is)\b\p{space}+/dgv,beginCaptures:{"1":{name:"storage.type.interface"},"2":{name:"entity.name.type.interface"},"3":{name:"storage.modifier.is"}},end:/(?=\{)/dgv,patterns:[{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"entity.name.type.interface.extend"}]},{captures:{"1":{name:"storage.type.interface"},"2":{name:"entity.name.type.interface"}},match:/\b(interface)(\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*))?\b/dgv}]},"declaration-library":{captures:{"1":{name:"storage.type.library"},"3":{name:"entity.name.type.library"}},match:/\b(library)(\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*))?\b/dgv},"declaration-modifier":{patterns:[{begin:/\b(modifier)\b\p{space}*([\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,beginCaptures:{"1":{name:"storage.type.function.modifier"},"2":{name:"entity.name.function.modifier"}},end:/(?=\{)/dgv,patterns:[{include:"#declaration-function-parameters"},{begin:/(?<=\))/dgv,end:/(?=\{)/dgv,patterns:[{include:"#declaration-function-parameters"},{include:"#type-modifier-access"},{include:"#type-modifier-payable"},{include:"#type-modifier-immutable"},{include:"#type-modifier-extended-scope"},{include:"#function-call"},{include:"#modifier-call"},{include:"#control-flow"}]}]},{captures:{"1":{name:"storage.type.modifier"},"3":{name:"entity.name.function"}},match:/\b(modifier)(\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*))?\b/dgv}]},"declaration-storage":{patterns:[{include:"#declaration-storage-mapping"},{include:"#declaration-struct"},{include:"#declaration-enum"},{include:"#declaration-storage-field"}]},"declaration-storage-field":{patterns:[{include:"#comment"},{include:"#control"},{include:"#type-primitive"},{include:"#type-modifier-access"},{include:"#type-modifier-immutable"},{include:"#type-modifier-extend-scope"},{include:"#type-modifier-payable"},{include:"#type-modifier-constant"},{include:"#primitive"},{include:"#constant"},{include:"#operator"},{include:"#punctuation"}]},"declaration-storage-mapping":{patterns:[{begin:/\b(mapping)\b/dgv,beginCaptures:{"1":{name:"storage.type.mapping"}},end:/(?=\))/dgv,patterns:[{include:"#declaration-storage-mapping"},{include:"#type-primitive"},{include:"#punctuation"},{include:"#operator"}]},{match:/\b(mapping)\b/dgv,name:"storage.type.mapping"}]},"declaration-struct":{patterns:[{captures:{"1":{name:"storage.type.struct"},"3":{name:"entity.name.type.struct"}},match:/\b(struct)(\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*))?\b/dgv},{begin:/\b(struct)\b\p{space}*([\p{L}\p{M}\p{N}\p{Pc}]+)?\b\p{space}*(?=\{)/dgv,beginCaptures:{"1":{name:"storage.type.struct"},"2":{name:"entity.name.type.struct"}},end:/(?=\})/dgv,patterns:[{include:"#type-primitive"},{include:"#variable"},{include:"#punctuation"},{include:"#comment"}]}]},"declaration-userType":{captures:{"1":{name:"storage.type.userType"},"2":{name:"entity.name.type.userType"},"3":{name:"storage.modifier.is"}},match:/\b(type)\b\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)\b\p{space}+\b(is)\b/dgv},"function-call":{captures:{"1":{name:"entity.name.function"},"2":{name:"punctuation.parameters.begin"}},match:/\b([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(\()/dgv},global:{patterns:[{include:"#global-variables"},{include:"#global-functions"}]},"global-functions":{patterns:[{match:/\b(require|assert|revert)\b/dgv,name:"keyword.control.exceptions"},{match:/\b(s(?:elfdestruct|uicide))\b/dgv,name:"keyword.control.contract"},{match:/\b(addmod|mulmod|keccak256|sha256|sha3|ripemd160|ecrecover)\b/dgv,name:"support.function.math"},{match:/\b(unicode)\b/dgv,name:"support.function.string"},{match:/\b(blockhash|gasleft)\b/dgv,name:"variable.language.transaction"},{match:/\b(type)\b/dgv,name:"variable.language.type"}]},"global-variables":{patterns:[{match:/\b(this)\b/dgv,name:"variable.language.this"},{match:/\b(super)\b/dgv,name:"variable.language.super"},{match:/\b(abi)\b/dgv,name:"variable.language.builtin.abi"},{match:/\b(msg\.sender|msg|block|tx|now)\b/dgv,name:"variable.language.transaction"},{match:/\b(tx\.origin|tx\.gasprice|msg\.data|msg\.sig|msg\.value)\b/dgv,name:"variable.language.transaction"}]},"modifier-call":{patterns:[{include:"#function-call"},{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"entity.name.function.modifier"}]},natspec:{patterns:[{begin:/\/\*\*/dgv,end:/\*\//dgv,name:"comment.block.documentation",patterns:[{include:"#natspec-tags"}]},{begin:/\/\/\//dgv,end:/(?=\n?$)/dgv,name:"comment.block.documentation",patterns:[{include:"#natspec-tags"}]}]},"natspec-tag-author":{match:/(@author)\b/dgv,name:"storage.type.author.natspec"},"natspec-tag-custom":{match:/(@custom:[\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"storage.type.dev.natspec"},"natspec-tag-dev":{match:/(@dev)\b/dgv,name:"storage.type.dev.natspec"},"natspec-tag-inheritdoc":{match:/(@inheritdoc)\b/dgv,name:"storage.type.author.natspec"},"natspec-tag-notice":{match:/(@notice)\b/dgv,name:"storage.type.dev.natspec"},"natspec-tag-param":{captures:{"1":{name:"storage.type.param.natspec"},"3":{name:"variable.other.natspec"}},match:/(@param)(\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*))?\b/dgv},"natspec-tag-return":{captures:{"1":{name:"storage.type.return.natspec"},"3":{name:"variable.other.natspec"}},match:/(@return)(\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*))?\b/dgv},"natspec-tag-title":{match:/(@title)\b/dgv,name:"storage.type.title.natspec"},"natspec-tags":{patterns:[{include:"#comment-todo"},{include:"#natspec-tag-title"},{include:"#natspec-tag-author"},{include:"#natspec-tag-notice"},{include:"#natspec-tag-dev"},{include:"#natspec-tag-param"},{include:"#natspec-tag-return"},{include:"#natspec-tag-custom"},{include:"#natspec-tag-inheritdoc"}]},number:{patterns:[{include:"#number-decimal"},{include:"#number-hex"},{include:"#number-scientific"}]},"number-decimal":{match:/\b([0-9_]+(\.[0-9_]+)?)\b/dgv,name:"constant.numeric.decimal"},"number-hex":{match:/\b(0[xX]\p{AHex}+)\b/dgv,name:"constant.numeric.hexadecimal"},"number-scientific":{match:/\b(?:0\.(?:0[0-9]|[0-9][0-9_]?)|[0-9][0-9_]*(?:\.\p{Nd}{1,2})?)(?:e[\+\-]?[0-9_]+)?/dgv,name:"constant.numeric.scientific"},operator:{patterns:[{include:"#operator-logic"},{include:"#operator-mapping"},{include:"#operator-arithmetic"},{include:"#operator-binary"},{include:"#operator-assignment"}]},"operator-arithmetic":{match:/([\+\-\/\*])/dgv,name:"keyword.operator.arithmetic"},"operator-assignment":{match:/(:?=)/dgv,name:"keyword.operator.assignment"},"operator-binary":{match:/([\^\&\|]|<<|>>)/dgv,name:"keyword.operator.binary"},"operator-logic":{match:/(==|!=|<(?!<)|<=|>(?!>)|>=|&&|\|\||:(?!=)|[\?\!])/dgv,name:"keyword.operator.logic"},"operator-mapping":{match:/(=>)/dgv,name:"keyword.operator.mapping"},primitive:{patterns:[{include:"#number-decimal"},{include:"#number-hex"},{include:"#number-scientific"},{include:"#string"}]},punctuation:{patterns:[{match:/;/dgv,name:"punctuation.terminator.statement"},{match:/\./dgv,name:"punctuation.accessor"},{match:/,/dgv,name:"punctuation.separator"},{match:/\{/dgv,name:"punctuation.brace.curly.begin"},{match:/\}/dgv,name:"punctuation.brace.curly.end"},{match:/\[/dgv,name:"punctuation.brace.square.begin"},{match:/\]/dgv,name:"punctuation.brace.square.end"},{match:/\(/dgv,name:"punctuation.parameters.begin"},{match:/\)/dgv,name:"punctuation.parameters.end"}]},string:{patterns:[{match:/"(?:\\"|[^"])*"/dgv,name:"string.quoted.double"},{match:/'(?:\\'|[^'])*'/dgv,name:"string.quoted.single"}]},"type-modifier-access":{match:/\b(internal|external|private|public)\b/dgv,name:"storage.type.modifier.access"},"type-modifier-constant":{match:/\b(constant)\b/dgv,name:"storage.type.modifier.readonly"},"type-modifier-extended-scope":{match:/\b(pure|view|inherited|indexed|storage|memory|virtual|calldata|override|abstract)\b/dgv,name:"storage.type.modifier.extendedscope"},"type-modifier-immutable":{match:/\b(immutable)\b/dgv,name:"storage.type.modifier.readonly"},"type-modifier-payable":{match:/\b(nonpayable|payable)\b/dgv,name:"storage.type.modifier.payable"},"type-primitive":{patterns:[{begin:/\b(address|string\p{Nd}*|bytes\p{Nd}*|int\p{Nd}*|uint\p{Nd}*|bool|hash\p{Nd}*)\b\[\](\()/dgv,beginCaptures:{"1":{name:"support.type.primitive"}},end:/(\))/dgv,patterns:[{include:"#primitive"},{include:"#punctuation"},{include:"#global"},{include:"#variable"}]},{match:/\b(address|string\p{Nd}*|bytes\p{Nd}*|int\p{Nd}*|uint\p{Nd}*|bool|hash\p{Nd}*)\b/dgv,name:"support.type.primitive"}]},variable:{patterns:[{captures:{"1":{name:"variable.parameter.function"}},match:/\b(_[\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv},{captures:{"1":{name:"support.variable.property"}},match:/\.([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv},{captures:{"1":{name:"variable.parameter.other"}},match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv}]}},scopeName:"source.solidity",embeddedLangs:undefined,aliases:undefined})
2
2
 
3
3
  export default [
4
4
  lang
package/dist/soy.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import html from './html.mjs'
2
2
 
3
- const lang = Object.freeze({displayName:"Closure Templates",fileTypes:["soy"],injections:{"meta.tag":{patterns:[{include:"#body"}]}},name:"soy",patterns:[{include:"#alias"},{include:"#delpackage"},{include:"#namespace"},{include:"#template"},{include:"#comment"}],repository:{alias:{captures:{"1":{name:"storage.type.soy"},"2":{name:"entity.name.type.soy"},"3":{name:"storage.type.soy"},"4":{name:"entity.name.type.soy"}},match:/\{(alias)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\.]+)(?:\p{space}+(as)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+))?\}/dgv},attribute:{captures:{"1":{name:"storage.other.attribute.soy"},"2":{name:"string.double.quoted.soy"}},match:/([\p{L}\p{M}\p{N}\p{Pc}]+)=("(?:\\?[^\n])*?")/dgv},body:{patterns:[{include:"#comment"},{include:"#let"},{include:"#call"},{include:"#css"},{include:"#xid"},{include:"#condition"},{include:"#condition-control"},{include:"#for"},{include:"#literal"},{include:"#msg"},{include:"#special-character"},{include:"#print"},{include:"text.html.basic"}]},boolean:{match:/true|false/dgv,name:"language.constant.boolean.soy"},call:{patterns:[{begin:/\{((?:del)?call)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\.]+)(?=[^\/]*?\})/dgv,beginCaptures:{"1":{name:"storage.type.function.soy"},"2":{name:"entity.name.function.soy"}},end:/\{\/((?!))\}/dgv,endCaptures:{"1":{name:"storage.type.function.soy"}},patterns:[{include:"#comment"},{include:"#variant"},{include:"#attribute"},{include:"#param"}]},{begin:/\{((?:del)?call)(\p{space}+[\p{L}\p{M}\p{N}\p{Pc}\.]+)/dgv,beginCaptures:{"1":{name:"storage.type.function.soy"},"2":{name:"entity.name.function.soy"}},end:/\/\}/dgv,patterns:[{include:"#variant"},{include:"#attribute"}]}]},comment:{patterns:[{begin:/\/\*/dgv,end:/\*\//dgv,name:"comment.block.documentation.soy",patterns:[{captures:{"1":{name:"keyword.parameter.soy"},"2":{name:"variable.parameter.soy"}},match:/(@param\??)\p{space}+(\P{space}+)/dgv}]},{match:/^\p{space}*(\/\/[^\n]*)(?=\n?$)/dgv,name:"comment.line.double-slash.soy"}]},condition:{begin:/\{\/?(if|elseif|switch|case)\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.soy"}},end:/\}/dgv,patterns:[{include:"#attribute"},{include:"#expression"}]},"condition-control":{captures:{"1":{name:"keyword.control.soy"}},match:/\{(else|ifempty|default)\}/dgv},css:{begin:/\{(css)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.other.soy"}},end:/\}/dgv,patterns:[{include:"#expression"}]},delpackage:{captures:{"1":{name:"storage.type.soy"},"2":{name:"entity.name.type.soy"}},match:/\{(delpackage)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\.]+)\}/dgv},expression:{patterns:[{include:"#boolean"},{include:"#number"},{include:"#function"},{include:"#null"},{include:"#string"},{include:"#variable-ref"},{include:"#operator"}]},for:{begin:/\{\/?(foreach|for)(?=\p{space}|\})/dgv,beginCaptures:{"1":{name:"keyword.control.soy"}},end:/\}/dgv,patterns:[{match:/in/dgv,name:"keyword.control.soy"},{include:"#expression"},{include:"#body"}]},function:{begin:/([\p{L}\p{M}\p{N}\p{Pc}]+)\(/dgv,beginCaptures:{"1":{name:"support.function.soy"}},end:/\)/dgv,patterns:[{include:"#expression"}]},let:{patterns:[{begin:/\{(let)\p{space}+(\$[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*:)/dgv,beginCaptures:{"1":{name:"storage.type.soy"},"2":{name:"variable.soy"}},end:/\/\}/dgv,patterns:[{include:"#comment"},{include:"#expression"}]},{begin:/\{(let)\p{space}+(\$[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,beginCaptures:{"1":{name:"storage.type.soy"},"2":{name:"variable.soy"}},end:/\{\/((?!))\}/dgv,endCaptures:{"1":{name:"storage.type.soy"}},patterns:[{include:"#attribute"},{include:"#body"}]}]},literal:{begin:/\{(literal)\}/dgv,beginCaptures:{"1":{name:"keyword.other.soy"}},end:/\{\/((?!))\}/dgv,endCaptures:{"1":{name:"keyword.other.soy"}},name:"meta.literal"},msg:{captures:{"1":{name:"keyword.other.soy"}},end:/\}/dgv,match:/\{\/?(msg|fallbackmsg)/dgv,patterns:[{include:"#attribute"}]},namespace:{captures:{"1":{name:"storage.type.soy"},"2":{name:"entity.name.type.soy"}},match:/\{(namespace)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\.]+)\}/dgv},null:{match:/null/dgv,name:"language.constant.null.soy"},number:{match:/-?\.?\p{Nd}+|\p{Nd}[\.\p{Nd}]*/dgv,name:"language.constant.numeric"},operator:{match:/-|not|\*|\/|%|\+|<=|>=|<|>|==|!=|and|or|\?:|\?|:/dgv,name:"keyword.operator.soy"},param:{patterns:[{begin:/\{(param)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*:)/dgv,beginCaptures:{"1":{name:"storage.type.soy"},"2":{name:"variable.parameter.soy"}},end:/\/\}/dgv,patterns:[{include:"#expression"}]},{begin:/\{(param)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,beginCaptures:{"1":{name:"storage.type.soy"},"2":{name:"variable.parameter.soy"}},end:/\{\/((?!))\}/dgv,endCaptures:{"1":{name:"storage.type.soy"}},patterns:[{include:"#attribute"},{include:"#body"}]}]},print:{begin:/\{(print)?\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.other.soy"}},end:/\}/dgv,patterns:[{captures:{"1":{name:"support.function.soy"}},match:/\|\p{space}*(changeNewlineToBr|truncate|bidiSpanWrap|bidiUnicodeWrap)/dgv},{include:"#expression"}]},"special-character":{captures:{"1":{name:"language.support.constant"}},match:/\{(sp|nil|\\r|\\n|\\t|lb|rb)\}/dgv},string:{begin:/'/dgv,end:/'/dgv,name:"string.quoted.single.soy",patterns:[{match:/\\(?:[\\'"nrtbf]|u[0-9a-fA-F]{4})/dgv,name:"constant.character.escape.soy"}]},template:{begin:/\{(template|deltemplate)\p{space}([\p{L}\p{M}\p{N}\p{Pc}\.]+)/dgv,beginCaptures:{"1":{name:"storage.type.soy"},"2":{name:"entity.name.function.soy"}},end:/\{(\/(?!))\}/dgv,endCaptures:{"1":{name:"storage.type.soy"}},patterns:[{begin:/\{(@param)(\??)\p{space}+(\P{space}+\p{space}*:)/dgv,beginCaptures:{"1":{name:"keyword.parameter.soy"},"2":{name:"storage.modifier.keyword.operator.soy"},"3":{name:"variable.parameter.soy"}},end:/\}/dgv,name:"meta.parameter.soy",patterns:[{include:"#type"}]},{include:"#variant"},{include:"#body"},{include:"#attribute"}]},type:{patterns:[{match:/any|null|\?|string|bool|int|float|number|html|uri|js|css|attributes/dgv,name:"support.type.soy"},{begin:/(list|map)(<)/dgv,beginCaptures:{"1":{name:"support.type.soy"},"2":{name:"support.type.punctuation.soy"}},end:/(>)/dgv,endCaptures:{"1":{name:"support.type.modifier.soy"}},patterns:[{include:"#type"}]}]},"variable-ref":{match:/\$[\x07-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}\.]*/dgv,name:"variable.other.soy"},variant:{begin:/(variant)=(")/dgv,beginCaptures:{"1":{name:"storage.other.attribute.soy"},"2":{name:"string.double.quoted.soy"}},contentName:"string.double.quoted.soy",end:/(")/dgv,endCaptures:{"1":{name:"string.double.quoted.soy"}},patterns:[{include:"#expression"}]},xid:{begin:/\{(xid)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.other.soy"}},end:/\}/dgv,patterns:[{include:"#expression"}]}},scopeName:"text.html.soy",embeddedLangs:["html"],aliases:["closure-templates"]})
3
+ const lang = Object.freeze({displayName:"Closure Templates",fileTypes:["soy"],injections:{"meta.tag":{patterns:[{include:"#body"}]}},name:"soy",patterns:[{include:"#alias"},{include:"#delpackage"},{include:"#namespace"},{include:"#template"},{include:"#comment"}],repository:{alias:{captures:{"1":{name:"storage.type.soy"},"2":{name:"entity.name.type.soy"},"3":{name:"storage.type.soy"},"4":{name:"entity.name.type.soy"}},match:/\{(alias)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\.]+)(?:\p{space}+(as)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+))?\}/dgv},attribute:{captures:{"1":{name:"storage.other.attribute.soy"},"2":{name:"string.double.quoted.soy"}},match:/([\p{L}\p{M}\p{N}\p{Pc}]+)=("(?:\\?[^\n])*?")/dgv},body:{patterns:[{include:"#comment"},{include:"#let"},{include:"#call"},{include:"#css"},{include:"#xid"},{include:"#condition"},{include:"#condition-control"},{include:"#for"},{include:"#literal"},{include:"#msg"},{include:"#special-character"},{include:"#print"},{include:"text.html.basic"}]},boolean:{match:/true|false/dgv,name:"language.constant.boolean.soy"},call:{patterns:[{begin:/\{((?:del)?call)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\.]+)(?=[^\/]*?\})/dgv,beginCaptures:{"1":{name:"storage.type.function.soy"},"2":{name:"entity.name.function.soy"}},end:/\{\/((?!))\}/dgv,endCaptures:{"1":{name:"storage.type.function.soy"}},patterns:[{include:"#comment"},{include:"#variant"},{include:"#attribute"},{include:"#param"}]},{begin:/\{((?:del)?call)(\p{space}+[\p{L}\p{M}\p{N}\p{Pc}\.]+)/dgv,beginCaptures:{"1":{name:"storage.type.function.soy"},"2":{name:"entity.name.function.soy"}},end:/\/\}/dgv,patterns:[{include:"#variant"},{include:"#attribute"}]}]},comment:{patterns:[{begin:/\/\*/dgv,end:/\*\//dgv,name:"comment.block.documentation.soy",patterns:[{captures:{"1":{name:"keyword.parameter.soy"},"2":{name:"variable.parameter.soy"}},match:/(@param\??)\p{space}+(\P{space}+)/dgv}]},{match:/^\p{space}*(\/\/[^\n]*)(?=\n?$)/dgv,name:"comment.line.double-slash.soy"}]},condition:{begin:/\{\/?(if|elseif|switch|case)\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.soy"}},end:/\}/dgv,patterns:[{include:"#attribute"},{include:"#expression"}]},"condition-control":{captures:{"1":{name:"keyword.control.soy"}},match:/\{(else|ifempty|default)\}/dgv},css:{begin:/\{(css)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.other.soy"}},end:/\}/dgv,patterns:[{include:"#expression"}]},delpackage:{captures:{"1":{name:"storage.type.soy"},"2":{name:"entity.name.type.soy"}},match:/\{(delpackage)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\.]+)\}/dgv},expression:{patterns:[{include:"#boolean"},{include:"#number"},{include:"#function"},{include:"#null"},{include:"#string"},{include:"#variable-ref"},{include:"#operator"}]},for:{begin:/\{\/?(for(?:each|))(?=[\p{space}\}])/dgv,beginCaptures:{"1":{name:"keyword.control.soy"}},end:/\}/dgv,patterns:[{match:/in/dgv,name:"keyword.control.soy"},{include:"#expression"},{include:"#body"}]},function:{begin:/([\p{L}\p{M}\p{N}\p{Pc}]+)\(/dgv,beginCaptures:{"1":{name:"support.function.soy"}},end:/\)/dgv,patterns:[{include:"#expression"}]},let:{patterns:[{begin:/\{(let)\p{space}+(\$[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*:)/dgv,beginCaptures:{"1":{name:"storage.type.soy"},"2":{name:"variable.soy"}},end:/\/\}/dgv,patterns:[{include:"#comment"},{include:"#expression"}]},{begin:/\{(let)\p{space}+(\$[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,beginCaptures:{"1":{name:"storage.type.soy"},"2":{name:"variable.soy"}},end:/\{\/((?!))\}/dgv,endCaptures:{"1":{name:"storage.type.soy"}},patterns:[{include:"#attribute"},{include:"#body"}]}]},literal:{begin:/\{(literal)\}/dgv,beginCaptures:{"1":{name:"keyword.other.soy"}},end:/\{\/((?!))\}/dgv,endCaptures:{"1":{name:"keyword.other.soy"}},name:"meta.literal"},msg:{captures:{"1":{name:"keyword.other.soy"}},end:/\}/dgv,match:/\{\/?(msg|fallbackmsg)/dgv,patterns:[{include:"#attribute"}]},namespace:{captures:{"1":{name:"storage.type.soy"},"2":{name:"entity.name.type.soy"}},match:/\{(namespace)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\.]+)\}/dgv},null:{match:/null/dgv,name:"language.constant.null.soy"},number:{match:/-?\.?\p{Nd}+|\p{Nd}[\.\p{Nd}]*/dgv,name:"language.constant.numeric"},operator:{match:/-|not|[\*\/\%\+]|<=|>=|[\<\>]|==|!=|and|or|\?:|[\?\:]/dgv,name:"keyword.operator.soy"},param:{patterns:[{begin:/\{(param)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*:)/dgv,beginCaptures:{"1":{name:"storage.type.soy"},"2":{name:"variable.parameter.soy"}},end:/\/\}/dgv,patterns:[{include:"#expression"}]},{begin:/\{(param)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,beginCaptures:{"1":{name:"storage.type.soy"},"2":{name:"variable.parameter.soy"}},end:/\{\/((?!))\}/dgv,endCaptures:{"1":{name:"storage.type.soy"}},patterns:[{include:"#attribute"},{include:"#body"}]}]},print:{begin:/\{(print)?\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.other.soy"}},end:/\}/dgv,patterns:[{captures:{"1":{name:"support.function.soy"}},match:/\|\p{space}*(changeNewlineToBr|truncate|bidiSpanWrap|bidiUnicodeWrap)/dgv},{include:"#expression"}]},"special-character":{captures:{"1":{name:"language.support.constant"}},match:/\{(sp|nil|\\r|\\n|\\t|lb|rb)\}/dgv},string:{begin:/'/dgv,end:/'/dgv,name:"string.quoted.single.soy",patterns:[{match:/\\(?:[\\'"nrtbf]|u\p{AHex}{4})/dgv,name:"constant.character.escape.soy"}]},template:{begin:/\{(template|deltemplate)\p{space}([\p{L}\p{M}\p{N}\p{Pc}\.]+)/dgv,beginCaptures:{"1":{name:"storage.type.soy"},"2":{name:"entity.name.function.soy"}},end:/\{(\/(?!))\}/dgv,endCaptures:{"1":{name:"storage.type.soy"}},patterns:[{begin:/\{(@param)(\??)\p{space}+(\P{space}+\p{space}*:)/dgv,beginCaptures:{"1":{name:"keyword.parameter.soy"},"2":{name:"storage.modifier.keyword.operator.soy"},"3":{name:"variable.parameter.soy"}},end:/\}/dgv,name:"meta.parameter.soy",patterns:[{include:"#type"}]},{include:"#variant"},{include:"#body"},{include:"#attribute"}]},type:{patterns:[{match:/any|null|\?|string|bool|int|float|number|html|uri|js|css|attributes/dgv,name:"support.type.soy"},{begin:/(list|map)(<)/dgv,beginCaptures:{"1":{name:"support.type.soy"},"2":{name:"support.type.punctuation.soy"}},end:/(>)/dgv,endCaptures:{"1":{name:"support.type.modifier.soy"}},patterns:[{include:"#type"}]}]},"variable-ref":{match:/\$[\x07-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}\.]*/dgv,name:"variable.other.soy"},variant:{begin:/(variant)=(")/dgv,beginCaptures:{"1":{name:"storage.other.attribute.soy"},"2":{name:"string.double.quoted.soy"}},contentName:"string.double.quoted.soy",end:/(")/dgv,endCaptures:{"1":{name:"string.double.quoted.soy"}},patterns:[{include:"#expression"}]},xid:{begin:/\{(xid)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.other.soy"}},end:/\}/dgv,patterns:[{include:"#expression"}]}},scopeName:"text.html.soy",embeddedLangs:["html"],aliases:["closure-templates"]})
4
4
 
5
5
  export default [
6
6
  ...html,
package/dist/sparql.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import turtle from './turtle.mjs'
2
2
 
3
- const lang = Object.freeze({displayName:"SPARQL",fileTypes:["rq","sparql","sq"],name:"sparql",patterns:[{include:"source.turtle"},{include:"#query-keyword-operators"},{include:"#functions"},{include:"#variables"},{include:"#expression-operators"}],repository:{"expression-operators":{match:/(?:\|\||&&|=|!=|<|>|<=|>=|\*|\/|\+|-|\||\^|\?|!)/dgv,name:"support.class.sparql"},functions:{match:/\b(?:concat|regex|asc|desc|bound|isiri|isuri|isblank|isliteral|isnumeric|str|lang|datatype|sameterm|langmatches|avg|count|group_concat|separator|max|min|sample|sum|iri|uri|bnode|strdt|uuid|struuid|strlang|strlen|substr|ucase|lcase|strstarts|strends|contains|strbefore|strafter|encode_for_uri|replace|abs|round|ceil|floor|rand|now|year|month|day|hours|minutes|seconds|timezone|tz|md5|sha1|sha256|sha384|sha512|coalesce|if)\b/dgiv,name:"support.function.sparql"},"query-keyword-operators":{match:/\b(?:define|select|distinct|reduced|from|named|construct|ask|describe|where|graph|having|bind|as|filter|optional|union|order|by|group|limit|offset|values|insert data|delete data|with|delete|insert|clear|silent|default|all|create|drop|copy|move|add|to|using|service|not exists|exists|not in|in|minus|load)\b/dgiv,name:"keyword.control.sparql"},variables:{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])[\?\$][\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"constant.variable.sparql.turtle"}},scopeName:"source.sparql",embeddedLangs:["turtle"],aliases:undefined})
3
+ const lang = Object.freeze({displayName:"SPARQL",fileTypes:["rq","sparql","sq"],name:"sparql",patterns:[{include:"source.turtle"},{include:"#query-keyword-operators"},{include:"#functions"},{include:"#variables"},{include:"#expression-operators"}],repository:{"expression-operators":{match:/(?:\|\||&&|=|!=|[\<\>]|<=|>=|[\*\/\+\-\|\^\?\!])/dgv,name:"support.class.sparql"},functions:{match:/\b(?:concat|regex|asc|desc|bound|isiri|isuri|isblank|isliteral|isnumeric|str|lang|datatype|sameterm|langmatches|avg|count|group_concat|separator|max|min|sample|sum|iri|uri|bnode|strdt|uuid|struuid|strlang|strlen|substr|ucase|lcase|strstarts|strends|contains|strbefore|strafter|encode_for_uri|replace|abs|round|ceil|floor|rand|now|year|month|day|hours|minutes|seconds|timezone|tz|md5|sha1|sha256|sha384|sha512|coalesce|if)\b/dgiv,name:"support.function.sparql"},"query-keyword-operators":{match:/\b(?:define|select|distinct|reduced|from|named|construct|ask|describe|where|graph|having|bind|as|filter|optional|union|order|by|group|limit|offset|values|insert data|delete data|with|delete|insert|clear|silent|default|all|create|drop|copy|move|add|to|using|service|not exists|exists|not in|in|minus|load)\b/dgiv,name:"keyword.control.sparql"},variables:{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])[\?\$][\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"constant.variable.sparql.turtle"}},scopeName:"source.sparql",embeddedLangs:["turtle"],aliases:undefined})
4
4
 
5
5
  export default [
6
6
  ...turtle,
package/dist/splunk.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"Splunk Query Language",fileTypes:["splunk","spl"],name:"splunk",patterns:[{match:/(?<=(\||\[))([\p{space}]*)\b(abstract|accum|addcoltotals|addinfo|addtotals|analyzefields|anomalies|anomalousvalue|append|appendcols|appendpipe|arules|associate|audit|autoregress|bucket|bucketdir|chart|cluster|collect|concurrency|contingency|convert|correlate|crawl|datamodel|dbinspect|dbxquery|dbxlookup|dedup|delete|delta|diff|dispatch|erex|eval|eventcount|eventstats|extract|fieldformat|fields|fieldsummary|file|filldown|fillnull|findtypes|folderize|foreach|format|from|gauge|gentimes|geostats|head|highlight|history|input|inputcsv|inputlookup|iplocation|join|kmeans|kvform|loadjob|localize|localop|lookup|makecontinuous|makemv|makeresults|map|metadata|metasearch|multikv|multisearch|mvcombine|mvexpand|nomv|outlier|outputcsv|outputlookup|outputtext|overlap|pivot|predict|rangemap|rare|regex|relevancy|reltime|rename|replace|rest|return|reverse|rex|rtorder|run|savedsearch|script|scrub|search|searchtxn|selfjoin|sendemail|set|setfields|sichart|sirare|sistats|sitimechart|sitop|sort|spath|stats|strcat|streamstats|table|tags|tail|timechart|top|transaction|transpose|trendline|tscollect|tstats|typeahead|typelearner|typer|uniq|untable|where|x11|xmlkv|xmlunescape|xpath|xyseries)\b(?=[\p{space}])/dgv,name:"support.class.splunk_search"},{match:/\b(abs|acos|acosh|asin|asinh|atan|atan2|atanh|case|cidrmatch|ceiling|coalesce|commands|cos|cosh|exact|exp|floor|hypot|if|in|isbool|isint|isnotnull|isnull|isnum|isstr|len|like|ln|log|lower|ltrim|match|max|md5|min|mvappend|mvcount|mvdedup|mvfilter|mvfind|mvindex|mvjoin|mvrange|mvsort|mvzip|now|null|nullif|pi|pow|printf|random|relative_time|replace|round|rtrim|searchmatch|sha1|sha256|sha512|sigfig|sin|sinh|spath|split|sqrt|strftime|strptime|substr|tan|tanh|time|tonumber|tostring|trim|typeof|upper|urldecode|validate)(?=\()\b/dgv,name:"support.function.splunk_search"},{match:/\b(avg|count|distinct_count|estdc|estdc_error|eval|max|mean|median|min|mode|percentile|range|stdev|stdevp|sum|sumsq|var|varp|first|last|list|values|earliest|earliest_time|latest|latest_time|per_day|per_hour|per_minute|per_second|rate)\b/dgv,name:"support.function.splunk_search"},{match:/(?<=`)[\p{L}\p{M}\p{N}\p{Pc}]+(?=\(|`)/dgv,name:"entity.name.function.splunk_search"},{match:/\b(\p{Nd}+)\b/dgv,name:"constant.numeric.splunk_search"},{match:/(\\\\|\\\||\\\*|\\=)/dgv,name:"contant.character.escape.splunk_search"},{match:/(\|,)/dgv,name:"keyword.operator.splunk_search"},{match:/\b([Aa][Ssſ]|[Bb][Yy]|[Oo][Rr]|[Aa][Nn][Dd]|[Oo][Vv][Ee][Rr]|[Ww][Hh][Ee][Rr][Ee]|[Oo][Uu][Tt][Pp][Uu][Tt]|[Oo][Uu][Tt][Pp][Uu][Tt][Nn][Ee][Ww])\b|\b(NOT|true|false)\b/dgv,name:"constant.language.splunk_search"},{match:/(?<=\(|,|[^\=]\p{space}{300})([^\(\)"\,\=]+)(?=\)|,)/dgv,name:"variable.parameter.splunk_search"},{match:/([\p{L}\p{M}\p{N}\p{Pc}\.]+)(\[\]|\{\})?([\p{space}]*)(?==)/dgv,name:"variable.splunk_search"},{match:/=/dgv,name:"keyword.operator.splunk_search"},{begin:/(?<!\\)"/dgv,end:/(?<!\\)"/dgv,name:"string.quoted.double.splunk_search"},{begin:/(?<!\\)'/dgv,end:/(?<!\\)'/dgv,name:"string.quoted.single.splunk_search"},{begin:/query="/dgv,end:/(?<!\\)"/dgv,name:"meta.embedded.block.sql"},{begin:/(?<!\\)```/dgv,end:/(?<!\\)```/dgv,name:"comment.block.splunk_search"},{begin:/`comment\(/dgv,end:/\)`/dgv,name:"comment.block.splunk_search"}],scopeName:"source.splunk_search",embeddedLangs:undefined,aliases:["spl"]})
1
+ const lang = Object.freeze({displayName:"Splunk Query Language",fileTypes:["splunk","spl"],name:"splunk",patterns:[{match:/(?<=([\|\[]))(\p{space}*)\b(abstract|accum|addcoltotals|addinfo|addtotals|analyzefields|anomalies|anomalousvalue|append|appendcols|appendpipe|arules|associate|audit|autoregress|bucket|bucketdir|chart|cluster|collect|concurrency|contingency|convert|correlate|crawl|datamodel|dbinspect|dbxquery|dbxlookup|dedup|delete|delta|diff|dispatch|erex|eval|eventcount|eventstats|extract|fieldformat|fields|fieldsummary|file|filldown|fillnull|findtypes|folderize|foreach|format|from|gauge|gentimes|geostats|head|highlight|history|input|inputcsv|inputlookup|iplocation|join|kmeans|kvform|loadjob|localize|localop|lookup|makecontinuous|makemv|makeresults|map|metadata|metasearch|multikv|multisearch|mvcombine|mvexpand|nomv|outlier|outputcsv|outputlookup|outputtext|overlap|pivot|predict|rangemap|rare|regex|relevancy|reltime|rename|replace|rest|return|reverse|rex|rtorder|run|savedsearch|script|scrub|search|searchtxn|selfjoin|sendemail|set|setfields|sichart|sirare|sistats|sitimechart|sitop|sort|spath|stats|strcat|streamstats|table|tags|tail|timechart|top|transaction|transpose|trendline|tscollect|tstats|typeahead|typelearner|typer|uniq|untable|where|x11|xmlkv|xmlunescape|xpath|xyseries)\b(?=\p{space})/dgv,name:"support.class.splunk_search"},{match:/\b(abs|acos|acosh|asin|asinh|atan|atan2|atanh|case|cidrmatch|ceiling|coalesce|commands|cos|cosh|exact|exp|floor|hypot|if|in|isbool|isint|isnotnull|isnull|isnum|isstr|len|like|ln|log|lower|ltrim|match|max|md5|min|mvappend|mvcount|mvdedup|mvfilter|mvfind|mvindex|mvjoin|mvrange|mvsort|mvzip|now|null|nullif|pi|pow|printf|random|relative_time|replace|round|rtrim|searchmatch|sha1|sha256|sha512|sigfig|sin|sinh|spath|split|sqrt|strftime|strptime|substr|tan|tanh|time|tonumber|tostring|trim|typeof|upper|urldecode|validate)(?=\()\b/dgv,name:"support.function.splunk_search"},{match:/\b(avg|count|distinct_count|estdc|estdc_error|eval|max|mean|median|min|mode|percentile|range|stdev|stdevp|sum|sumsq|var|varp|first|last|list|values|earliest|earliest_time|latest|latest_time|per_day|per_hour|per_minute|per_second|rate)\b/dgv,name:"support.function.splunk_search"},{match:/(?<=`)[\p{L}\p{M}\p{N}\p{Pc}]+(?=[\(\`])/dgv,name:"entity.name.function.splunk_search"},{match:/\b(\p{Nd}+)\b/dgv,name:"constant.numeric.splunk_search"},{match:/(\\[\\\|\*\=])/dgv,name:"contant.character.escape.splunk_search"},{match:/(\|,)/dgv,name:"keyword.operator.splunk_search"},{match:/\b([Aa][Ssſ]|[Bb][Yy]|[Oo][Rr]|[Aa][Nn][Dd]|[Oo][Vv][Ee][Rr]|[Ww][Hh][Ee][Rr][Ee]|[Oo][Uu][Tt][Pp][Uu][Tt]|[Oo][Uu][Tt][Pp][Uu][Tt][Nn][Ee][Ww])\b|\b(NOT|true|false)\b/dgv,name:"constant.language.splunk_search"},{match:/(?<=[\(\,]|[^\=]\p{space}{300})([^\(\)"\,\=]+)(?=[\)\,])/dgv,name:"variable.parameter.splunk_search"},{match:/([\p{L}\p{M}\p{N}\p{Pc}\.]+)(\[\]|\{\})?(\p{space}*)(?==)/dgv,name:"variable.splunk_search"},{match:/=/dgv,name:"keyword.operator.splunk_search"},{begin:/(?<!\\)"/dgv,end:/(?<!\\)"/dgv,name:"string.quoted.double.splunk_search"},{begin:/(?<!\\)'/dgv,end:/(?<!\\)'/dgv,name:"string.quoted.single.splunk_search"},{begin:/query="/dgv,end:/(?<!\\)"/dgv,name:"meta.embedded.block.sql"},{begin:/(?<!\\)```/dgv,end:/(?<!\\)```/dgv,name:"comment.block.splunk_search"},{begin:/`comment\(/dgv,end:/\)`/dgv,name:"comment.block.splunk_search"}],scopeName:"source.splunk_search",embeddedLangs:undefined,aliases:["spl"]})
2
2
 
3
3
  export default [
4
4
  lang