@shikijs/langs-precompiled 2.3.1 → 2.3.2

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 (88) hide show
  1. package/dist/actionscript-3.mjs +1 -1
  2. package/dist/applescript.mjs +1 -1
  3. package/dist/ara.mjs +1 -1
  4. package/dist/asciidoc.mjs +1 -1
  5. package/dist/beancount.mjs +1 -1
  6. package/dist/bsl.mjs +1 -1
  7. package/dist/cadence.mjs +1 -1
  8. package/dist/clarity.mjs +1 -1
  9. package/dist/cmake.mjs +1 -1
  10. package/dist/cobol.mjs +1 -1
  11. package/dist/coq.mjs +1 -1
  12. package/dist/crystal.mjs +1 -1
  13. package/dist/cypher.mjs +1 -1
  14. package/dist/dax.mjs +1 -1
  15. package/dist/diff.mjs +1 -1
  16. package/dist/docker.mjs +1 -1
  17. package/dist/dotenv.mjs +1 -1
  18. package/dist/dream-maker.mjs +1 -1
  19. package/dist/elixir.mjs +1 -1
  20. package/dist/elm.mjs +1 -1
  21. package/dist/erlang.mjs +1 -1
  22. package/dist/fish.mjs +1 -1
  23. package/dist/fortran-free-form.mjs +1 -1
  24. package/dist/fsharp.mjs +1 -1
  25. package/dist/gdresource.mjs +1 -1
  26. package/dist/gdscript.mjs +1 -1
  27. package/dist/git-commit.mjs +1 -1
  28. package/dist/go.mjs +1 -1
  29. package/dist/graphql.mjs +1 -1
  30. package/dist/groovy.mjs +1 -1
  31. package/dist/hack.mjs +1 -1
  32. package/dist/haml.mjs +1 -1
  33. package/dist/haskell.mjs +1 -1
  34. package/dist/hcl.mjs +1 -1
  35. package/dist/html.mjs +1 -1
  36. package/dist/json.mjs +1 -1
  37. package/dist/json5.mjs +1 -1
  38. package/dist/jsonc.mjs +1 -1
  39. package/dist/jsonl.mjs +1 -1
  40. package/dist/jssm.mjs +1 -1
  41. package/dist/julia.mjs +1 -1
  42. package/dist/kusto.mjs +1 -1
  43. package/dist/latex.mjs +1 -1
  44. package/dist/less.mjs +1 -1
  45. package/dist/markdown.mjs +1 -1
  46. package/dist/marko.mjs +1 -1
  47. package/dist/matlab.mjs +1 -1
  48. package/dist/mermaid.mjs +1 -1
  49. package/dist/mipsasm.mjs +1 -1
  50. package/dist/mojo.mjs +1 -1
  51. package/dist/move.mjs +1 -1
  52. package/dist/nim.mjs +1 -1
  53. package/dist/nushell.mjs +1 -1
  54. package/dist/objective-c.mjs +1 -1
  55. package/dist/objective-cpp.mjs +1 -1
  56. package/dist/perl.mjs +1 -1
  57. package/dist/po.mjs +1 -1
  58. package/dist/polar.mjs +1 -1
  59. package/dist/powershell.mjs +1 -1
  60. package/dist/pug.mjs +1 -1
  61. package/dist/puppet.mjs +1 -1
  62. package/dist/python.mjs +1 -1
  63. package/dist/regexp.mjs +1 -1
  64. package/dist/riscv.mjs +1 -1
  65. package/dist/ruby.mjs +1 -1
  66. package/dist/rust.mjs +1 -1
  67. package/dist/sas.mjs +1 -1
  68. package/dist/scala.mjs +1 -1
  69. package/dist/scheme.mjs +1 -1
  70. package/dist/sdbl.mjs +1 -1
  71. package/dist/shellscript.mjs +1 -1
  72. package/dist/smalltalk.mjs +1 -1
  73. package/dist/splunk.mjs +1 -1
  74. package/dist/sql.mjs +1 -1
  75. package/dist/stata.mjs +1 -1
  76. package/dist/stylus.mjs +1 -1
  77. package/dist/tcl.mjs +1 -1
  78. package/dist/terraform.mjs +1 -1
  79. package/dist/toml.mjs +1 -1
  80. package/dist/twig.mjs +1 -1
  81. package/dist/typst.mjs +1 -1
  82. package/dist/vue.mjs +1 -1
  83. package/dist/vyper.mjs +1 -1
  84. package/dist/wasm.mjs +1 -1
  85. package/dist/wgsl.mjs +1 -1
  86. package/dist/zenscript.mjs +1 -1
  87. package/dist/zig.mjs +1 -1
  88. package/package.json +3 -3
package/dist/scala.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { EmulatedRegExp } from 'oniguruma-to-es'
2
2
 
3
- const lang = Object.freeze({displayName:"Scala",fileTypes:["scala"],firstLineMatch:/^#!\/[^\n]*\b[\p{L}\p{M}\p{N}\p{Pc}]*scala\b/dgv,foldingStartMarker:/\/\*\*|\{\p{space}*(?=\n?$)/dgv,foldingStopMarker:/\*\*\/|^\p{space}*\}/dgv,name:"scala",patterns:[{include:"#code"}],repository:{backQuotedVariable:{match:/`[^\`]+`/dgv},"block-comments":{patterns:[{captures:{"0":{name:"punctuation.definition.comment.scala"}},match:/\/\*\*\//dgv,name:"comment.block.empty.scala"},{begin:/^\p{space}*(\/\*\*)(?!\/)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.scala"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.scala"}},name:"comment.block.documentation.scala",patterns:[{captures:{"1":{name:"keyword.other.documentation.scaladoc.scala"},"2":{name:"variable.parameter.scala"}},match:/(@param)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"keyword.other.documentation.scaladoc.scala"},"2":{name:"entity.name.class"}},match:/(@(?:tparam|throws))\p{space}+(\P{space}+)/dgv},{match:/@(return|see|note|example|constructor|usecase|author|version|since|todo|deprecated|migration|define|inheritdoc|groupname|groupprio|groupdesc|group|contentDiagram|documentable|syntax)\b/dgv,name:"keyword.other.documentation.scaladoc.scala"},{captures:{"1":{name:"punctuation.definition.documentation.link.scala"},"2":{name:"string.other.link.title.markdown"},"3":{name:"punctuation.definition.documentation.link.scala"}},match:/(\[\[)([^\]]+)(\]\])/dgv},{include:"#block-comments"}]},{begin:/\/\*/dgv,captures:{"0":{name:"punctuation.definition.comment.scala"}},end:/\*\//dgv,name:"comment.block.scala",patterns:[{include:"#block-comments"}]}]},"char-literal":{patterns:[{captures:{"1":{name:"punctuation.definition.character.begin.scala"},"2":{name:"punctuation.definition.character.end.scala"}},match:/(')'(')/dgv,name:"string.quoted.other constant.character.literal.scala"},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.character.begin.scala"}},end:/'|(?=\n?$)/dgv,endCaptures:{"0":{name:"punctuation.definition.character.end.scala"}},name:"string.quoted.other constant.character.literal.scala",patterns:[{match:/\\(?:[btnfr\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})/dgv,name:"constant.character.escape.scala"},{match:/\\[^\n]/dgv,name:"invalid.illegal.unrecognized-character-escape.scala"},{match:/[^']{2,}/dgv,name:"invalid.illegal.character-literal-too-long"},{match:/(?<!')[^']/dgv,name:"invalid.illegal.character-literal-too-long"}]}]},code:{patterns:[{include:"#using-directive"},{include:"#script-header"},{include:"#storage-modifiers"},{include:"#declarations"},{include:"#inheritance"},{include:"#extension"},{include:"#imports"},{include:"#exports"},{include:"#comments"},{include:"#strings"},{include:"#initialization"},{include:"#xml-literal"},{include:"#namedBounds"},{include:"#keywords"},{include:"#using"},{include:"#constants"},{include:"#singleton-type"},{include:"#inline"},{include:"#scala-quoted-or-symbol"},{include:"#char-literal"},{include:"#empty-parentheses"},{include:"#parameter-list"},{include:"#qualifiedClassName"},{include:"#backQuotedVariable"},{include:"#curly-braces"},{include:"#meta-brackets"},{include:"#meta-bounds"},{include:"#meta-colons"}]},comments:{patterns:[{include:"#block-comments"},{begin:/(^[ \t]+)?(?=\/\/)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.scala"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.scala"}},end:/\n/dgv,name:"comment.line.double-slash.scala"}]}]},constants:{patterns:[{match:/\b(false|null|true)\b/dgv,name:"constant.language.scala"},{match:/\b(0[xX][0-9a-fA-F_]*)\b/dgv,name:"constant.numeric.scala"},{match:/\b(([0-9][0-9_]*(\.[0-9][0-9_]*)?)([eE](\+|-)?[0-9][0-9_]*)?|[0-9][0-9_]*)[LlFfDd]?\b/dgv,name:"constant.numeric.scala"},{match:/(\.[0-9][0-9_]*)([eE](\+|-)?[0-9][0-9_]*)?[LlFfDd]?\b/dgv,name:"constant.numeric.scala"},{match:/\b0[bB][01]([01_]*[01])?[Ll]?\b/dgv,name:"constant.numeric.scala"},{match:/\b(this|super)\b/dgv,name:"variable.language.scala"}]},"curly-braces":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.scala"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.scala"}},patterns:[{include:"#code"}]},declarations:{patterns:[{captures:{"1":{name:"keyword.declaration.scala"},"2":{name:"entity.name.function.declaration"}},match:/\b(def)\b\p{space}*(?!\/\/|\/\*)((?:(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)|`[^\`]+`))?/dgv},{captures:{"1":{name:"keyword.declaration.scala"},"2":{name:"entity.name.class.declaration"}},match:/\b(trait)\b\p{space}*(?!\/\/|\/\*)((?:(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)|`[^\`]+`))?/dgv},{captures:{"1":{name:"keyword.declaration.scala"},"2":{name:"keyword.declaration.scala"},"3":{name:"entity.name.class.declaration"}},match:/\b(?:(case)\p{space}+)?(class|object|enum)\b\p{space}*(?!\/\/|\/\*)((?:(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)|`[^\`]+`))?/dgv},{captures:{"1":{name:"keyword.declaration.scala"},"2":{name:"entity.name.type.declaration"}},match:/(?<!\.)\b(type)\b\p{space}*(?!\/\/|\/\*)((?:(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)|`[^\`]+`))?/dgv},{captures:{"1":{name:"keyword.declaration.stable.scala"},"2":{name:"keyword.declaration.volatile.scala"}},match:/\b(?:(val)|(var))\b\p{space}*(?!\/\/|\/\*)(?=(?:(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)|`[^\`]+`)?\()/dgv},{captures:{"1":{name:"keyword.declaration.stable.scala"},"2":{name:"variable.stable.declaration.scala"}},match:/\b(val)\b\p{space}*(?!\/\/|\/\*)((?:(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)|`[^\`]+`)(?:\p{space}*,\p{space}*(?:(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)|`[^\`]+`))*)?(?!")/dgv},{captures:{"1":{name:"keyword.declaration.volatile.scala"},"2":{name:"variable.volatile.declaration.scala"}},match:/\b(var)\b\p{space}*(?!\/\/|\/\*)((?:(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)|`[^\`]+`)(?:\p{space}*,\p{space}*(?:(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)|`[^\`]+`))*)?(?!")/dgv},{captures:{"1":{name:"keyword.other.package.scala"},"2":{name:"keyword.declaration.scala"},"3":{name:"entity.name.class.declaration"}},match:/\b(package)\p{space}+(object)\b\p{space}*(?!\/\/|\/\*)((?:(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)|`[^\`]+`))?/dgv},{begin:/\b(package)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.other.package.scala"}},end:/(?<=[\n\;])/dgv,name:"meta.package.scala",patterns:[{include:"#comments"},{match:/(`[^\`]+`|(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+))/dgv,name:"entity.name.package.scala"},{match:/\./dgv,name:"punctuation.definition.package"}]},{captures:{"1":{name:"keyword.declaration.scala"},"2":{name:"entity.name.given.declaration"}},match:/\b(given)\b\p{space}*([_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|`[^\`]+`)?/dgv}]},"empty-parentheses":{captures:{"1":{name:"meta.bracket.scala"}},match:/(\(\))/dgv,name:"meta.parentheses.scala"},exports:{begin:/\b(export)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.other.export.scala"}},end:/(?<=[\n\;])/dgv,name:"meta.export.scala",patterns:[{include:"#comments"},{match:/\b(given)\b/dgv,name:"keyword.other.export.given.scala"},{match:/[A-Z\p{Lt}\p{Lu}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?/dgv,name:"entity.name.class.export.scala"},{match:/(`[^\`]+`|(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+))/dgv,name:"entity.name.export.scala"},{match:/\./dgv,name:"punctuation.definition.export"},{begin:/\{/dgv,beginCaptures:{"0":{name:"meta.bracket.scala"}},end:/\}/dgv,endCaptures:{"0":{name:"meta.bracket.scala"}},name:"meta.export.selector.scala",patterns:[{captures:{"1":{name:"keyword.other.export.given.scala"},"2":{name:"entity.name.class.export.renamed-from.scala"},"3":{name:"entity.name.export.renamed-from.scala"},"4":{name:"keyword.other.arrow.scala"},"5":{name:"entity.name.class.export.renamed-to.scala"},"6":{name:"entity.name.export.renamed-to.scala"}},match:/(given\p{space})?\p{space}*(?:([A-Z\p{Lt}\p{Lu}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?)|(`[^\`]+`|(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)))\p{space}*(=>)\p{space}*(?:([A-Z\p{Lt}\p{Lu}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?)|(`[^\`]+`|(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)))\p{space}*/dgv},{match:/\b(given)\b/dgv,name:"keyword.other.export.given.scala"},{captures:{"1":{name:"keyword.other.export.given.scala"},"2":{name:"entity.name.class.export.scala"},"3":{name:"entity.name.export.scala"}},match:/(given\p{space}+)?(?:([A-Z\p{Lt}\p{Lu}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?)|(`[^\`]+`|(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)))/dgv}]}]},extension:{patterns:[{captures:{"1":{name:"keyword.declaration.scala"}},match:/^\p{space}*(extension)\p{space}+(?=[\[\(])/dgv}]},imports:{begin:/\b(import)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.other.import.scala"}},end:/(?<=[\n\;])/dgv,name:"meta.import.scala",patterns:[{include:"#comments"},{match:/\b(given)\b/dgv,name:"keyword.other.import.given.scala"},{match:/\p{space}(as)\p{space}/dgv,name:"keyword.other.import.as.scala"},{match:/[A-Z\p{Lt}\p{Lu}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?/dgv,name:"entity.name.class.import.scala"},{match:/(`[^\`]+`|(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+))/dgv,name:"entity.name.import.scala"},{match:/\./dgv,name:"punctuation.definition.import"},{begin:/\{/dgv,beginCaptures:{"0":{name:"meta.bracket.scala"}},end:/\}/dgv,endCaptures:{"0":{name:"meta.bracket.scala"}},name:"meta.import.selector.scala",patterns:[{captures:{"1":{name:"keyword.other.import.given.scala"},"2":{name:"entity.name.class.import.renamed-from.scala"},"3":{name:"entity.name.import.renamed-from.scala"},"4":{name:"keyword.other.arrow.scala"},"5":{name:"entity.name.class.import.renamed-to.scala"},"6":{name:"entity.name.import.renamed-to.scala"}},match:/(given\p{space})?\p{space}*(?:([A-Z\p{Lt}\p{Lu}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?)|(`[^\`]+`|(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)))\p{space}*(=>)\p{space}*(?:([A-Z\p{Lt}\p{Lu}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?)|(`[^\`]+`|(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)))\p{space}*/dgv},{match:/\b(given)\b/dgv,name:"keyword.other.import.given.scala"},{captures:{"1":{name:"keyword.other.import.given.scala"},"2":{name:"entity.name.class.import.scala"},"3":{name:"entity.name.import.scala"}},match:/(given\p{space}+)?(?:([A-Z\p{Lt}\p{Lu}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?)|(`[^\`]+`|(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)))/dgv}]}]},inheritance:{patterns:[{captures:{"1":{name:"keyword.declaration.scala"},"2":{name:"entity.name.class"}},match:/\b(extends|with|derives)\b\p{space}*([A-Z\p{Lt}\p{Lu}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|`[^\`]+`|(?=\([^\)]+=>)|(?=(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+))|(?="))?/dgv}]},initialization:{captures:{"1":{name:"keyword.declaration.scala"}},match:/\b(new)\b/dgv},inline:{patterns:[{match:/\b(inline)(?=\p{space}+((?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)|`[^\`]+`)\p{space}*:)/dgv,name:"storage.modifier.other"},{match:/\b(inline)\b(?=(?:[^\n](?!\b(?:val|def|given)\b))*\b(if|match)\b)/dgv,name:"keyword.control.flow.scala"}]},keywords:{patterns:[{match:/\b(return|throw)\b/dgv,name:"keyword.control.flow.jump.scala"},{match:/\b(classOf|isInstanceOf|asInstanceOf)\b/dgv,name:"support.function.type-of.scala"},{match:/\b(else|if|then|do|while|for|yield|match|case)\b/dgv,name:"keyword.control.flow.scala"},{match:/^\p{space}*(end)\p{space}+(if|while|for|match)(?=\p{space}*(\/\/[^\n]*|\/\*(?![^\n]*\*\/\p{space}*\P{space}[^\n]*)[^\n]*)?(?=\n?$))/dgv,name:"keyword.control.flow.end.scala"},{match:/^\p{space}*(end)\p{space}+(val)(?=\p{space}*(\/\/[^\n]*|\/\*(?![^\n]*\*\/\p{space}*\P{space}[^\n]*)[^\n]*)?(?=\n?$))/dgv,name:"keyword.declaration.stable.end.scala"},{match:/^\p{space}*(end)\p{space}+(var)(?=\p{space}*(\/\/[^\n]*|\/\*(?![^\n]*\*\/\p{space}*\P{space}[^\n]*)[^\n]*)?(?=\n?$))/dgv,name:"keyword.declaration.volatile.end.scala"},{captures:{"1":{name:"keyword.declaration.end.scala"},"2":{name:"keyword.declaration.end.scala"},"3":{name:"entity.name.type.declaration"}},match:/^\p{space}*(end)\p{space}+(?:(new|extension)|([A-Z\p{Lt}\p{Lu}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?))(?=\p{space}*(\/\/[^\n]*|\/\*(?![^\n]*\*\/\p{space}*\P{space}[^\n]*)[^\n]*)?(?=\n?$))/dgv},{match:/\b(catch|finally|try)\b/dgv,name:"keyword.control.exception.scala"},{match:/^\p{space}*(end)\p{space}+(try)(?=\p{space}*(\/\/[^\n]*|\/\*(?![^\n]*\*\/\p{space}*\P{space}[^\n]*)[^\n]*)?(?=\n?$))/dgv,name:"keyword.control.exception.end.scala"},{captures:{"1":{name:"keyword.declaration.end.scala"},"2":{name:"entity.name.declaration"}},match:/^\p{space}*(end)\p{space}+(`[^\`]+`|(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+))?(?=\p{space}*(\/\/[^\n]*|\/\*(?![^\n]*\*\/\p{space}*\P{space}[^\n]*)[^\n]*)?(?=\n?$))/dgv},{match:/([\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]|[\\]){3,}/dgv,name:"keyword.operator.scala"},{captures:{"1":{patterns:[{match:/(\|\||&&)/dgv,name:"keyword.operator.logical.scala"},{match:/(!=|==|<=|>=)/dgv,name:"keyword.operator.comparison.scala"},{match:/[^\n][^\n]/dgv,name:"keyword.operator.scala"}]}},match:/((?:[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]|[\\]){2,}|_\*)/dgv},{captures:{"1":{patterns:[{match:/(!)/dgv,name:"keyword.operator.logical.scala"},{match:/(\*|-|\+|\/|%|~)/dgv,name:"keyword.operator.arithmetic.scala"},{match:/(=|<|>)/dgv,name:"keyword.operator.comparison.scala"},{match:/[^\n]/dgv,name:"keyword.operator.scala"}]}},match:/(?<!_)([\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]|\\)/dgv}]},"meta-bounds":{comment:"For themes: Matching view bounds",match:/<%|=:=|<:<|<%<|>:|<:/dgv,name:"meta.bounds.scala"},"meta-brackets":{comment:"For themes: Brackets look nice when colored.",patterns:[{comment:"The punctuation.section.*.begin is needed for return snippet in source bundle",match:/\{/dgv,name:"punctuation.section.block.begin.scala"},{comment:"The punctuation.section.*.end is needed for return snippet in source bundle",match:/\}/dgv,name:"punctuation.section.block.end.scala"},{match:/\{|\}|\(|\)|\[|\]/dgv,name:"meta.bracket.scala"}]},"meta-colons":{comment:"For themes: Matching type colons",patterns:[{match:/(?<!:):(?!:)/dgv,name:"meta.colon.scala"}]},namedBounds:{patterns:[{captures:{"1":{name:"keyword.other.import.as.scala"},"2":{name:"variable.stable.declaration.scala"}},match:/\p{space}+(as)\p{space}+([_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?)\b/dgv}]},"parameter-list":{patterns:[{captures:{"1":{name:"variable.parameter.scala"},"2":{name:"meta.colon.scala"}},match:/(?<=[^\._\$a-zA-Z0-9])(`[^\`]+`|[_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?)\p{space}*(:)\p{space}+/dgv}]},qualifiedClassName:{captures:{"1":{name:"entity.name.class"}},match:/(\b([A-Z][\p{L}\p{M}\p{N}\p{Pc}]*)(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?)/dgv},"scala-quoted-or-symbol":{patterns:[{captures:{"1":{name:"keyword.control.flow.staging.scala constant.other.symbol.scala"},"2":{name:"constant.other.symbol.scala"}},match:/*@__PURE__*/ new EmulatedRegExp("(')((?:(?=([A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[\\!\\#\\%\\&\\*\\+\\-\\/\\:\\<\\>\\=\\?\\@\\^\\|\\~\\p{Sm}\\p{So}]+)?|[\\!\\#\\%\\&\\*\\+\\-\\/\\:\\<\\>\\=\\?\\@\\^\\|\\~\\p{Sm}\\p{So}]+))\\3))(?!')","dgv",{"hiddenCaptures":[3]})},{match:/'(?=\p{space}*\{(?!'))/dgv,name:"keyword.control.flow.staging.scala"},{match:/'(?=\p{space}*\[(?!'))/dgv,name:"keyword.control.flow.staging.scala"},{match:/\$(?=\p{space}*\{)/dgv,name:"keyword.control.flow.staging.scala"}]},"script-header":{captures:{"1":{name:"string.unquoted.shebang.scala"}},match:/^#!([^\n]*)(?=\n?$)/dgv,name:"comment.block.shebang.scala"},"singleton-type":{captures:{"1":{name:"keyword.type.scala"}},match:/\.(type)(?![A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[0-9])/dgv},"storage-modifiers":{patterns:[{match:/\b(private\[\P{space}+\]|protected\[\P{space}+\]|private|protected)\b/dgv,name:"storage.modifier.access"},{match:/\b(synchronized|@volatile|abstract|final|lazy|sealed|implicit|override|@transient|@native)\b/dgv,name:"storage.modifier.other"},{match:/(?<=^|\p{space})\b(transparent|opaque|infix|open|inline)\b(?=[a-z\p{space}]*\b(def|val|var|given|type|class|trait|object|enum)\b)/dgv,name:"storage.modifier.other"}]},"string-interpolation":{patterns:[{match:/\$\$/dgv,name:"constant.character.escape.interpolation.scala"},{captures:{"1":{name:"punctuation.definition.template-expression.begin.scala"}},match:/(\$)([A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\p{Lo}\p{Nl}\p{Ll}0-9]*)/dgv,name:"meta.template.expression.scala"},{begin:/\$\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.template-expression.begin.scala"}},contentName:"meta.embedded.line.scala",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.template-expression.end.scala"}},name:"meta.template.expression.scala",patterns:[{include:"#code"}]}]},strings:{patterns:[{begin:/"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.scala"}},end:/"""(?!")/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.scala"}},name:"string.quoted.triple.scala",patterns:[{match:/\\\\|\\u[0-9A-Fa-f]{4}/dgv,name:"constant.character.escape.scala"}]},{begin:/\b(raw)(""")/dgv,beginCaptures:{"1":{name:"keyword.interpolation.scala"},"2":{name:"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},end:/(""")(?!")|\$\n|(\$[^\$"_\{A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}])/dgv,endCaptures:{"1":{name:"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{name:"invalid.illegal.unrecognized-string-escape.scala"}},patterns:[{match:/\$[\$"]/dgv,name:"constant.character.escape.scala"},{include:"#string-interpolation"},{match:/[^\n]/dgv,name:"string.quoted.triple.interpolated.scala"}]},{begin:/\b([A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?)(""")/dgv,beginCaptures:{"1":{name:"keyword.interpolation.scala"},"2":{name:"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},end:/(""")(?!")|\$\n|(\$[^\$"_\{A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}])/dgv,endCaptures:{"1":{name:"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{name:"invalid.illegal.unrecognized-string-escape.scala"}},patterns:[{include:"#string-interpolation"},{match:/\\\\|\\u[0-9A-Fa-f]{4}/dgv,name:"constant.character.escape.scala"},{match:/[^\n]/dgv,name:"string.quoted.triple.interpolated.scala"}]},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.scala"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.scala"}},name:"string.quoted.double.scala",patterns:[{match:/\\(?:[btnfr\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})/dgv,name:"constant.character.escape.scala"},{match:/\\[^\n]/dgv,name:"invalid.illegal.unrecognized-string-escape.scala"}]},{begin:/\b(raw)(")/dgv,beginCaptures:{"1":{name:"keyword.interpolation.scala"},"2":{name:"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},end:/(")|\$\n|(\$[^\$"_\{A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}])/dgv,endCaptures:{"1":{name:"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{name:"invalid.illegal.unrecognized-string-escape.scala"}},patterns:[{match:/\$[\$"]/dgv,name:"constant.character.escape.scala"},{include:"#string-interpolation"},{match:/[^\n]/dgv,name:"string.quoted.double.interpolated.scala"}]},{begin:/\b([A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?)(")/dgv,beginCaptures:{"1":{name:"keyword.interpolation.scala"},"2":{name:"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},end:/(")|\$\n|(\$[^\$"_\{A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}])/dgv,endCaptures:{"1":{name:"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{name:"invalid.illegal.unrecognized-string-escape.scala"}},patterns:[{match:/\$[\$"]/dgv,name:"constant.character.escape.scala"},{include:"#string-interpolation"},{match:/\\(?:[btnfr\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})/dgv,name:"constant.character.escape.scala"},{match:/\\[^\n]/dgv,name:"invalid.illegal.unrecognized-string-escape.scala"},{match:/[^\n]/dgv,name:"string.quoted.double.interpolated.scala"}]}]},using:{patterns:[{captures:{"1":{name:"keyword.declaration.scala"}},match:/(?<=\()\p{space}*(using)\p{space}/dgv}]},"using-directive":{begin:/^\p{space}*(\/\/>)\p{space}*(using)[^\P{space}\n]+(?:(\P{space}+))?/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.scala"},"2":{name:"keyword.other.import.scala"},"3":{patterns:[{match:/[A-Z\p{Lt}\p{Lu}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|`[^\`]+`|(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)/dgv,name:"entity.name.import.scala"},{match:/\./dgv,name:"punctuation.definition.import"}]}},end:/\n/dgv,name:"comment.line.shebang.scala",patterns:[{include:"#constants"},{include:"#strings"},{match:/[^\p{space}\,]+/dgv,name:"string.quoted.double.scala"}]},"xml-doublequotedString":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.xml"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.xml"}},name:"string.quoted.double.xml",patterns:[{include:"#xml-entity"}]},"xml-embedded-content":{patterns:[{begin:/\{/dgv,captures:{"0":{name:"meta.bracket.scala"}},end:/\}/dgv,name:"meta.source.embedded.scala",patterns:[{include:"#code"}]},{captures:{"1":{name:"entity.other.attribute-name.namespace.xml"},"2":{name:"entity.other.attribute-name.xml"},"3":{name:"punctuation.separator.namespace.xml"},"4":{name:"entity.other.attribute-name.localname.xml"}},match:/ (?:([\-_a-zA-Z0-9]+)((:)))?([_a-zA-Z\-]+)=/dgv},{include:"#xml-doublequotedString"},{include:"#xml-singlequotedString"}]},"xml-entity":{captures:{"1":{name:"punctuation.definition.constant.xml"},"3":{name:"punctuation.definition.constant.xml"}},match:/(&)([\:a-zA-Z_][\:a-zA-Z0-9_\.\-]*|#[0-9]+|#x[0-9a-fA-F]+)(;)/dgv,name:"constant.character.entity.xml"},"xml-literal":{patterns:[{begin:/(<)((?:([_a-zA-Z0-9][_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][\-_a-zA-Z0-9\:]*))(?=(\p{space}[^\>]*)?><\/\2>)/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.xml"},"3":{name:"entity.name.tag.namespace.xml"},"4":{name:"entity.name.tag.xml"},"5":{name:"punctuation.separator.namespace.xml"},"6":{name:"entity.name.tag.localname.xml"}},comment:"We do not allow a tag name to start with a - since this would likely conflict with the <- operator. This is not very common for tag names anyway. Also code such as -- if (val <val2 || val> val3) will falsly be recognized as an xml tag. The solution is to put a space on either side of the comparison operator",end:/(>(<))\/(?:([\-_a-zA-Z0-9]+)((:)))?([\-_a-zA-Z0-9\:]*[_a-zA-Z0-9])(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag.xml"},"2":{name:"meta.scope.between-tag-pair.xml"},"3":{name:"entity.name.tag.namespace.xml"},"4":{name:"entity.name.tag.xml"},"5":{name:"punctuation.separator.namespace.xml"},"6":{name:"entity.name.tag.localname.xml"},"7":{name:"punctuation.definition.tag.xml"}},name:"meta.tag.no-content.xml",patterns:[{include:"#xml-embedded-content"}]},{begin:/(<\/?)(?:([_a-zA-Z0-9][\-_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][\-_a-zA-Z0-9\:]*)(?=[^\>]*?>)/dgv,captures:{"1":{name:"punctuation.definition.tag.xml"},"2":{name:"entity.name.tag.namespace.xml"},"3":{name:"entity.name.tag.xml"},"4":{name:"punctuation.separator.namespace.xml"},"5":{name:"entity.name.tag.localname.xml"}},end:/(\/?>)/dgv,name:"meta.tag.xml",patterns:[{include:"#xml-embedded-content"}]},{include:"#xml-entity"}]},"xml-singlequotedString":{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.xml"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.xml"}},name:"string.quoted.single.xml",patterns:[{include:"#xml-entity"}]}},scopeName:"source.scala",embeddedLangs:undefined,aliases:undefined})
3
+ const lang = Object.freeze({displayName:"Scala",fileTypes:["scala"],firstLineMatch:/^#!\/[^\n]*\b[\p{L}\p{M}\p{N}\p{Pc}]*scala\b/dgv,foldingStartMarker:/\/\*\*|\{\p{space}*(?=\n?$)/dgv,foldingStopMarker:/\*\*\/|^\p{space}*\}/dgv,name:"scala",patterns:[{include:"#code"}],repository:{backQuotedVariable:{match:/`[^\`]+`/dgv},"block-comments":{patterns:[{captures:{"0":{name:"punctuation.definition.comment.scala"}},match:/\/\*\*\//dgv,name:"comment.block.empty.scala"},{begin:/^\p{space}*(\/\*\*)(?!\/)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.scala"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.scala"}},name:"comment.block.documentation.scala",patterns:[{captures:{"1":{name:"keyword.other.documentation.scaladoc.scala"},"2":{name:"variable.parameter.scala"}},match:/(@param)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"keyword.other.documentation.scaladoc.scala"},"2":{name:"entity.name.class"}},match:/(@(?:tparam|throws))\p{space}+(\P{space}+)/dgv},{match:/@(return|see|note|example|constructor|usecase|author|version|since|todo|deprecated|migration|define|inheritdoc|groupname|groupprio|groupdesc|group|contentDiagram|documentable|syntax)\b/dgv,name:"keyword.other.documentation.scaladoc.scala"},{captures:{"1":{name:"punctuation.definition.documentation.link.scala"},"2":{name:"string.other.link.title.markdown"},"3":{name:"punctuation.definition.documentation.link.scala"}},match:/(\[\[)([^\]]+)(\]\])/dgv},{include:"#block-comments"}]},{begin:/\/\*/dgv,captures:{"0":{name:"punctuation.definition.comment.scala"}},end:/\*\//dgv,name:"comment.block.scala",patterns:[{include:"#block-comments"}]}]},"char-literal":{patterns:[{captures:{"1":{name:"punctuation.definition.character.begin.scala"},"2":{name:"punctuation.definition.character.end.scala"}},match:/(')'(')/dgv,name:"string.quoted.other constant.character.literal.scala"},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.character.begin.scala"}},end:/'|(?=\n?$)/dgv,endCaptures:{"0":{name:"punctuation.definition.character.end.scala"}},name:"string.quoted.other constant.character.literal.scala",patterns:[{match:/\\(?:[btnfr\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})/dgv,name:"constant.character.escape.scala"},{match:/\\[^\n]/dgv,name:"invalid.illegal.unrecognized-character-escape.scala"},{match:/[^']{2,}/dgv,name:"invalid.illegal.character-literal-too-long"},{match:/(?<!')[^']/dgv,name:"invalid.illegal.character-literal-too-long"}]}]},code:{patterns:[{include:"#using-directive"},{include:"#script-header"},{include:"#storage-modifiers"},{include:"#declarations"},{include:"#inheritance"},{include:"#extension"},{include:"#imports"},{include:"#exports"},{include:"#comments"},{include:"#strings"},{include:"#initialization"},{include:"#xml-literal"},{include:"#namedBounds"},{include:"#keywords"},{include:"#using"},{include:"#constants"},{include:"#singleton-type"},{include:"#inline"},{include:"#scala-quoted-or-symbol"},{include:"#char-literal"},{include:"#empty-parentheses"},{include:"#parameter-list"},{include:"#qualifiedClassName"},{include:"#backQuotedVariable"},{include:"#curly-braces"},{include:"#meta-brackets"},{include:"#meta-bounds"},{include:"#meta-colons"}]},comments:{patterns:[{include:"#block-comments"},{begin:/(^[ \t]+)?(?=\/\/)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.scala"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.scala"}},end:/\n/dgv,name:"comment.line.double-slash.scala"}]}]},constants:{patterns:[{match:/\b(false|null|true)\b/dgv,name:"constant.language.scala"},{match:/\b(0[xX][0-9a-fA-F_]*)\b/dgv,name:"constant.numeric.scala"},{match:/\b(([0-9][0-9_]*(\.[0-9][0-9_]*)?)([eE](\+|-)?[0-9][0-9_]*)?|[0-9][0-9_]*)[LlFfDd]?\b/dgv,name:"constant.numeric.scala"},{match:/(\.[0-9][0-9_]*)([eE](\+|-)?[0-9][0-9_]*)?[LlFfDd]?\b/dgv,name:"constant.numeric.scala"},{match:/\b0[bB][01]([01_]*[01])?[Ll]?\b/dgv,name:"constant.numeric.scala"},{match:/\b(this|super)\b/dgv,name:"variable.language.scala"}]},"curly-braces":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.scala"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.scala"}},patterns:[{include:"#code"}]},declarations:{patterns:[{captures:{"1":{name:"keyword.declaration.scala"},"2":{name:"entity.name.function.declaration"}},match:/\b(def)\b\p{space}*(?!\/\/|\/\*)((?:(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)|`[^\`]+`))?/dgv},{captures:{"1":{name:"keyword.declaration.scala"},"2":{name:"entity.name.class.declaration"}},match:/\b(trait)\b\p{space}*(?!\/\/|\/\*)((?:(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)|`[^\`]+`))?/dgv},{captures:{"1":{name:"keyword.declaration.scala"},"2":{name:"keyword.declaration.scala"},"3":{name:"entity.name.class.declaration"}},match:/\b(?:(case)\p{space}+)?(class|object|enum)\b\p{space}*(?!\/\/|\/\*)((?:(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)|`[^\`]+`))?/dgv},{captures:{"1":{name:"keyword.declaration.scala"},"2":{name:"entity.name.type.declaration"}},match:/(?<!\.)\b(type)\b\p{space}*(?!\/\/|\/\*)((?:(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)|`[^\`]+`))?/dgv},{captures:{"1":{name:"keyword.declaration.stable.scala"},"2":{name:"keyword.declaration.volatile.scala"}},match:/\b(?:(val)|(var))\b\p{space}*(?!\/\/|\/\*)(?=(?:(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)|`[^\`]+`)?\()/dgv},{captures:{"1":{name:"keyword.declaration.stable.scala"},"2":{name:"variable.stable.declaration.scala"}},match:/\b(val)\b\p{space}*(?!\/\/|\/\*)((?:(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)|`[^\`]+`)(?:\p{space}*,\p{space}*(?:(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)|`[^\`]+`))*)?(?!")/dgv},{captures:{"1":{name:"keyword.declaration.volatile.scala"},"2":{name:"variable.volatile.declaration.scala"}},match:/\b(var)\b\p{space}*(?!\/\/|\/\*)((?:(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)|`[^\`]+`)(?:\p{space}*,\p{space}*(?:(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)|`[^\`]+`))*)?(?!")/dgv},{captures:{"1":{name:"keyword.other.package.scala"},"2":{name:"keyword.declaration.scala"},"3":{name:"entity.name.class.declaration"}},match:/\b(package)\p{space}+(object)\b\p{space}*(?!\/\/|\/\*)((?:(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)|`[^\`]+`))?/dgv},{begin:/\b(package)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.other.package.scala"}},end:/(?<=[\n\;])/dgv,name:"meta.package.scala",patterns:[{include:"#comments"},{match:/(`[^\`]+`|(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+))/dgv,name:"entity.name.package.scala"},{match:/\./dgv,name:"punctuation.definition.package"}]},{captures:{"1":{name:"keyword.declaration.scala"},"2":{name:"entity.name.given.declaration"}},match:/\b(given)\b\p{space}*([_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|`[^\`]+`)?/dgv}]},"empty-parentheses":{captures:{"1":{name:"meta.bracket.scala"}},match:/(\(\))/dgv,name:"meta.parentheses.scala"},exports:{begin:/\b(export)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.other.export.scala"}},end:/(?<=[\n\;])/dgv,name:"meta.export.scala",patterns:[{include:"#comments"},{match:/\b(given)\b/dgv,name:"keyword.other.export.given.scala"},{match:/[A-Z\p{Lt}\p{Lu}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?/dgv,name:"entity.name.class.export.scala"},{match:/(`[^\`]+`|(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+))/dgv,name:"entity.name.export.scala"},{match:/\./dgv,name:"punctuation.definition.export"},{begin:/\{/dgv,beginCaptures:{"0":{name:"meta.bracket.scala"}},end:/\}/dgv,endCaptures:{"0":{name:"meta.bracket.scala"}},name:"meta.export.selector.scala",patterns:[{captures:{"1":{name:"keyword.other.export.given.scala"},"2":{name:"entity.name.class.export.renamed-from.scala"},"3":{name:"entity.name.export.renamed-from.scala"},"4":{name:"keyword.other.arrow.scala"},"5":{name:"entity.name.class.export.renamed-to.scala"},"6":{name:"entity.name.export.renamed-to.scala"}},match:/(given\p{space})?\p{space}*(?:([A-Z\p{Lt}\p{Lu}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?)|(`[^\`]+`|(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)))\p{space}*(=>)\p{space}*(?:([A-Z\p{Lt}\p{Lu}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?)|(`[^\`]+`|(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)))\p{space}*/dgv},{match:/\b(given)\b/dgv,name:"keyword.other.export.given.scala"},{captures:{"1":{name:"keyword.other.export.given.scala"},"2":{name:"entity.name.class.export.scala"},"3":{name:"entity.name.export.scala"}},match:/(given\p{space}+)?(?:([A-Z\p{Lt}\p{Lu}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?)|(`[^\`]+`|(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)))/dgv}]}]},extension:{patterns:[{captures:{"1":{name:"keyword.declaration.scala"}},match:/^\p{space}*(extension)\p{space}+(?=[\[\(])/dgv}]},imports:{begin:/\b(import)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.other.import.scala"}},end:/(?<=[\n\;])/dgv,name:"meta.import.scala",patterns:[{include:"#comments"},{match:/\b(given)\b/dgv,name:"keyword.other.import.given.scala"},{match:/\p{space}(as)\p{space}/dgv,name:"keyword.other.import.as.scala"},{match:/[A-Z\p{Lt}\p{Lu}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?/dgv,name:"entity.name.class.import.scala"},{match:/(`[^\`]+`|(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+))/dgv,name:"entity.name.import.scala"},{match:/\./dgv,name:"punctuation.definition.import"},{begin:/\{/dgv,beginCaptures:{"0":{name:"meta.bracket.scala"}},end:/\}/dgv,endCaptures:{"0":{name:"meta.bracket.scala"}},name:"meta.import.selector.scala",patterns:[{captures:{"1":{name:"keyword.other.import.given.scala"},"2":{name:"entity.name.class.import.renamed-from.scala"},"3":{name:"entity.name.import.renamed-from.scala"},"4":{name:"keyword.other.arrow.scala"},"5":{name:"entity.name.class.import.renamed-to.scala"},"6":{name:"entity.name.import.renamed-to.scala"}},match:/(given\p{space})?\p{space}*(?:([A-Z\p{Lt}\p{Lu}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?)|(`[^\`]+`|(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)))\p{space}*(=>)\p{space}*(?:([A-Z\p{Lt}\p{Lu}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?)|(`[^\`]+`|(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)))\p{space}*/dgv},{match:/\b(given)\b/dgv,name:"keyword.other.import.given.scala"},{captures:{"1":{name:"keyword.other.import.given.scala"},"2":{name:"entity.name.class.import.scala"},"3":{name:"entity.name.import.scala"}},match:/(given\p{space}+)?(?:([A-Z\p{Lt}\p{Lu}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?)|(`[^\`]+`|(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)))/dgv}]}]},inheritance:{patterns:[{captures:{"1":{name:"keyword.declaration.scala"},"2":{name:"entity.name.class"}},match:/\b(extends|with|derives)\b\p{space}*([A-Z\p{Lt}\p{Lu}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|`[^\`]+`|(?=\([^\)]+=>)|(?=(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+))|(?="))?/dgv}]},initialization:{captures:{"1":{name:"keyword.declaration.scala"}},match:/\b(new)\b/dgv},inline:{patterns:[{match:/\b(inline)(?=\p{space}+((?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)|`[^\`]+`)\p{space}*:)/dgv,name:"storage.modifier.other"},{match:/\b(inline)\b(?=(?:[^\n](?!\b(?:val|def|given)\b))*\b(if|match)\b)/dgv,name:"keyword.control.flow.scala"}]},keywords:{patterns:[{match:/\b(return|throw)\b/dgv,name:"keyword.control.flow.jump.scala"},{match:/\b(classOf|isInstanceOf|asInstanceOf)\b/dgv,name:"support.function.type-of.scala"},{match:/\b(else|if|then|do|while|for|yield|match|case)\b/dgv,name:"keyword.control.flow.scala"},{match:/^\p{space}*(end)\p{space}+(if|while|for|match)(?=\p{space}*(\/\/[^\n]*|\/\*(?![^\n]*\*\/\p{space}*\P{space}[^\n]*)[^\n]*)?(?=\n?$))/dgv,name:"keyword.control.flow.end.scala"},{match:/^\p{space}*(end)\p{space}+(val)(?=\p{space}*(\/\/[^\n]*|\/\*(?![^\n]*\*\/\p{space}*\P{space}[^\n]*)[^\n]*)?(?=\n?$))/dgv,name:"keyword.declaration.stable.end.scala"},{match:/^\p{space}*(end)\p{space}+(var)(?=\p{space}*(\/\/[^\n]*|\/\*(?![^\n]*\*\/\p{space}*\P{space}[^\n]*)[^\n]*)?(?=\n?$))/dgv,name:"keyword.declaration.volatile.end.scala"},{captures:{"1":{name:"keyword.declaration.end.scala"},"2":{name:"keyword.declaration.end.scala"},"3":{name:"entity.name.type.declaration"}},match:/^\p{space}*(end)\p{space}+(?:(new|extension)|([A-Z\p{Lt}\p{Lu}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?))(?=\p{space}*(\/\/[^\n]*|\/\*(?![^\n]*\*\/\p{space}*\P{space}[^\n]*)[^\n]*)?(?=\n?$))/dgv},{match:/\b(catch|finally|try)\b/dgv,name:"keyword.control.exception.scala"},{match:/^\p{space}*(end)\p{space}+(try)(?=\p{space}*(\/\/[^\n]*|\/\*(?![^\n]*\*\/\p{space}*\P{space}[^\n]*)[^\n]*)?(?=\n?$))/dgv,name:"keyword.control.exception.end.scala"},{captures:{"1":{name:"keyword.declaration.end.scala"},"2":{name:"entity.name.declaration"}},match:/^\p{space}*(end)\p{space}+(`[^\`]+`|(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+))?(?=\p{space}*(\/\/[^\n]*|\/\*(?![^\n]*\*\/\p{space}*\P{space}[^\n]*)[^\n]*)?(?=\n?$))/dgv},{match:/([\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]|[\\]){3,}/dgv,name:"keyword.operator.scala"},{captures:{"1":{patterns:[{match:/(\|\||&&)/dgv,name:"keyword.operator.logical.scala"},{match:/(!=|==|<=|>=)/dgv,name:"keyword.operator.comparison.scala"},{match:/[^\n][^\n]/dgv,name:"keyword.operator.scala"}]}},match:/((?:[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]|[\\]){2,}|_\*)/dgv},{captures:{"1":{patterns:[{match:/(!)/dgv,name:"keyword.operator.logical.scala"},{match:/(\*|-|\+|\/|%|~)/dgv,name:"keyword.operator.arithmetic.scala"},{match:/(=|<|>)/dgv,name:"keyword.operator.comparison.scala"},{match:/[^\n]/dgv,name:"keyword.operator.scala"}]}},match:/(?<!_)([\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]|\\)/dgv}]},"meta-bounds":{match:/<%|=:=|<:<|<%<|>:|<:/dgv,name:"meta.bounds.scala"},"meta-brackets":{patterns:[{match:/\{/dgv,name:"punctuation.section.block.begin.scala"},{match:/\}/dgv,name:"punctuation.section.block.end.scala"},{match:/\{|\}|\(|\)|\[|\]/dgv,name:"meta.bracket.scala"}]},"meta-colons":{patterns:[{match:/(?<!:):(?!:)/dgv,name:"meta.colon.scala"}]},namedBounds:{patterns:[{captures:{"1":{name:"keyword.other.import.as.scala"},"2":{name:"variable.stable.declaration.scala"}},match:/\p{space}+(as)\p{space}+([_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?)\b/dgv}]},"parameter-list":{patterns:[{captures:{"1":{name:"variable.parameter.scala"},"2":{name:"meta.colon.scala"}},match:/(?<=[^\._\$a-zA-Z0-9])(`[^\`]+`|[_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?)\p{space}*(:)\p{space}+/dgv}]},qualifiedClassName:{captures:{"1":{name:"entity.name.class"}},match:/(\b([A-Z][\p{L}\p{M}\p{N}\p{Pc}]*)(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?)/dgv},"scala-quoted-or-symbol":{patterns:[{captures:{"1":{name:"keyword.control.flow.staging.scala constant.other.symbol.scala"},"2":{name:"constant.other.symbol.scala"}},match:/*@__PURE__*/ new EmulatedRegExp("(')((?:(?=([A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[\\!\\#\\%\\&\\*\\+\\-\\/\\:\\<\\>\\=\\?\\@\\^\\|\\~\\p{Sm}\\p{So}]+)?|[\\!\\#\\%\\&\\*\\+\\-\\/\\:\\<\\>\\=\\?\\@\\^\\|\\~\\p{Sm}\\p{So}]+))\\3))(?!')","dgv",{"hiddenCaptures":[3]})},{match:/'(?=\p{space}*\{(?!'))/dgv,name:"keyword.control.flow.staging.scala"},{match:/'(?=\p{space}*\[(?!'))/dgv,name:"keyword.control.flow.staging.scala"},{match:/\$(?=\p{space}*\{)/dgv,name:"keyword.control.flow.staging.scala"}]},"script-header":{captures:{"1":{name:"string.unquoted.shebang.scala"}},match:/^#!([^\n]*)(?=\n?$)/dgv,name:"comment.block.shebang.scala"},"singleton-type":{captures:{"1":{name:"keyword.type.scala"}},match:/\.(type)(?![A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[0-9])/dgv},"storage-modifiers":{patterns:[{match:/\b(private\[\P{space}+\]|protected\[\P{space}+\]|private|protected)\b/dgv,name:"storage.modifier.access"},{match:/\b(synchronized|@volatile|abstract|final|lazy|sealed|implicit|override|@transient|@native)\b/dgv,name:"storage.modifier.other"},{match:/(?<=^|\p{space})\b(transparent|opaque|infix|open|inline)\b(?=[a-z\p{space}]*\b(def|val|var|given|type|class|trait|object|enum)\b)/dgv,name:"storage.modifier.other"}]},"string-interpolation":{patterns:[{match:/\$\$/dgv,name:"constant.character.escape.interpolation.scala"},{captures:{"1":{name:"punctuation.definition.template-expression.begin.scala"}},match:/(\$)([A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\p{Lo}\p{Nl}\p{Ll}0-9]*)/dgv,name:"meta.template.expression.scala"},{begin:/\$\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.template-expression.begin.scala"}},contentName:"meta.embedded.line.scala",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.template-expression.end.scala"}},name:"meta.template.expression.scala",patterns:[{include:"#code"}]}]},strings:{patterns:[{begin:/"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.scala"}},end:/"""(?!")/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.scala"}},name:"string.quoted.triple.scala",patterns:[{match:/\\\\|\\u[0-9A-Fa-f]{4}/dgv,name:"constant.character.escape.scala"}]},{begin:/\b(raw)(""")/dgv,beginCaptures:{"1":{name:"keyword.interpolation.scala"},"2":{name:"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},end:/(""")(?!")|\$\n|(\$[^\$"_\{A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}])/dgv,endCaptures:{"1":{name:"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{name:"invalid.illegal.unrecognized-string-escape.scala"}},patterns:[{match:/\$[\$"]/dgv,name:"constant.character.escape.scala"},{include:"#string-interpolation"},{match:/[^\n]/dgv,name:"string.quoted.triple.interpolated.scala"}]},{begin:/\b([A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?)(""")/dgv,beginCaptures:{"1":{name:"keyword.interpolation.scala"},"2":{name:"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},end:/(""")(?!")|\$\n|(\$[^\$"_\{A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}])/dgv,endCaptures:{"1":{name:"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{name:"invalid.illegal.unrecognized-string-escape.scala"}},patterns:[{include:"#string-interpolation"},{match:/\\\\|\\u[0-9A-Fa-f]{4}/dgv,name:"constant.character.escape.scala"},{match:/[^\n]/dgv,name:"string.quoted.triple.interpolated.scala"}]},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.scala"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.scala"}},name:"string.quoted.double.scala",patterns:[{match:/\\(?:[btnfr\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})/dgv,name:"constant.character.escape.scala"},{match:/\\[^\n]/dgv,name:"invalid.illegal.unrecognized-string-escape.scala"}]},{begin:/\b(raw)(")/dgv,beginCaptures:{"1":{name:"keyword.interpolation.scala"},"2":{name:"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},end:/(")|\$\n|(\$[^\$"_\{A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}])/dgv,endCaptures:{"1":{name:"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{name:"invalid.illegal.unrecognized-string-escape.scala"}},patterns:[{match:/\$[\$"]/dgv,name:"constant.character.escape.scala"},{include:"#string-interpolation"},{match:/[^\n]/dgv,name:"string.quoted.double.interpolated.scala"}]},{begin:/\b([A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?)(")/dgv,beginCaptures:{"1":{name:"keyword.interpolation.scala"},"2":{name:"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},end:/(")|\$\n|(\$[^\$"_\{A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}])/dgv,endCaptures:{"1":{name:"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{name:"invalid.illegal.unrecognized-string-escape.scala"}},patterns:[{match:/\$[\$"]/dgv,name:"constant.character.escape.scala"},{include:"#string-interpolation"},{match:/\\(?:[btnfr\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})/dgv,name:"constant.character.escape.scala"},{match:/\\[^\n]/dgv,name:"invalid.illegal.unrecognized-string-escape.scala"},{match:/[^\n]/dgv,name:"string.quoted.double.interpolated.scala"}]}]},using:{patterns:[{captures:{"1":{name:"keyword.declaration.scala"}},match:/(?<=\()\p{space}*(using)\p{space}/dgv}]},"using-directive":{begin:/^\p{space}*(\/\/>)\p{space}*(using)[^\P{space}\n]+(?:(\P{space}+))?/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.scala"},"2":{name:"keyword.other.import.scala"},"3":{patterns:[{match:/[A-Z\p{Lt}\p{Lu}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|`[^\`]+`|(?:[A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}][A-Z\p{Lt}\p{Lu}_a-z\$\p{Lo}\p{Nl}\p{Ll}0-9]*(?:(?<=_)[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)?|[\!\#\%\&\*\+\-\/\:\<\>\=\?\@\^\|\~\p{Sm}\p{So}]+)/dgv,name:"entity.name.import.scala"},{match:/\./dgv,name:"punctuation.definition.import"}]}},end:/\n/dgv,name:"comment.line.shebang.scala",patterns:[{include:"#constants"},{include:"#strings"},{match:/[^\p{space}\,]+/dgv,name:"string.quoted.double.scala"}]},"xml-doublequotedString":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.xml"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.xml"}},name:"string.quoted.double.xml",patterns:[{include:"#xml-entity"}]},"xml-embedded-content":{patterns:[{begin:/\{/dgv,captures:{"0":{name:"meta.bracket.scala"}},end:/\}/dgv,name:"meta.source.embedded.scala",patterns:[{include:"#code"}]},{captures:{"1":{name:"entity.other.attribute-name.namespace.xml"},"2":{name:"entity.other.attribute-name.xml"},"3":{name:"punctuation.separator.namespace.xml"},"4":{name:"entity.other.attribute-name.localname.xml"}},match:/ (?:([\-_a-zA-Z0-9]+)((:)))?([_a-zA-Z\-]+)=/dgv},{include:"#xml-doublequotedString"},{include:"#xml-singlequotedString"}]},"xml-entity":{captures:{"1":{name:"punctuation.definition.constant.xml"},"3":{name:"punctuation.definition.constant.xml"}},match:/(&)([\:a-zA-Z_][\:a-zA-Z0-9_\.\-]*|#[0-9]+|#x[0-9a-fA-F]+)(;)/dgv,name:"constant.character.entity.xml"},"xml-literal":{patterns:[{begin:/(<)((?:([_a-zA-Z0-9][_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][\-_a-zA-Z0-9\:]*))(?=(\p{space}[^\>]*)?><\/\2>)/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.xml"},"3":{name:"entity.name.tag.namespace.xml"},"4":{name:"entity.name.tag.xml"},"5":{name:"punctuation.separator.namespace.xml"},"6":{name:"entity.name.tag.localname.xml"}},end:/(>(<))\/(?:([\-_a-zA-Z0-9]+)((:)))?([\-_a-zA-Z0-9\:]*[_a-zA-Z0-9])(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag.xml"},"2":{name:"meta.scope.between-tag-pair.xml"},"3":{name:"entity.name.tag.namespace.xml"},"4":{name:"entity.name.tag.xml"},"5":{name:"punctuation.separator.namespace.xml"},"6":{name:"entity.name.tag.localname.xml"},"7":{name:"punctuation.definition.tag.xml"}},name:"meta.tag.no-content.xml",patterns:[{include:"#xml-embedded-content"}]},{begin:/(<\/?)(?:([_a-zA-Z0-9][\-_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][\-_a-zA-Z0-9\:]*)(?=[^\>]*?>)/dgv,captures:{"1":{name:"punctuation.definition.tag.xml"},"2":{name:"entity.name.tag.namespace.xml"},"3":{name:"entity.name.tag.xml"},"4":{name:"punctuation.separator.namespace.xml"},"5":{name:"entity.name.tag.localname.xml"}},end:/(\/?>)/dgv,name:"meta.tag.xml",patterns:[{include:"#xml-embedded-content"}]},{include:"#xml-entity"}]},"xml-singlequotedString":{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.xml"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.xml"}},name:"string.quoted.single.xml",patterns:[{include:"#xml-entity"}]}},scopeName:"source.scala",embeddedLangs:undefined,aliases:undefined})
4
4
 
5
5
  export default [
6
6
  lang
package/dist/scheme.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { EmulatedRegExp } from 'oniguruma-to-es'
2
2
 
3
- const lang = Object.freeze({displayName:"Scheme",fileTypes:["scm","ss","sch","rkt"],name:"scheme",patterns:[{include:"#comment"},{include:"#block-comment"},{include:"#sexp"},{include:"#string"},{include:"#language-functions"},{include:"#quote"},{include:"#illegal"}],repository:{"block-comment":{begin:/#\|/dgv,contentName:"comment",end:/\|#/dgv,name:"comment",patterns:[{include:"#block-comment",name:"comment"}]},comment:{begin:/(^[ \t]+)?(?=;)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.scheme"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/;/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.scheme"}},end:/\n/dgv,name:"comment.line.semicolon.scheme"}]},constants:{patterns:[{match:/#[t\|f]/dgv,name:"constant.language.boolean.scheme"},{match:/(?<=[\(\p{space}])((#e|#i)?[0-9]+(\.[0-9]+)?|(#x)[0-9a-fA-F]+|(#o)[0-7]+|(#b)[01]+)(?=[\p{space}\;\(\)'"\,\[\]])/dgv,name:"constant.numeric.scheme"}]},illegal:{match:/[\(\)\[\]]/dgv,name:"invalid.illegal.parenthesis.scheme"},"language-functions":{patterns:[{match:/(?<=(\p{space}|\(|\[))(do|or|and|else|quasiquote|begin|if|case|set!|cond|let|unquote|define|let\*|unquote-splicing|delay|letrec)(?=(\p{space}|\())/dgv,name:"keyword.control.scheme"},{comment:"\n\t\t\t\t\t\tThese functions run a test, and return a boolean\n\t\t\t\t\t\tanswer.\n\t\t\t\t\t",match:/(?<=(\p{space}|\())(char-alphabetic|char-lower-case|char-numeric|char-ready|char-upper-case|char-whitespace|(?:char|string)(?:-ci)?(?:=|<=?|>=?)|atom|boolean|bound-identifier=|char|complex|identifier|integer|symbol|free-identifier=|inexact|eof-object|exact|list|(?:input|output)-port|pair|real|rational|zero|vector|negative|odd|null|string|eq|equal|eqv|even|number|positive|procedure)(\?)(?=(\p{space}|\())/dgv,name:"support.function.boolean-test.scheme"},{comment:"\n\t\t\t\t\t\tThese functions change one type into another.\n\t\t\t\t\t",match:/(?<=(\p{space}|\())(char->integer|exact->inexact|inexact->exact|integer->char|symbol->string|list->vector|list->string|identifier->symbol|vector->list|string->list|string->number|string->symbol|number->string)(?=(\p{space}|\())/dgv,name:"support.function.convert-type.scheme"},{comment:"\n\t\t\t\t\t\tThese functions are potentially dangerous because\n\t\t\t\t\t\tthey have side-effects which could affect other\n\t\t\t\t\t\tparts of the program.\n\t\t\t\t\t",match:/(?<=(\p{space}|\())(set-(?:car|cdr)|(?:vector|string)-(?:fill|set))(!)(?=(\p{space}|\())/dgv,name:"support.function.with-side-effects.scheme"},{comment:"\n\t\t\t\t\t\t+, -, *, /, =, >, etc. \n\t\t\t\t\t",match:/(?<=(\p{space}|\())(>=?|<=?|=|[\*\/\+\-])(?=(\p{space}|\())/dgv,name:"keyword.operator.arithmetic.scheme"},{match:/(?<=(\p{space}|\())(append|apply|approximate|call-with-current-continuation|call\/cc|catch|construct-identifier|define-syntax|display|foo|for-each|force|format|cd|gen-counter|gen-loser|generate-identifier|last-pair|length|let-syntax|letrec-syntax|list|list-ref|list-tail|load|log|macro|magnitude|map|map-streams|max|member|memq|memv|min|newline|nil|not|peek-char|rationalize|read|read-char|return|reverse|sequence|substring|syntax|syntax-rules|transcript-off|transcript-on|truncate|unwrap-syntax|values-list|write|write-char|cons|c(a|d){1,4}r|abs|acos|angle|asin|assoc|assq|assv|atan|ceiling|cos|floor|round|sin|sqrt|tan|(?:real|imag)-part|numerator|denominatormodulo|exp|expt|remainder|quotient|lcm|call-with-(?:input|output)-file|(?:close|current)-(?:input|output)-port|with-(?:input|output)-from-file|open-(?:input|output)-file|char-(?:downcase|upcase|ready)|make-(?:polar|promise|rectangular|string|vector)string(?:-(?:append|copy|length|ref))?|vector(?:-length|-ref))(?=(\p{space}|\())/dgv,name:"support.function.general.scheme"}]},quote:{comment:"\n\t\t\t\tWe need to be able to quote any kind of item, which creates\n\t\t\t\ta tiny bit of complexity in our grammar. It is hopefully\n\t\t\t\tnot overwhelming complexity.\n\t\t\t\t\n\t\t\t\tNote: the first two matches are special cases. quoted\n\t\t\t\tsymbols, and quoted empty lists are considered constant.other\n\t\t\t\t\n\t\t\t",patterns:[{captures:{"1":{name:"punctuation.section.quoted.symbol.scheme"}},match:/(')\p{space}*([\p{Alpha}\p{Nd}][\p{Alpha}\p{Nd}\!\$\%\&\*\+-\.\/\:\<\=\>\?\@\^_\~]*)/dgv,name:"constant.other.symbol.scheme"},{captures:{"1":{name:"punctuation.section.quoted.empty-list.scheme"},"2":{name:"meta.expression.scheme"},"3":{name:"punctuation.section.expression.begin.scheme"},"4":{name:"punctuation.section.expression.end.scheme"}},match:/(')\p{space}*((\()\p{space}*(\)))/dgv,name:"constant.other.empty-list.schem"},{begin:/(')\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.section.quoted.scheme"}},comment:"quoted double-quoted string or s-expression",end:/(?=[\p{space}\(\)])|(?<=\n)/dgv,name:"string.other.quoted-object.scheme",patterns:[{include:"#quoted"}]}]},"quote-sexp":{begin:/(?<=\()\p{space}*(quote)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.control.quote.scheme"}},comment:"\n\t\t\t\tSomething quoted with (quote «thing»). In this case «thing»\n\t\t\t\twill not be evaluated, so we are considering it a string.\n\t\t\t",contentName:"string.other.quote.scheme",end:/(?=[\p{space}\)])|(?<=\n)/dgv,patterns:[{include:"#quoted"}]},quoted:{patterns:[{include:"#string"},{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.section.expression.begin.scheme"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.section.expression.end.scheme"}},name:"meta.expression.scheme",patterns:[{include:"#quoted"}]},{include:"#quote"},{include:"#illegal"}]},sexp:{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.section.expression.begin.scheme"}},end:/(\))(\n)?/dgv,endCaptures:{"1":{name:"punctuation.section.expression.end.scheme"},"2":{name:"meta.after-expression.scheme"}},name:"meta.expression.scheme",patterns:[{include:"#comment"},{begin:/(?<=\()(define)\p{space}+(\()([\p{Alpha}\p{Nd}][\p{Alpha}\p{Nd}\!\$\%\&\*\+-\.\/\:\<\=\>\?\@\^_\~]*)((\p{space}+([\p{Alpha}\p{Nd}][\p{Alpha}\p{Nd}\!\$\%\&\*\+-\.\/\:\<\=\>\?\@\^_\~]*|[\._]))*)\p{space}*(\))/dgv,captures:{"1":{name:"keyword.control.scheme"},"2":{name:"punctuation.definition.function.scheme"},"3":{name:"entity.name.function.scheme"},"4":{name:"variable.parameter.function.scheme"},"7":{name:"punctuation.definition.function.scheme"}},end:/(?=\))/dgv,name:"meta.declaration.procedure.scheme",patterns:[{include:"#comment"},{include:"#sexp"},{include:"#illegal"}]},{begin:/(?<=\()(lambda)\p{space}+(\()((?:([\p{Alpha}\p{Nd}][\p{Alpha}\p{Nd}\!\$\%\&\*\+-\.\/\:\<\=\>\?\@\^_\~]*|[\._])\p{space}+)*(?:([\p{Alpha}\p{Nd}][\p{Alpha}\p{Nd}\!\$\%\&\*\+-\.\/\:\<\=\>\?\@\^_\~]*|[\._]))?)(\))/dgv,captures:{"1":{name:"keyword.control.scheme"},"2":{name:"punctuation.definition.variable.scheme"},"3":{name:"variable.parameter.scheme"},"6":{name:"punctuation.definition.variable.scheme"}},comment:"\n\t\t\t\t\t\tNot sure this one is quite correct. That \\s* is\n\t\t\t\t\t\tparticularly troubling\n\t\t\t\t\t",end:/(?=\))/dgv,name:"meta.declaration.procedure.scheme",patterns:[{include:"#comment"},{include:"#sexp"},{include:"#illegal"}]},{begin:/(?<=\()(define)\p{space}([\p{Alpha}\p{Nd}][\p{Alpha}\p{Nd}\!\$\%\&\*\+-\.\/\:\<\=\>\?\@\^_\~]*)\p{space}*[^\n]*?/dgv,captures:{"1":{name:"keyword.control.scheme"},"2":{name:"variable.other.scheme"}},end:/(?=\))/dgv,name:"meta.declaration.variable.scheme",patterns:[{include:"#comment"},{include:"#sexp"},{include:"#illegal"}]},{include:"#quote-sexp"},{include:"#quote"},{include:"#language-functions"},{include:"#string"},{include:"#constants"},{match:/(?<=[\(\p{space}])(#\\)(space|newline|tab)(?=[\p{space}\)])/dgv,name:"constant.character.named.scheme"},{match:/(?<=[\(\p{space}])(#\\)x[0-9A-F]{2,4}(?=[\p{space}\)])/dgv,name:"constant.character.hex-literal.scheme"},{match:/(?<=[\(\p{space}])(#\\)[^\n](?=[\p{space}\)])/dgv,name:"constant.character.escape.scheme"},{comment:"\n\t\t\t\t\t\tthe . in (a . b) which conses together two elements\n\t\t\t\t\t\ta and b. (a b c) == (a . (b . (c . nil)))\n\t\t\t\t\t",match:/(?<=[ \(\)])\.(?=[ \(\)])/dgv,name:"punctuation.separator.cons.scheme"},{include:"#sexp"},{include:"#illegal"}]},string:{begin:/(")/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.scheme"}},end:/(")/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.scheme"}},name:"string.quoted.double.scheme",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.scheme"}]}},scopeName:"source.scheme",embeddedLangs:undefined,aliases:undefined})
3
+ const lang = Object.freeze({displayName:"Scheme",fileTypes:["scm","ss","sch","rkt"],name:"scheme",patterns:[{include:"#comment"},{include:"#block-comment"},{include:"#sexp"},{include:"#string"},{include:"#language-functions"},{include:"#quote"},{include:"#illegal"}],repository:{"block-comment":{begin:/#\|/dgv,contentName:"comment",end:/\|#/dgv,name:"comment",patterns:[{include:"#block-comment",name:"comment"}]},comment:{begin:/(^[ \t]+)?(?=;)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.scheme"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/;/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.scheme"}},end:/\n/dgv,name:"comment.line.semicolon.scheme"}]},constants:{patterns:[{match:/#[t\|f]/dgv,name:"constant.language.boolean.scheme"},{match:/(?<=[\(\p{space}])((#e|#i)?[0-9]+(\.[0-9]+)?|(#x)[0-9a-fA-F]+|(#o)[0-7]+|(#b)[01]+)(?=[\p{space}\;\(\)'"\,\[\]])/dgv,name:"constant.numeric.scheme"}]},illegal:{match:/[\(\)\[\]]/dgv,name:"invalid.illegal.parenthesis.scheme"},"language-functions":{patterns:[{match:/(?<=(\p{space}|\(|\[))(do|or|and|else|quasiquote|begin|if|case|set!|cond|let|unquote|define|let\*|unquote-splicing|delay|letrec)(?=(\p{space}|\())/dgv,name:"keyword.control.scheme"},{match:/(?<=(\p{space}|\())(char-alphabetic|char-lower-case|char-numeric|char-ready|char-upper-case|char-whitespace|(?:char|string)(?:-ci)?(?:=|<=?|>=?)|atom|boolean|bound-identifier=|char|complex|identifier|integer|symbol|free-identifier=|inexact|eof-object|exact|list|(?:input|output)-port|pair|real|rational|zero|vector|negative|odd|null|string|eq|equal|eqv|even|number|positive|procedure)(\?)(?=(\p{space}|\())/dgv,name:"support.function.boolean-test.scheme"},{match:/(?<=(\p{space}|\())(char->integer|exact->inexact|inexact->exact|integer->char|symbol->string|list->vector|list->string|identifier->symbol|vector->list|string->list|string->number|string->symbol|number->string)(?=(\p{space}|\())/dgv,name:"support.function.convert-type.scheme"},{match:/(?<=(\p{space}|\())(set-(?:car|cdr)|(?:vector|string)-(?:fill|set))(!)(?=(\p{space}|\())/dgv,name:"support.function.with-side-effects.scheme"},{match:/(?<=(\p{space}|\())(>=?|<=?|=|[\*\/\+\-])(?=(\p{space}|\())/dgv,name:"keyword.operator.arithmetic.scheme"},{match:/(?<=(\p{space}|\())(append|apply|approximate|call-with-current-continuation|call\/cc|catch|construct-identifier|define-syntax|display|foo|for-each|force|format|cd|gen-counter|gen-loser|generate-identifier|last-pair|length|let-syntax|letrec-syntax|list|list-ref|list-tail|load|log|macro|magnitude|map|map-streams|max|member|memq|memv|min|newline|nil|not|peek-char|rationalize|read|read-char|return|reverse|sequence|substring|syntax|syntax-rules|transcript-off|transcript-on|truncate|unwrap-syntax|values-list|write|write-char|cons|c(a|d){1,4}r|abs|acos|angle|asin|assoc|assq|assv|atan|ceiling|cos|floor|round|sin|sqrt|tan|(?:real|imag)-part|numerator|denominatormodulo|exp|expt|remainder|quotient|lcm|call-with-(?:input|output)-file|(?:close|current)-(?:input|output)-port|with-(?:input|output)-from-file|open-(?:input|output)-file|char-(?:downcase|upcase|ready)|make-(?:polar|promise|rectangular|string|vector)string(?:-(?:append|copy|length|ref))?|vector(?:-length|-ref))(?=(\p{space}|\())/dgv,name:"support.function.general.scheme"}]},quote:{patterns:[{captures:{"1":{name:"punctuation.section.quoted.symbol.scheme"}},match:/(')\p{space}*([\p{Alpha}\p{Nd}][\p{Alpha}\p{Nd}\!\$\%\&\*\+-\.\/\:\<\=\>\?\@\^_\~]*)/dgv,name:"constant.other.symbol.scheme"},{captures:{"1":{name:"punctuation.section.quoted.empty-list.scheme"},"2":{name:"meta.expression.scheme"},"3":{name:"punctuation.section.expression.begin.scheme"},"4":{name:"punctuation.section.expression.end.scheme"}},match:/(')\p{space}*((\()\p{space}*(\)))/dgv,name:"constant.other.empty-list.schem"},{begin:/(')\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.section.quoted.scheme"}},end:/(?=[\p{space}\(\)])|(?<=\n)/dgv,name:"string.other.quoted-object.scheme",patterns:[{include:"#quoted"}]}]},"quote-sexp":{begin:/(?<=\()\p{space}*(quote)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.control.quote.scheme"}},contentName:"string.other.quote.scheme",end:/(?=[\p{space}\)])|(?<=\n)/dgv,patterns:[{include:"#quoted"}]},quoted:{patterns:[{include:"#string"},{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.section.expression.begin.scheme"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.section.expression.end.scheme"}},name:"meta.expression.scheme",patterns:[{include:"#quoted"}]},{include:"#quote"},{include:"#illegal"}]},sexp:{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.section.expression.begin.scheme"}},end:/(\))(\n)?/dgv,endCaptures:{"1":{name:"punctuation.section.expression.end.scheme"},"2":{name:"meta.after-expression.scheme"}},name:"meta.expression.scheme",patterns:[{include:"#comment"},{begin:/(?<=\()(define)\p{space}+(\()([\p{Alpha}\p{Nd}][\p{Alpha}\p{Nd}\!\$\%\&\*\+-\.\/\:\<\=\>\?\@\^_\~]*)((\p{space}+([\p{Alpha}\p{Nd}][\p{Alpha}\p{Nd}\!\$\%\&\*\+-\.\/\:\<\=\>\?\@\^_\~]*|[\._]))*)\p{space}*(\))/dgv,captures:{"1":{name:"keyword.control.scheme"},"2":{name:"punctuation.definition.function.scheme"},"3":{name:"entity.name.function.scheme"},"4":{name:"variable.parameter.function.scheme"},"7":{name:"punctuation.definition.function.scheme"}},end:/(?=\))/dgv,name:"meta.declaration.procedure.scheme",patterns:[{include:"#comment"},{include:"#sexp"},{include:"#illegal"}]},{begin:/(?<=\()(lambda)\p{space}+(\()((?:([\p{Alpha}\p{Nd}][\p{Alpha}\p{Nd}\!\$\%\&\*\+-\.\/\:\<\=\>\?\@\^_\~]*|[\._])\p{space}+)*(?:([\p{Alpha}\p{Nd}][\p{Alpha}\p{Nd}\!\$\%\&\*\+-\.\/\:\<\=\>\?\@\^_\~]*|[\._]))?)(\))/dgv,captures:{"1":{name:"keyword.control.scheme"},"2":{name:"punctuation.definition.variable.scheme"},"3":{name:"variable.parameter.scheme"},"6":{name:"punctuation.definition.variable.scheme"}},end:/(?=\))/dgv,name:"meta.declaration.procedure.scheme",patterns:[{include:"#comment"},{include:"#sexp"},{include:"#illegal"}]},{begin:/(?<=\()(define)\p{space}([\p{Alpha}\p{Nd}][\p{Alpha}\p{Nd}\!\$\%\&\*\+-\.\/\:\<\=\>\?\@\^_\~]*)\p{space}*[^\n]*?/dgv,captures:{"1":{name:"keyword.control.scheme"},"2":{name:"variable.other.scheme"}},end:/(?=\))/dgv,name:"meta.declaration.variable.scheme",patterns:[{include:"#comment"},{include:"#sexp"},{include:"#illegal"}]},{include:"#quote-sexp"},{include:"#quote"},{include:"#language-functions"},{include:"#string"},{include:"#constants"},{match:/(?<=[\(\p{space}])(#\\)(space|newline|tab)(?=[\p{space}\)])/dgv,name:"constant.character.named.scheme"},{match:/(?<=[\(\p{space}])(#\\)x[0-9A-F]{2,4}(?=[\p{space}\)])/dgv,name:"constant.character.hex-literal.scheme"},{match:/(?<=[\(\p{space}])(#\\)[^\n](?=[\p{space}\)])/dgv,name:"constant.character.escape.scheme"},{match:/(?<=[ \(\)])\.(?=[ \(\)])/dgv,name:"punctuation.separator.cons.scheme"},{include:"#sexp"},{include:"#illegal"}]},string:{begin:/(")/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.scheme"}},end:/(")/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.scheme"}},name:"string.quoted.double.scheme",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.scheme"}]}},scopeName:"source.scheme",embeddedLangs:undefined,aliases:undefined})
4
4
 
5
5
  export default [
6
6
  lang
package/dist/sdbl.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"1C (Query)",fileTypes:["sdbl","query"],firstLineMatch:/Выбрать|Select(\p{space}+Разрешенные|\p{space}+Allowed)?(\p{space}+Различные|\p{space}+Distinct)?(\p{space}+Первые|\p{space}+Top)?[^\n]*/dgiv,name:"sdbl",patterns:[{match:/(^\p{space}*\/\/[^\n]*(?=\n?$))/dgv,name:"comment.line.double-slash.sdbl"},{begin:/\/\//dgv,end:/(?=\n?$)/dgv,name:"comment.line.double-slash.sdbl"},{begin:/"/dgv,end:/"(?!["])/dgv,name:"string.quoted.double.sdbl",patterns:[{match:/""/dgv,name:"constant.character.escape.sdbl"},{match:/(^\p{space}*\/\/[^\n]*(?=\n?$))/dgv,name:"comment.line.double-slash.sdbl"}]},{match:/(?<=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|^)(Неопределено|Undefined|Истина|True|Ложь|False|NULL)(?=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|(?=\n?$))/dgiv,name:"constant.language.sdbl"},{match:/(?<=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|^)(\p{Nd}+\.?\p{Nd}*)(?=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|(?=\n?$))/dgv,name:"constant.numeric.sdbl"},{match:/(?<=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|^)(Выбор|Case|Когда|When|Тогда|Then|Иначе|Else|Конец|End)(?=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|(?=\n?$))/dgiv,name:"keyword.control.conditional.sdbl"},{match:/(?<!КАК\p{space}|AS\p{space})(?<=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|^)(НЕ|NOT|И|AND|ИЛИ|OR|В\p{space}+ИЕРАРХИИ|IN\p{space}+HIERARCHY|В|In|Между|Between|Есть(\p{space}+НЕ)?\p{space}+NULL|Is(\p{space}+NOT)?\p{space}+NULL|Ссылка|Refs|Подобно|Like)(?=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|(?=\n?$))/dgiv,name:"keyword.operator.logical.sdbl"},{match:/<=|>=|=|<|>/dgv,name:"keyword.operator.comparison.sdbl"},{match:/(\+|-|\*|\/|%)/dgv,name:"keyword.operator.arithmetic.sdbl"},{match:/(,|;)/dgv,name:"keyword.operator.sdbl"},{match:/(?<=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|^)(Выбрать|Select|Разрешенные|Allowed|Различные|Distinct|Первые|Top|Как|As|ПустаяТаблица|EmptyTable|Поместить|Into|Уничтожить|Drop|Из|From|((Левое|Left|Правое|Right|Полное|Full)\p{space}+(Внешнее\p{space}+|Outer\p{space}+)?Соединение|Join)|((Внутреннее|Inner)\p{space}+Соединение|Join)|Где|Where|(Сгруппировать\p{space}+По(\p{space}+Группирующим\p{space}+Наборам)?)|(Group\p{space}+By(\p{space}+Grouping\p{space}+Set)?)|Имеющие|Having|Объединить(\p{space}+Все)?|Union(\p{space}+All)?|(Упорядочить\p{space}+По)|(Order\p{space}+By)|Автоупорядочивание|Autoorder|Итоги|Totals|По(\p{space}+Общие)?|By(\p{space}+Overall)?|(Только\p{space}+)?Иерархия|(Only\p{space}+)?Hierarchy|Периодами|Periods|Индексировать|Index|Выразить|Cast|Возр|Asc|Убыв|Desc|Для\p{space}+Изменения|(For\p{space}+Update(\p{space}+Of)?)|Спецсимвол|Escape|СгруппированоПо|GroupedBy)(?=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|(?=\n?$))/dgiv,name:"keyword.control.sdbl"},{comment:"Функции языка запросов",match:/(?<=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|^)(Значение|Value|ДатаВремя|DateTime|Тип|Type)(?=\()/dgiv,name:"support.function.sdbl"},{comment:"Функции работы со строками",match:/(?<=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|^)(Подстрока|Substring|НРег|Lower|ВРег|Upper|Лев|Left|Прав|Right|ДлинаСтроки|StringLength|СтрНайти|StrFind|СтрЗаменить|StrReplace|СокрЛП|TrimAll|СокрЛ|TrimL|СокрП|TrimR)(?=\()/dgiv,name:"support.function.sdbl"},{comment:"Функции работы с датами",match:/(?<=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|^)(Год|Year|Квартал|Quarter|Месяц|Month|ДеньГода|DayOfYear|День|Day|Неделя|Week|ДеньНедели|Weekday|Час|Hour|Минута|Minute|Секунда|Second|НачалоПериода|BeginOfPeriod|КонецПериода|EndOfPeriod|ДобавитьКДате|DateAdd|РазностьДат|DateDiff|Полугодие|HalfYear|Декада|TenDays)(?=\()/dgiv,name:"support.function.sdbl"},{comment:"Функции работы с числами",match:/(?<=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|^)(ACOS|COS|ASIN|SIN|ATAN|TAN|EXP|POW|LOG|LOG10|Цел|Int|Окр|Round|SQRT)(?=\()/dgiv,name:"support.function.sdbl"},{comment:"Агрегатные функции",match:/(?<=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|^)(Сумма|Sum|Среднее|Avg|Минимум|Min|Максимум|Max|Количество|Count)(?=\()/dgiv,name:"support.function.sdbl"},{comment:"Прочие функции",match:/(?<=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|^)(ЕстьNULL|IsNULL|Представление|Presentation|ПредставлениеСсылки|RefPresentation|ТипЗначения|ValueType|АвтономерЗаписи|RecordAutoNumber|РазмерХранимыхДанных|StoredDataSize|УникальныйИдентификатор|UUID)(?=\()/dgiv,name:"support.function.sdbl"},{match:/(?<=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.])(Число|Number|Строка|String|Дата|Date|Булево|Boolean)(?=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|(?=\n?$))/dgiv,name:"support.type.sdbl"},{match:/(&[\p{L}\p{M}\p{N}\p{Pc}а-яё]+)/dgv,name:"variable.parameter.sdbl"}],scopeName:"source.sdbl",embeddedLangs:undefined,aliases:["1c-query"]})
1
+ const lang = Object.freeze({displayName:"1C (Query)",fileTypes:["sdbl","query"],firstLineMatch:/Выбрать|Select(\p{space}+Разрешенные|\p{space}+Allowed)?(\p{space}+Различные|\p{space}+Distinct)?(\p{space}+Первые|\p{space}+Top)?[^\n]*/dgiv,name:"sdbl",patterns:[{match:/(^\p{space}*\/\/[^\n]*(?=\n?$))/dgv,name:"comment.line.double-slash.sdbl"},{begin:/\/\//dgv,end:/(?=\n?$)/dgv,name:"comment.line.double-slash.sdbl"},{begin:/"/dgv,end:/"(?!["])/dgv,name:"string.quoted.double.sdbl",patterns:[{match:/""/dgv,name:"constant.character.escape.sdbl"},{match:/(^\p{space}*\/\/[^\n]*(?=\n?$))/dgv,name:"comment.line.double-slash.sdbl"}]},{match:/(?<=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|^)(Неопределено|Undefined|Истина|True|Ложь|False|NULL)(?=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|(?=\n?$))/dgiv,name:"constant.language.sdbl"},{match:/(?<=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|^)(\p{Nd}+\.?\p{Nd}*)(?=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|(?=\n?$))/dgv,name:"constant.numeric.sdbl"},{match:/(?<=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|^)(Выбор|Case|Когда|When|Тогда|Then|Иначе|Else|Конец|End)(?=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|(?=\n?$))/dgiv,name:"keyword.control.conditional.sdbl"},{match:/(?<!КАК\p{space}|AS\p{space})(?<=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|^)(НЕ|NOT|И|AND|ИЛИ|OR|В\p{space}+ИЕРАРХИИ|IN\p{space}+HIERARCHY|В|In|Между|Between|Есть(\p{space}+НЕ)?\p{space}+NULL|Is(\p{space}+NOT)?\p{space}+NULL|Ссылка|Refs|Подобно|Like)(?=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|(?=\n?$))/dgiv,name:"keyword.operator.logical.sdbl"},{match:/<=|>=|=|<|>/dgv,name:"keyword.operator.comparison.sdbl"},{match:/(\+|-|\*|\/|%)/dgv,name:"keyword.operator.arithmetic.sdbl"},{match:/(,|;)/dgv,name:"keyword.operator.sdbl"},{match:/(?<=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|^)(Выбрать|Select|Разрешенные|Allowed|Различные|Distinct|Первые|Top|Как|As|ПустаяТаблица|EmptyTable|Поместить|Into|Уничтожить|Drop|Из|From|((Левое|Left|Правое|Right|Полное|Full)\p{space}+(Внешнее\p{space}+|Outer\p{space}+)?Соединение|Join)|((Внутреннее|Inner)\p{space}+Соединение|Join)|Где|Where|(Сгруппировать\p{space}+По(\p{space}+Группирующим\p{space}+Наборам)?)|(Group\p{space}+By(\p{space}+Grouping\p{space}+Set)?)|Имеющие|Having|Объединить(\p{space}+Все)?|Union(\p{space}+All)?|(Упорядочить\p{space}+По)|(Order\p{space}+By)|Автоупорядочивание|Autoorder|Итоги|Totals|По(\p{space}+Общие)?|By(\p{space}+Overall)?|(Только\p{space}+)?Иерархия|(Only\p{space}+)?Hierarchy|Периодами|Periods|Индексировать|Index|Выразить|Cast|Возр|Asc|Убыв|Desc|Для\p{space}+Изменения|(For\p{space}+Update(\p{space}+Of)?)|Спецсимвол|Escape|СгруппированоПо|GroupedBy)(?=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|(?=\n?$))/dgiv,name:"keyword.control.sdbl"},{match:/(?<=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|^)(Значение|Value|ДатаВремя|DateTime|Тип|Type)(?=\()/dgiv,name:"support.function.sdbl"},{match:/(?<=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|^)(Подстрока|Substring|НРег|Lower|ВРег|Upper|Лев|Left|Прав|Right|ДлинаСтроки|StringLength|СтрНайти|StrFind|СтрЗаменить|StrReplace|СокрЛП|TrimAll|СокрЛ|TrimL|СокрП|TrimR)(?=\()/dgiv,name:"support.function.sdbl"},{match:/(?<=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|^)(Год|Year|Квартал|Quarter|Месяц|Month|ДеньГода|DayOfYear|День|Day|Неделя|Week|ДеньНедели|Weekday|Час|Hour|Минута|Minute|Секунда|Second|НачалоПериода|BeginOfPeriod|КонецПериода|EndOfPeriod|ДобавитьКДате|DateAdd|РазностьДат|DateDiff|Полугодие|HalfYear|Декада|TenDays)(?=\()/dgiv,name:"support.function.sdbl"},{match:/(?<=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|^)(ACOS|COS|ASIN|SIN|ATAN|TAN|EXP|POW|LOG|LOG10|Цел|Int|Окр|Round|SQRT)(?=\()/dgiv,name:"support.function.sdbl"},{match:/(?<=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|^)(Сумма|Sum|Среднее|Avg|Минимум|Min|Максимум|Max|Количество|Count)(?=\()/dgiv,name:"support.function.sdbl"},{match:/(?<=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|^)(ЕстьNULL|IsNULL|Представление|Presentation|ПредставлениеСсылки|RefPresentation|ТипЗначения|ValueType|АвтономерЗаписи|RecordAutoNumber|РазмерХранимыхДанных|StoredDataSize|УникальныйИдентификатор|UUID)(?=\()/dgiv,name:"support.function.sdbl"},{match:/(?<=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.])(Число|Number|Строка|String|Дата|Date|Булево|Boolean)(?=[^\p{L}\p{M}\p{N}\p{Pc}а-яё\.]|(?=\n?$))/dgiv,name:"support.type.sdbl"},{match:/(&[\p{L}\p{M}\p{N}\p{Pc}а-яё]+)/dgv,name:"variable.parameter.sdbl"}],scopeName:"source.sdbl",embeddedLangs:undefined,aliases:["1c-query"]})
2
2
 
3
3
  export default [
4
4
  lang
@@ -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"},{comment:"do we want a special rule for ( expr )?",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][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"]})
4
4
 
5
5
  export default [
6
6
  lang
@@ -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"},{comment:"Parse the variable declaration like: |a b c|",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"}]}},comment:"Parse the blocks like: [ :a :b | ...... ]",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"},{comment:"Fake reserved word -> main Smalltalk messages",match:/(?<!\.)\b(ensure|resume|retry|signal)\b(?![\?\!])/dgv,name:"keyword.control.smalltalk"},{comment:"Fake conditionals. Smalltalk Methods.",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"}},comment:"messages/methods",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"}},comment:"symbols",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"}],comment:"Array Constructor",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}]*(?:(?=([\\?\\!]))\\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})
4
4
 
5
5
  export default [
6
6
  lang
package/dist/splunk.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"Splunk Query Language",fileTypes:["splunk","spl"],name:"splunk",patterns:[{comment:"Splunk Built-in functions",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"},{comment:"Splunk Eval functions",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"},{comment:"Splunk Transforming functions",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"},{comment:"Splunk Macro Names",match:/(?<=`)[\p{L}\p{M}\p{N}\p{Pc}]+(?=\(|`)/dgv,name:"entity.name.function.splunk_search"},{comment:"Digits",match:/\b(\p{Nd}+)\b/dgv,name:"constant.numeric.splunk_search"},{comment:"Escape Characters",match:/(\\\\|\\\||\\\*|\\=)/dgv,name:"contant.character.escape.splunk_search"},{comment:"Splunk Operators",match:/(\|,)/dgv,name:"keyword.operator.splunk_search"},{comment:"Splunk Language Constants",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"},{comment:"Splunk Macro Parameters",match:/(?<=\(|,|[^\=]\p{space}{300})([^\(\)"\,\=]+)(?=\)|,)/dgv,name:"variable.parameter.splunk_search"},{comment:"Splunk Variables",match:/([\p{L}\p{M}\p{N}\p{Pc}\.]+)(\[\]|\{\})?([\p{space}]*)(?==)/dgv,name:"variable.splunk_search"},{comment:"Comparison or assignment",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