@shikijs/langs-precompiled 3.3.0 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/dist/abap.mjs +1 -1
  2. package/dist/ada.mjs +1 -1
  3. package/dist/angular-expression.mjs +1 -1
  4. package/dist/angular-ts.mjs +1 -1
  5. package/dist/applescript.mjs +1 -1
  6. package/dist/ara.mjs +1 -1
  7. package/dist/asciidoc.mjs +1 -1
  8. package/dist/astro.mjs +1 -1
  9. package/dist/awk.mjs +1 -1
  10. package/dist/ballerina.mjs +1 -1
  11. package/dist/bat.mjs +1 -1
  12. package/dist/blade.mjs +1 -1
  13. package/dist/c.mjs +1 -1
  14. package/dist/cadence.mjs +1 -1
  15. package/dist/clarity.mjs +1 -1
  16. package/dist/cmake.mjs +1 -1
  17. package/dist/cobol.mjs +1 -1
  18. package/dist/codeql.mjs +1 -1
  19. package/dist/coffee.mjs +1 -1
  20. package/dist/common-lisp.mjs +1 -1
  21. package/dist/coq.mjs +1 -1
  22. package/dist/cpp-macro.mjs +1 -1
  23. package/dist/cpp.mjs +1 -1
  24. package/dist/crystal.mjs +1 -1
  25. package/dist/css.mjs +1 -1
  26. package/dist/cypher.mjs +1 -1
  27. package/dist/d.mjs +1 -1
  28. package/dist/dax.mjs +1 -1
  29. package/dist/dream-maker.mjs +1 -1
  30. package/dist/elixir.mjs +1 -1
  31. package/dist/elm.mjs +1 -1
  32. package/dist/emacs-lisp.mjs +1 -1
  33. package/dist/erlang.mjs +1 -1
  34. package/dist/fennel.mjs +1 -1
  35. package/dist/fortran-free-form.mjs +1 -1
  36. package/dist/fsharp.mjs +1 -1
  37. package/dist/gdresource.mjs +1 -1
  38. package/dist/gdscript.mjs +1 -1
  39. package/dist/gherkin.mjs +1 -1
  40. package/dist/gleam.mjs +1 -1
  41. package/dist/glimmer-js.mjs +1 -1
  42. package/dist/glimmer-ts.mjs +1 -1
  43. package/dist/glsl.mjs +1 -1
  44. package/dist/gnuplot.mjs +1 -1
  45. package/dist/go.mjs +1 -1
  46. package/dist/groovy.mjs +1 -1
  47. package/dist/hack.mjs +1 -1
  48. package/dist/handlebars.mjs +1 -1
  49. package/dist/haxe.mjs +1 -1
  50. package/dist/hlsl.mjs +1 -1
  51. package/dist/html.mjs +1 -1
  52. package/dist/imba.mjs +1 -1
  53. package/dist/java.mjs +1 -1
  54. package/dist/javascript.mjs +1 -1
  55. package/dist/jinja.mjs +1 -1
  56. package/dist/jsonnet.mjs +1 -1
  57. package/dist/jsx.mjs +1 -1
  58. package/dist/julia.mjs +1 -1
  59. package/dist/kusto.mjs +1 -1
  60. package/dist/latex.mjs +1 -1
  61. package/dist/lean.mjs +1 -1
  62. package/dist/less.mjs +1 -1
  63. package/dist/liquid.mjs +1 -1
  64. package/dist/llvm.mjs +1 -1
  65. package/dist/log.mjs +1 -1
  66. package/dist/logo.mjs +1 -1
  67. package/dist/luau.mjs +1 -1
  68. package/dist/make.mjs +1 -1
  69. package/dist/markdown.mjs +1 -1
  70. package/dist/marko.mjs +1 -1
  71. package/dist/matlab.mjs +1 -1
  72. package/dist/mdc.mjs +1 -1
  73. package/dist/mdx.mjs +1 -1
  74. package/dist/mermaid.mjs +1 -1
  75. package/dist/mipsasm.mjs +1 -1
  76. package/dist/mojo.mjs +1 -1
  77. package/dist/nginx.mjs +1 -1
  78. package/dist/nim.mjs +1 -1
  79. package/dist/nix.mjs +1 -1
  80. package/dist/nushell.mjs +1 -1
  81. package/dist/objective-c.mjs +1 -1
  82. package/dist/objective-cpp.mjs +1 -1
  83. package/dist/ocaml.mjs +1 -1
  84. package/dist/pascal.mjs +1 -1
  85. package/dist/perl.mjs +1 -1
  86. package/dist/php.mjs +1 -1
  87. package/dist/plsql.mjs +1 -1
  88. package/dist/powershell.mjs +1 -1
  89. package/dist/prolog.mjs +1 -1
  90. package/dist/python.mjs +1 -1
  91. package/dist/qss.mjs +1 -1
  92. package/dist/r.mjs +1 -1
  93. package/dist/racket.mjs +1 -1
  94. package/dist/raku.mjs +1 -1
  95. package/dist/riscv.mjs +1 -1
  96. package/dist/ruby.mjs +1 -1
  97. package/dist/sas.mjs +1 -1
  98. package/dist/scheme.mjs +1 -1
  99. package/dist/shaderlab.mjs +1 -1
  100. package/dist/shellscript.mjs +1 -1
  101. package/dist/smalltalk.mjs +1 -3
  102. package/dist/splunk.mjs +1 -1
  103. package/dist/sql.mjs +1 -1
  104. package/dist/stata.mjs +1 -1
  105. package/dist/stylus.mjs +1 -1
  106. package/dist/svelte.mjs +1 -1
  107. package/dist/system-verilog.mjs +1 -1
  108. package/dist/systemd.mjs +1 -1
  109. package/dist/talonscript.mjs +1 -1
  110. package/dist/templ.mjs +1 -1
  111. package/dist/terraform.mjs +1 -1
  112. package/dist/tex.mjs +1 -1
  113. package/dist/toml.mjs +1 -1
  114. package/dist/tsx.mjs +1 -1
  115. package/dist/typescript.mjs +1 -1
  116. package/dist/typst.mjs +1 -1
  117. package/dist/v.mjs +1 -1
  118. package/dist/vala.mjs +1 -1
  119. package/dist/vb.mjs +1 -1
  120. package/dist/vhdl.mjs +1 -1
  121. package/dist/viml.mjs +1 -1
  122. package/dist/vyper.mjs +1 -1
  123. package/dist/wasm.mjs +1 -1
  124. package/dist/wikitext.mjs +1 -1
  125. package/dist/wolfram.mjs +1 -1
  126. package/dist/zenscript.mjs +1 -1
  127. package/package.json +4 -4
@@ -4,7 +4,7 @@ import css from './css.mjs'
4
4
  import javascript from './javascript.mjs'
5
5
  import html from './html.mjs'
6
6
 
7
- const lang = Object.freeze({displayName:"Glimmer TS",injections:{"L:source.gts -comment -(string -meta.embedded)":{patterns:[{include:"#main"}]}},name:"glimmer-ts",patterns:[{include:"#main"},{include:"source.ts"}],repository:{"as-keyword":{match:/\p{space}\b(as)\b(?=\p{space}\|)/dgv,name:"keyword.control",patterns:[]},"as-params":{begin:/(?<!\|)(\|)/dgv,beginCaptures:{"1":{name:"constant.other.symbol.begin.ember-handlebars"}},end:/(\|)(?!\|)/dgv,endCaptures:{"1":{name:"constant.other.symbol.end.ember-handlebars"}},name:"keyword.block-params.ember-handlebars",patterns:[{include:"#variable"}]},attention:{match:/@?(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|TEMP)\b/dgv,name:"storage.type.class.${1:/downcase}",patterns:[]},boolean:{captures:{"0":{name:"string.regexp"},"1":{name:"string.regexp"},"2":{name:"string.regexp"}},match:/true|false|undefined|null/dgv,patterns:[]},"component-tag":{begin:/(<\/?)(@|this[^\n])?([\-\$\.0-\:A-Z_a-z]+)\b/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag"},"2":{name:"support.function",patterns:[{match:/(@|this)/dgv,name:"variable.language"},{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]},"3":{name:"entity.name.type",patterns:[{include:"#glimmer-component-path"},{match:/([\$\:\@])/dgv,name:"markup.bold"}]}},end:/(\/?)(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag"},"2":{name:"punctuation.definition.tag"}},name:"meta.tag.any.ember-handlebars",patterns:[{include:"#tag-like-content"}]},digit:{captures:{"0":{name:"constant.numeric"},"1":{name:"constant.numeric"},"2":{name:"constant.numeric"}},match:/\p{Nd}*(\.)?\p{Nd}+/dgv,patterns:[]},entities:{patterns:[{captures:{"1":{name:"punctuation.definition.entity.html.ember-handlebars"},"3":{name:"punctuation.definition.entity.html.ember-handlebars"}},match:/(&)([0-9A-Za-z]+|#[0-9]+|#x\p{AHex}+)(;)/dgv,name:"constant.character.entity.html.ember-handlebars"},{match:/&/dgv,name:"invalid.illegal.bad-ampersand.html.ember-handlebars"}]},"glimmer-argument":{captures:{"1":{name:"entity.other.attribute-name.ember-handlebars.argument",patterns:[{match:/(@)/dgv,name:"markup.italic"}]},"2":{name:"punctuation.separator.key-value.html.ember-handlebars"}},match:/\p{space}(@[\-\.0-\:A-Z_a-z]+)(=)?/dgv},"glimmer-as-stuff":{patterns:[{include:"#as-keyword"},{include:"#as-params"}]},"glimmer-block":{begin:/(\{\{~?)([\#\/])(([\$\--9\@-Z_a-z]+))/dgv,captures:{"1":{name:"punctuation.definition.tag"},"2":{name:"punctuation.definition.tag"},"3":{name:"keyword.control",patterns:[{include:"#glimmer-component-path"},{match:/(\/)+/dgv,name:"punctuation.definition.tag"},{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]}},end:/(~?\}\})/dgv,name:"entity.expression.ember-handlebars",patterns:[{include:"#glimmer-as-stuff"},{include:"#glimmer-supexp-content"}]},"glimmer-bools":{captures:{"0":{name:"keyword.operator"},"1":{name:"keyword.operator"},"2":{name:"string.regexp"},"3":{name:"string.regexp"},"4":{name:"keyword.operator"}},match:/(\{\{~?)(true|false|null|undefined|\p{Nd}*(\.)?\p{Nd}+)(~?\}\})/dgv,name:"entity.expression.ember-handlebars"},"glimmer-comment-block":{begin:/\{\{!--/dgv,captures:{"0":{name:"punctuation.definition.block.comment.glimmer"}},end:/--\}\}/dgv,name:"comment.block.glimmer",patterns:[{include:"#script"},{include:"#attention"}]},"glimmer-comment-inline":{begin:/\{\{!/dgv,captures:{"0":{name:"punctuation.definition.block.comment.glimmer"}},end:/\}\}/dgv,name:"comment.inline.glimmer",patterns:[{include:"#script"},{include:"#attention"}]},"glimmer-component-path":{captures:{"1":{name:"punctuation.definition.tag"}},match:/(::|[\$\._])/dgv},"glimmer-control-expression":{begin:/(\{\{~?)(([\-\/-9A-Z_a-z]+)\p{space})/dgv,captures:{"1":{name:"keyword.operator"},"2":{name:"keyword.operator"},"3":{name:"keyword.control"}},end:/(~?\}\})/dgv,name:"entity.expression.ember-handlebars",patterns:[{include:"#glimmer-supexp-content"}]},"glimmer-else-block":{captures:{"0":{name:"punctuation.definition.tag"},"1":{name:"punctuation.definition.tag"},"2":{name:"keyword.control"},"3":{name:"keyword.control",patterns:[{include:"#glimmer-subexp"},{include:"#string-single-quoted-handlebars"},{include:"#string-double-quoted-handlebars"},{include:"#boolean"},{include:"#digit"},{include:"#param"},{include:"#glimmer-parameter-name"},{include:"#glimmer-parameter-value"}]},"4":{name:"punctuation.definition.tag"}},match:/(\{\{~?)(else(?:\p{space}[a-z]+\p{space}|))([\x08\(\)\.0-9\@-Za-z\p{space}]+)?(~?\}\})/dgv,name:"entity.expression.ember-handlebars"},"glimmer-expression":{begin:/(\{\{~?)(([\-\(\)\.0-9\@-Z_a-z\p{space}]+))/dgv,captures:{"1":{name:"keyword.operator"},"2":{name:"keyword.operator"},"3":{name:"support.function",patterns:[{match:/\(+/dgv,name:"string.regexp"},{match:/\)+/dgv,name:"string.regexp"},{match:/(\.)+/dgv,name:"punctuation.definition.tag"},{include:"#glimmer-supexp-content"}]}},end:/(~?\}\})/dgv,name:"entity.expression.ember-handlebars",patterns:[{include:"#glimmer-supexp-content"}]},"glimmer-expression-property":{begin:/(\{\{~?)((@|this[^\n])([\-\.0-9A-Z_a-z]+))/dgv,captures:{"1":{name:"keyword.operator"},"2":{name:"keyword.operator"},"3":{name:"support.function",patterns:[{match:/(@|this)/dgv,name:"variable.language"},{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]},"4":{name:"support.function",patterns:[{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]}},end:/(~?\}\})/dgv,name:"entity.expression.ember-handlebars",patterns:[{include:"#glimmer-supexp-content"}]},"glimmer-parameter-name":{captures:{"1":{name:"variable.parameter.name.ember-handlebars"},"2":{name:"punctuation.definition.expression.ember-handlebars"}},match:/\b([\-0-9A-Z_a-z]+)(\p{space}?=)/dgv,patterns:[]},"glimmer-parameter-value":{captures:{"1":{name:"support.function",patterns:[{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]}},match:/\b([\-\.0-\:A-Z_a-z]+)\b(?!=)/dgv,patterns:[]},"glimmer-special-block":{captures:{"0":{name:"keyword.operator"},"1":{name:"keyword.operator"},"2":{name:"keyword.control"},"3":{name:"keyword.operator"}},match:/(\{\{~?)(yield|outlet)(~?\}\})/dgv,name:"entity.expression.ember-handlebars"},"glimmer-subexp":{begin:/(\()([\-\.0-9\@-Za-z]+)/dgv,captures:{"1":{name:"keyword.other"},"2":{name:"keyword.control"}},end:/(\))/dgv,name:"entity.subexpression.ember-handlebars",patterns:[{include:"#glimmer-supexp-content"}]},"glimmer-supexp-content":{patterns:[{include:"#glimmer-subexp"},{include:"#string-single-quoted-handlebars"},{include:"#string-double-quoted-handlebars"},{include:"#boolean"},{include:"#digit"},{include:"#param"},{include:"#glimmer-parameter-name"},{include:"#glimmer-parameter-value"}]},"glimmer-unescaped-expression":{begin:/\{\{\{/dgv,captures:{"0":{name:"keyword.operator"}},end:/\}\}\}/dgv,name:"entity.unescaped.expression.ember-handlebars",patterns:[{include:"#string-single-quoted-handlebars"},{include:"#string-double-quoted-handlebars"},{include:"#glimmer-subexp"},{include:"#param"}]},"html-attribute":{captures:{"1":{name:"entity.other.attribute-name.ember-handlebars",patterns:[{match:/(\.\.\.attributes)/dgv,name:"markup.bold"}]},"2":{name:"punctuation.separator.key-value.html.ember-handlebars"}},match:/\p{space}([\-\.0-\:A-Z_a-z]+)(=)?/dgv},"html-comment":{begin:/<!--/dgv,captures:{"0":{name:"punctuation.definition.comment.html.ember-handlebars"}},end:/--\p{space}*>/dgv,name:"comment.block.html.ember-handlebars",patterns:[{include:"#attention"},{match:/--/dgv,name:"invalid.illegal.bad-comments-or-CDATA.html.ember-handlebars"}]},"html-tag":{begin:/(<\/?)([\-0-9a-z]+)(?![\.\:])\b/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag"},"2":{name:"entity.name.tag.html.ember-handlebars"}},end:/(\/?)(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag"},"2":{name:"punctuation.definition.tag"}},name:"meta.tag.any.ember-handlebars",patterns:[{include:"#tag-like-content"}]},main:{patterns:[{begin:/\p{space}*(<)(template)\p{space}*(>)/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.html"},"2":{name:"entity.name.tag.other.html"},"3":{name:"punctuation.definition.tag.html"}},end:/(<\/)(template)(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag.html"},"2":{name:"entity.name.tag.other.html"},"3":{name:"punctuation.definition.tag.html"}},name:"meta.js.embeddedTemplateWithoutArgs",patterns:[{include:"#style"},{include:"#script"},{include:"#glimmer-else-block"},{include:"#glimmer-bools"},{include:"#glimmer-special-block"},{include:"#glimmer-unescaped-expression"},{include:"#glimmer-comment-block"},{include:"#glimmer-comment-inline"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"},{include:"#html-tag"},{include:"#component-tag"},{include:"#html-comment"},{include:"#entities"}]},{begin:/(<)(template)/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.html"},"2":{name:"entity.name.tag.other.html"}},end:/(<\/)(template)(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag.html"},"2":{name:"entity.name.tag.other.html"},"3":{name:"punctuation.definition.tag.html"}},name:"meta.js.embeddedTemplateWithArgs",patterns:[{begin:/(?<=<template)/dgv,end:/(?=>)/dgv,patterns:[{include:"#tag-like-content"}]},{begin:/(>)/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.end.js"}},contentName:"meta.html.embedded.block",end:/(?=<\/template>)/dgv,patterns:[{include:"#style"},{include:"#script"},{include:"#glimmer-else-block"},{include:"#glimmer-bools"},{include:"#glimmer-special-block"},{include:"#glimmer-unescaped-expression"},{include:"#glimmer-comment-block"},{include:"#glimmer-comment-inline"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"},{include:"#html-tag"},{include:"#component-tag"},{include:"#html-comment"},{include:"#entities"}]}]},{begin:/\b((?:[\p{L}\p{M}\p{N}\p{Pc}]+\.)*h(?:bs|tml)\p{space}*)(`)/dgv,beginCaptures:{"1":{name:"entity.name.function.tagged-template.js"},"2":{name:"punctuation.definition.string.template.begin.js"}},contentName:"meta.embedded.block.html",end:/(`)/dgv,endCaptures:{"0":{name:"string.js"},"1":{name:"punctuation.definition.string.template.end.js"}},patterns:[{include:"source.ts#template-substitution-element"},{include:"#style"},{include:"#script"},{include:"#glimmer-else-block"},{include:"#glimmer-bools"},{include:"#glimmer-special-block"},{include:"#glimmer-unescaped-expression"},{include:"#glimmer-comment-block"},{include:"#glimmer-comment-inline"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"},{include:"#html-tag"},{include:"#component-tag"},{include:"#html-comment"},{include:"#entities"}]},{begin:/((createTemplate|hbs|html))(\()/dgv,beginCaptures:{"1":{name:"entity.name.function.ts"},"2":{name:"meta.function-call.ts"},"3":{name:"meta.brace.round.ts"}},contentName:"meta.embedded.block.html",end:/(\))/dgv,endCaptures:{"1":{name:"meta.brace.round.ts"}},patterns:[{begin:/((["'\`]))/dgv,beginCaptures:{"1":{name:"string.template.ts"},"2":{name:"punctuation.definition.string.template.begin.ts"}},end:/((["'\`]))/dgv,endCaptures:{"1":{name:"string.template.ts"},"2":{name:"punctuation.definition.string.template.end.ts"}},patterns:[{include:"#style"},{include:"#script"},{include:"#glimmer-else-block"},{include:"#glimmer-bools"},{include:"#glimmer-special-block"},{include:"#glimmer-unescaped-expression"},{include:"#glimmer-comment-block"},{include:"#glimmer-comment-inline"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"},{include:"#html-tag"},{include:"#component-tag"},{include:"#html-comment"},{include:"#entities"}]}]},{begin:/((precompileTemplate)\p{space}*)(\()/dgv,beginCaptures:{"1":{name:"entity.name.function.ts"},"2":{name:"meta.function-call.ts"},"3":{name:"meta.brace.round.ts"}},end:/(\))/dgv,endCaptures:{"1":{name:"meta.brace.round.ts"}},patterns:[{begin:/((["'\`]))/dgv,beginCaptures:{"1":{name:"string.template.ts"},"2":{name:"punctuation.definition.string.template.begin.ts"}},contentName:"meta.embedded.block.html",end:/((["'\`]))/dgv,endCaptures:{"1":{name:"string.template.ts"},"2":{name:"punctuation.definition.string.template.end.ts"}},patterns:[{include:"#style"},{include:"#script"},{include:"#glimmer-else-block"},{include:"#glimmer-bools"},{include:"#glimmer-special-block"},{include:"#glimmer-unescaped-expression"},{include:"#glimmer-comment-block"},{include:"#glimmer-comment-inline"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"},{include:"#html-tag"},{include:"#component-tag"},{include:"#html-comment"},{include:"#entities"}]},{include:"source.ts#object-literal"},{include:"source.ts"}]}]},param:{captures:{"0":{name:"support.function",patterns:[{match:/(@|this)/dgv,name:"variable.language"},{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]},"1":{name:"support.function",patterns:[{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]}},match:/(@|this[^\n])([\-\.0-9A-Z_a-z]+)/dgv,patterns:[]},script:{begin:/(^[\t ]+)?(?=<script\b(?!-))/dgiv,beginCaptures:{"1":{name:"punctuation.whitespace.embedded.leading.html"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)([\\t ]*(?=\\n?$)\\n?)?","dgv",{"strategy":"clip_search"}),endCaptures:{"1":{name:"punctuation.whitespace.embedded.trailing.html"}},patterns:[{begin:/(<)(script)\b/dgiv,beginCaptures:{"0":{name:"meta.tag.metadata.script.start.html"},"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"entity.name.tag.html"}},end:/(\/)(script)(>)/dgiv,endCaptures:{"0":{name:"meta.tag.metadata.script.end.html"},"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"entity.name.tag.html"},"3":{name:"punctuation.definition.tag.end.html"}},name:"meta.embedded.block.html",patterns:[{begin:/(?:)/dgv,end:/(?=\/)/dgv,patterns:[{begin:/(>)/dgv,beginCaptures:{"0":{name:"meta.tag.metadata.script.start.html"},"1":{name:"punctuation.definition.tag.end.html"}},end:/((<))(?=\/script)/dgiv,endCaptures:{"0":{name:"meta.tag.metadata.script.end.html"},"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"source.js-ignored-vscode"}},patterns:[{begin:/(?:)/dgv,end:/(?=<\/script)/dgiv,name:"source.js",patterns:[{begin:/(^[\t ]+)?(?=\/\/)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.js"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.js"}},end:/(?=<\/script)|\n/dgv,name:"comment.line.double-slash.js"}]},{begin:/\/\*/dgv,captures:{"0":{name:"punctuation.definition.comment.js"}},end:/\*\/|(?=<\/script)/dgv,name:"comment.block.js"},{include:"source.js"}]}]},{begin:/(?=type\p{space}*=\p{space}*(["']|)text\/(x-handlebars|(x-(handlebars-)?|ng-)?template|html)["'\>\p{space}])/dgiv,end:/((<))(?=\/script)/dgiv,endCaptures:{"0":{name:"meta.tag.metadata.script.end.html"},"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"text.html.basic"}},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),end:/(?=<\/script)/dgiv,name:"text.html.basic",patterns:[{include:"text.html.basic"}]}]},{begin:/(?=type)/dgiv,end:/(<)(?=\/script)/dgiv,endCaptures:{"0":{name:"meta.tag.metadata.script.end.html"},"1":{name:"punctuation.definition.tag.begin.html"}}},{include:"#string-double-quoted-html"},{include:"#string-single-quoted-html"},{include:"#glimmer-argument"},{include:"#html-attribute"}]}]}]},"string-double-quoted-handlebars":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ember-handlebars"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ember-handlebars"}},name:"string.quoted.double.ember-handlebars",patterns:[{match:/\\"/dgv,name:"constant.character.escape.ember-handlebars"}]},"string-double-quoted-html":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ember-handlebars"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ember-handlebars"}},name:"string.quoted.double.html.ember-handlebars",patterns:[{match:/\\"/dgv,name:"constant.character.escape.ember-handlebars"},{include:"#glimmer-bools"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"}]},"string-single-quoted-handlebars":{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ember-handlebars"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ember-handlebars"}},name:"string.quoted.single.ember-handlebars",patterns:[{match:/\\'/dgv,name:"constant.character.escape.ember-handlebars"}]},"string-single-quoted-html":{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ember-handlebars"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ember-handlebars"}},name:"string.quoted.single.html.ember-handlebars",patterns:[{match:/\\'/dgv,name:"constant.character.escape.ember-handlebars"},{include:"#glimmer-bools"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"}]},style:{begin:/(^[\t ]+)?(?=<style\b(?!-))/dgiv,beginCaptures:{"1":{name:"punctuation.whitespace.embedded.leading.html"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)([\\t ]*(?=\\n?$)\\n?)?","dgv",{"strategy":"clip_search"}),endCaptures:{"1":{name:"punctuation.whitespace.embedded.trailing.html"}},patterns:[{begin:/(<)(style)(?=\p{space}|\/?>)/dgiv,beginCaptures:{"0":{name:"meta.tag.metadata.style.start.html"},"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"entity.name.tag.html"}},end:/((<)\/)(style)\p{space}*(>)/dgiv,endCaptures:{"0":{name:"meta.tag.metadata.style.end.html"},"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"source.css-ignored-vscode"},"3":{name:"entity.name.tag.html"},"4":{name:"punctuation.definition.tag.end.html"}},name:"meta.embedded.block.html",patterns:[{begin:/(?:)/dgv,captures:{"1":{name:"punctuation.definition.tag.end.html"}},end:/(>)/dgv,name:"meta.tag.metadata.style.start.html",patterns:[{include:"#glimmer-argument"},{include:"#html-attribute"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),end:/(?=<\/style)/dgiv,name:"source.css",patterns:[{include:"source.css"}]}]}]},"tag-like-content":{patterns:[{include:"#glimmer-bools"},{include:"#glimmer-unescaped-expression"},{include:"#glimmer-comment-block"},{include:"#glimmer-comment-inline"},{include:"#glimmer-expression-property"},{include:"#boolean"},{include:"#digit"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"},{include:"#string-double-quoted-html"},{include:"#string-single-quoted-html"},{include:"#glimmer-as-stuff"},{include:"#glimmer-argument"},{include:"#html-attribute"}]},variable:{match:/\b([\-0-9A-Z_a-z]+)\b/dgv,name:"support.function",patterns:[]}},scopeName:"source.gts",embeddedLangs:["typescript","css","javascript","html"],aliases:["gts"]})
7
+ const lang = Object.freeze({displayName:"Glimmer TS",injections:{"L:source.gts -comment -(string -meta.embedded)":{patterns:[{include:"#main"}]}},name:"glimmer-ts",patterns:[{include:"#main"},{include:"source.ts"}],repository:{"as-keyword":{match:/\p{space}\b(as)\b(?=\p{space}\|)/dgv,name:"keyword.control",patterns:[]},"as-params":{begin:/(?<!\|)(\|)/dgv,beginCaptures:{"1":{name:"constant.other.symbol.begin.ember-handlebars"}},end:/(\|)(?!\|)/dgv,endCaptures:{"1":{name:"constant.other.symbol.end.ember-handlebars"}},name:"keyword.block-params.ember-handlebars",patterns:[{include:"#variable"}]},attention:{match:/@?(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|TEMP)\b/dgv,name:"storage.type.class.${1:/downcase}",patterns:[]},boolean:{captures:{"0":{name:"string.regexp"},"1":{name:"string.regexp"},"2":{name:"string.regexp"}},match:/true|false|undefined|null/dgv,patterns:[]},"component-tag":{begin:/(<\/?)(@|this[^\n])?([\-\$\.0-\:A-Z_a-z]+)\b/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag"},"2":{name:"support.function",patterns:[{match:/(@|this)/dgv,name:"variable.language"},{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]},"3":{name:"entity.name.type",patterns:[{include:"#glimmer-component-path"},{match:/([\$\:\@])/dgv,name:"markup.bold"}]}},end:/(\/?)(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag"},"2":{name:"punctuation.definition.tag"}},name:"meta.tag.any.ember-handlebars",patterns:[{include:"#tag-like-content"}]},digit:{captures:{"0":{name:"constant.numeric"},"1":{name:"constant.numeric"},"2":{name:"constant.numeric"}},match:/\p{Nd}*(\.)?\p{Nd}+/dgv,patterns:[]},entities:{patterns:[{captures:{"1":{name:"punctuation.definition.entity.html.ember-handlebars"},"3":{name:"punctuation.definition.entity.html.ember-handlebars"}},match:/(&)([0-9A-Za-z]+|#[0-9]+|#x\p{AHex}+)(;)/dgv,name:"constant.character.entity.html.ember-handlebars"},{match:/&/dgv,name:"invalid.illegal.bad-ampersand.html.ember-handlebars"}]},"glimmer-argument":{captures:{"1":{name:"entity.other.attribute-name.ember-handlebars.argument",patterns:[{match:/(@)/dgv,name:"markup.italic"}]},"2":{name:"punctuation.separator.key-value.html.ember-handlebars"}},match:/\p{space}(@[\-\.0-\:A-Z_a-z]+)(=)?/dgv},"glimmer-as-stuff":{patterns:[{include:"#as-keyword"},{include:"#as-params"}]},"glimmer-block":{begin:/(\{\{~?)([\#\/])(([\$\--9\@-Z_a-z]+))/dgv,captures:{"1":{name:"punctuation.definition.tag"},"2":{name:"punctuation.definition.tag"},"3":{name:"keyword.control",patterns:[{include:"#glimmer-component-path"},{match:/(\/)+/dgv,name:"punctuation.definition.tag"},{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]}},end:/(~?\}\})/dgv,name:"entity.expression.ember-handlebars",patterns:[{include:"#glimmer-as-stuff"},{include:"#glimmer-supexp-content"}]},"glimmer-bools":{captures:{"0":{name:"keyword.operator"},"1":{name:"keyword.operator"},"2":{name:"string.regexp"},"3":{name:"string.regexp"},"4":{name:"keyword.operator"}},match:/(\{\{~?)(true|false|null|undefined|\p{Nd}*(\.)?\p{Nd}+)(~?\}\})/dgv,name:"entity.expression.ember-handlebars"},"glimmer-comment-block":{begin:/\{\{!--/dgv,captures:{"0":{name:"punctuation.definition.block.comment.glimmer"}},end:/--\}\}/dgv,name:"comment.block.glimmer",patterns:[{include:"#script"},{include:"#attention"}]},"glimmer-comment-inline":{begin:/\{\{!/dgv,captures:{"0":{name:"punctuation.definition.block.comment.glimmer"}},end:/\}\}/dgv,name:"comment.inline.glimmer",patterns:[{include:"#script"},{include:"#attention"}]},"glimmer-component-path":{captures:{"1":{name:"punctuation.definition.tag"}},match:/(::|[\$\._])/dgv},"glimmer-control-expression":{begin:/(\{\{~?)(([\-\/-9A-Z_a-z]+)\p{space})/dgv,captures:{"1":{name:"keyword.operator"},"2":{name:"keyword.operator"},"3":{name:"keyword.control"}},end:/(~?\}\})/dgv,name:"entity.expression.ember-handlebars",patterns:[{include:"#glimmer-supexp-content"}]},"glimmer-else-block":{captures:{"0":{name:"punctuation.definition.tag"},"1":{name:"punctuation.definition.tag"},"2":{name:"keyword.control"},"3":{name:"keyword.control",patterns:[{include:"#glimmer-subexp"},{include:"#string-single-quoted-handlebars"},{include:"#string-double-quoted-handlebars"},{include:"#boolean"},{include:"#digit"},{include:"#param"},{include:"#glimmer-parameter-name"},{include:"#glimmer-parameter-value"}]},"4":{name:"punctuation.definition.tag"}},match:/(\{\{~?)(else(?:\p{space}[a-z]+\p{space}|))([\x08\(\)\.0-9\@-Za-z\p{space}]+)?(~?\}\})/dgv,name:"entity.expression.ember-handlebars"},"glimmer-expression":{begin:/(\{\{~?)(([\-\(\)\.0-9\@-Z_a-z\p{space}]+))/dgv,captures:{"1":{name:"keyword.operator"},"2":{name:"keyword.operator"},"3":{name:"support.function",patterns:[{match:/\(+/dgv,name:"string.regexp"},{match:/\)+/dgv,name:"string.regexp"},{match:/(\.)+/dgv,name:"punctuation.definition.tag"},{include:"#glimmer-supexp-content"}]}},end:/(~?\}\})/dgv,name:"entity.expression.ember-handlebars",patterns:[{include:"#glimmer-supexp-content"}]},"glimmer-expression-property":{begin:/(\{\{~?)((@|this[^\n])([\-\.0-9A-Z_a-z]+))/dgv,captures:{"1":{name:"keyword.operator"},"2":{name:"keyword.operator"},"3":{name:"support.function",patterns:[{match:/(@|this)/dgv,name:"variable.language"},{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]},"4":{name:"support.function",patterns:[{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]}},end:/(~?\}\})/dgv,name:"entity.expression.ember-handlebars",patterns:[{include:"#glimmer-supexp-content"}]},"glimmer-parameter-name":{captures:{"1":{name:"variable.parameter.name.ember-handlebars"},"2":{name:"punctuation.definition.expression.ember-handlebars"}},match:/\b([\-0-9A-Z_a-z]+)(\p{space}?=)/dgv,patterns:[]},"glimmer-parameter-value":{captures:{"1":{name:"support.function",patterns:[{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]}},match:/\b([\-\.0-\:A-Z_a-z]+)\b(?!=)/dgv,patterns:[]},"glimmer-special-block":{captures:{"0":{name:"keyword.operator"},"1":{name:"keyword.operator"},"2":{name:"keyword.control"},"3":{name:"keyword.operator"}},match:/(\{\{~?)(yield|outlet)(~?\}\})/dgv,name:"entity.expression.ember-handlebars"},"glimmer-subexp":{begin:/(\()([\-\.0-9\@-Za-z]+)/dgv,captures:{"1":{name:"keyword.other"},"2":{name:"keyword.control"}},end:/(\))/dgv,name:"entity.subexpression.ember-handlebars",patterns:[{include:"#glimmer-supexp-content"}]},"glimmer-supexp-content":{patterns:[{include:"#glimmer-subexp"},{include:"#string-single-quoted-handlebars"},{include:"#string-double-quoted-handlebars"},{include:"#boolean"},{include:"#digit"},{include:"#param"},{include:"#glimmer-parameter-name"},{include:"#glimmer-parameter-value"}]},"glimmer-unescaped-expression":{begin:/\{\{\{/dgv,captures:{"0":{name:"keyword.operator"}},end:/\}\}\}/dgv,name:"entity.unescaped.expression.ember-handlebars",patterns:[{include:"#string-single-quoted-handlebars"},{include:"#string-double-quoted-handlebars"},{include:"#glimmer-subexp"},{include:"#param"}]},"html-attribute":{captures:{"1":{name:"entity.other.attribute-name.ember-handlebars",patterns:[{match:/(\.\.\.attributes)/dgv,name:"markup.bold"}]},"2":{name:"punctuation.separator.key-value.html.ember-handlebars"}},match:/\p{space}([\-\.0-\:A-Z_a-z]+)(=)?/dgv},"html-comment":{begin:/<!--/dgv,captures:{"0":{name:"punctuation.definition.comment.html.ember-handlebars"}},end:/--\p{space}*>/dgv,name:"comment.block.html.ember-handlebars",patterns:[{include:"#attention"},{match:/--/dgv,name:"invalid.illegal.bad-comments-or-CDATA.html.ember-handlebars"}]},"html-tag":{begin:/(<\/?)([\-0-9a-z]+)(?![\.\:])\b/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag"},"2":{name:"entity.name.tag.html.ember-handlebars"}},end:/(\/?)(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag"},"2":{name:"punctuation.definition.tag"}},name:"meta.tag.any.ember-handlebars",patterns:[{include:"#tag-like-content"}]},main:{patterns:[{begin:/\p{space}*(<)(template)\p{space}*(>)/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.html"},"2":{name:"entity.name.tag.other.html"},"3":{name:"punctuation.definition.tag.html"}},end:/(<\/)(template)(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag.html"},"2":{name:"entity.name.tag.other.html"},"3":{name:"punctuation.definition.tag.html"}},name:"meta.js.embeddedTemplateWithoutArgs",patterns:[{include:"#style"},{include:"#script"},{include:"#glimmer-else-block"},{include:"#glimmer-bools"},{include:"#glimmer-special-block"},{include:"#glimmer-unescaped-expression"},{include:"#glimmer-comment-block"},{include:"#glimmer-comment-inline"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"},{include:"#html-tag"},{include:"#component-tag"},{include:"#html-comment"},{include:"#entities"}]},{begin:/(<)(template)/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.html"},"2":{name:"entity.name.tag.other.html"}},end:/(<\/)(template)(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag.html"},"2":{name:"entity.name.tag.other.html"},"3":{name:"punctuation.definition.tag.html"}},name:"meta.js.embeddedTemplateWithArgs",patterns:[{begin:/(?<=<template)/dgv,end:/(?=>)/dgv,patterns:[{include:"#tag-like-content"}]},{begin:/(>)/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.end.js"}},contentName:"meta.html.embedded.block",end:/(?=<\/template>)/dgv,patterns:[{include:"#style"},{include:"#script"},{include:"#glimmer-else-block"},{include:"#glimmer-bools"},{include:"#glimmer-special-block"},{include:"#glimmer-unescaped-expression"},{include:"#glimmer-comment-block"},{include:"#glimmer-comment-inline"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"},{include:"#html-tag"},{include:"#component-tag"},{include:"#html-comment"},{include:"#entities"}]}]},{begin:/\b((?:[\p{L}\p{M}\p{N}\p{Pc}]+\.)*h(?:bs|tml)\p{space}*)(`)/dgv,beginCaptures:{"1":{name:"entity.name.function.tagged-template.js"},"2":{name:"punctuation.definition.string.template.begin.js"}},contentName:"meta.embedded.block.html",end:/(`)/dgv,endCaptures:{"0":{name:"string.js"},"1":{name:"punctuation.definition.string.template.end.js"}},patterns:[{include:"source.ts#template-substitution-element"},{include:"#style"},{include:"#script"},{include:"#glimmer-else-block"},{include:"#glimmer-bools"},{include:"#glimmer-special-block"},{include:"#glimmer-unescaped-expression"},{include:"#glimmer-comment-block"},{include:"#glimmer-comment-inline"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"},{include:"#html-tag"},{include:"#component-tag"},{include:"#html-comment"},{include:"#entities"}]},{begin:/((createTemplate|hbs|html))(\()/dgv,beginCaptures:{"1":{name:"entity.name.function.ts"},"2":{name:"meta.function-call.ts"},"3":{name:"meta.brace.round.ts"}},contentName:"meta.embedded.block.html",end:/(\))/dgv,endCaptures:{"1":{name:"meta.brace.round.ts"}},patterns:[{begin:/((["'\`]))/dgv,beginCaptures:{"1":{name:"string.template.ts"},"2":{name:"punctuation.definition.string.template.begin.ts"}},end:/((["'\`]))/dgv,endCaptures:{"1":{name:"string.template.ts"},"2":{name:"punctuation.definition.string.template.end.ts"}},patterns:[{include:"#style"},{include:"#script"},{include:"#glimmer-else-block"},{include:"#glimmer-bools"},{include:"#glimmer-special-block"},{include:"#glimmer-unescaped-expression"},{include:"#glimmer-comment-block"},{include:"#glimmer-comment-inline"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"},{include:"#html-tag"},{include:"#component-tag"},{include:"#html-comment"},{include:"#entities"}]}]},{begin:/((precompileTemplate)\p{space}*)(\()/dgv,beginCaptures:{"1":{name:"entity.name.function.ts"},"2":{name:"meta.function-call.ts"},"3":{name:"meta.brace.round.ts"}},end:/(\))/dgv,endCaptures:{"1":{name:"meta.brace.round.ts"}},patterns:[{begin:/((["'\`]))/dgv,beginCaptures:{"1":{name:"string.template.ts"},"2":{name:"punctuation.definition.string.template.begin.ts"}},contentName:"meta.embedded.block.html",end:/((["'\`]))/dgv,endCaptures:{"1":{name:"string.template.ts"},"2":{name:"punctuation.definition.string.template.end.ts"}},patterns:[{include:"#style"},{include:"#script"},{include:"#glimmer-else-block"},{include:"#glimmer-bools"},{include:"#glimmer-special-block"},{include:"#glimmer-unescaped-expression"},{include:"#glimmer-comment-block"},{include:"#glimmer-comment-inline"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"},{include:"#html-tag"},{include:"#component-tag"},{include:"#html-comment"},{include:"#entities"}]},{include:"source.ts#object-literal"},{include:"source.ts"}]}]},param:{captures:{"0":{name:"support.function",patterns:[{match:/(@|this)/dgv,name:"variable.language"},{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]},"1":{name:"support.function",patterns:[{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]}},match:/(@|this[^\n])([\-\.0-9A-Z_a-z]+)/dgv,patterns:[]},script:{begin:/(^[\t ]+)?(?=<script\b(?!-))/dgiv,beginCaptures:{"1":{name:"punctuation.whitespace.embedded.leading.html"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)([\\t ]*(?=\\n?$)\\n?)?","dgv",{"strategy":"clip_search"}),endCaptures:{"1":{name:"punctuation.whitespace.embedded.trailing.html"}},patterns:[{begin:/(<)(script)\b/dgiv,beginCaptures:{"0":{name:"meta.tag.metadata.script.start.html"},"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"entity.name.tag.html"}},end:/(\/)(script)(>)/dgiv,endCaptures:{"0":{name:"meta.tag.metadata.script.end.html"},"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"entity.name.tag.html"},"3":{name:"punctuation.definition.tag.end.html"}},name:"meta.embedded.block.html",patterns:[{begin:/(?:)/dgv,end:/(?=\/)/dgv,patterns:[{begin:/(>)/dgv,beginCaptures:{"0":{name:"meta.tag.metadata.script.start.html"},"1":{name:"punctuation.definition.tag.end.html"}},end:/((<))(?=\/script)/dgiv,endCaptures:{"0":{name:"meta.tag.metadata.script.end.html"},"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"source.js-ignored-vscode"}},patterns:[{begin:/(?:)/dgv,end:/(?=<\/script)/dgiv,name:"source.js",patterns:[{begin:/(^[\t ]+)?(?=\/\/)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.js"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.js"}},end:/(?=<\/script)|\n/dgv,name:"comment.line.double-slash.js"}]},{begin:/\/\*/dgv,captures:{"0":{name:"punctuation.definition.comment.js"}},end:/\*\/|(?=<\/script)/dgv,name:"comment.block.js"},{include:"source.js"}]}]},{begin:/(?=type\p{space}*=\p{space}*(["']?)text\/(x-handlebars|(x-(handlebars-)?|ng-)?template|html)["'\>\p{space}])/dgiv,end:/((<))(?=\/script)/dgiv,endCaptures:{"0":{name:"meta.tag.metadata.script.end.html"},"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"text.html.basic"}},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),end:/(?=<\/script)/dgiv,name:"text.html.basic",patterns:[{include:"text.html.basic"}]}]},{begin:/(?=type)/dgiv,end:/(<)(?=\/script)/dgiv,endCaptures:{"0":{name:"meta.tag.metadata.script.end.html"},"1":{name:"punctuation.definition.tag.begin.html"}}},{include:"#string-double-quoted-html"},{include:"#string-single-quoted-html"},{include:"#glimmer-argument"},{include:"#html-attribute"}]}]}]},"string-double-quoted-handlebars":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ember-handlebars"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ember-handlebars"}},name:"string.quoted.double.ember-handlebars",patterns:[{match:/\\"/dgv,name:"constant.character.escape.ember-handlebars"}]},"string-double-quoted-html":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ember-handlebars"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ember-handlebars"}},name:"string.quoted.double.html.ember-handlebars",patterns:[{match:/\\"/dgv,name:"constant.character.escape.ember-handlebars"},{include:"#glimmer-bools"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"}]},"string-single-quoted-handlebars":{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ember-handlebars"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ember-handlebars"}},name:"string.quoted.single.ember-handlebars",patterns:[{match:/\\'/dgv,name:"constant.character.escape.ember-handlebars"}]},"string-single-quoted-html":{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ember-handlebars"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ember-handlebars"}},name:"string.quoted.single.html.ember-handlebars",patterns:[{match:/\\'/dgv,name:"constant.character.escape.ember-handlebars"},{include:"#glimmer-bools"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"}]},style:{begin:/(^[\t ]+)?(?=<style\b(?!-))/dgiv,beginCaptures:{"1":{name:"punctuation.whitespace.embedded.leading.html"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)([\\t ]*(?=\\n?$)\\n?)?","dgv",{"strategy":"clip_search"}),endCaptures:{"1":{name:"punctuation.whitespace.embedded.trailing.html"}},patterns:[{begin:/(<)(style)(?=\p{space}|\/?>)/dgiv,beginCaptures:{"0":{name:"meta.tag.metadata.style.start.html"},"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"entity.name.tag.html"}},end:/((<)\/)(style)\p{space}*(>)/dgiv,endCaptures:{"0":{name:"meta.tag.metadata.style.end.html"},"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"source.css-ignored-vscode"},"3":{name:"entity.name.tag.html"},"4":{name:"punctuation.definition.tag.end.html"}},name:"meta.embedded.block.html",patterns:[{begin:/(?:)/dgv,captures:{"1":{name:"punctuation.definition.tag.end.html"}},end:/(>)/dgv,name:"meta.tag.metadata.style.start.html",patterns:[{include:"#glimmer-argument"},{include:"#html-attribute"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),end:/(?=<\/style)/dgiv,name:"source.css",patterns:[{include:"source.css"}]}]}]},"tag-like-content":{patterns:[{include:"#glimmer-bools"},{include:"#glimmer-unescaped-expression"},{include:"#glimmer-comment-block"},{include:"#glimmer-comment-inline"},{include:"#glimmer-expression-property"},{include:"#boolean"},{include:"#digit"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"},{include:"#string-double-quoted-html"},{include:"#string-single-quoted-html"},{include:"#glimmer-as-stuff"},{include:"#glimmer-argument"},{include:"#html-attribute"}]},variable:{match:/\b([\-0-9A-Z_a-z]+)\b/dgv,name:"support.function",patterns:[]}},scopeName:"source.gts",embeddedLangs:["typescript","css","javascript","html"],aliases:["gts"]})
8
8
 
9
9
  export default [
10
10
  ...typescript,
package/dist/glsl.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import c from './c.mjs'
2
2
 
3
- const lang = Object.freeze({displayName:"GLSL",fileTypes:["vs","fs","gs","vsh","fsh","gsh","vshader","fshader","gshader","vert","frag","geom","f.glsl","v.glsl","g.glsl"],foldingStartMarker:/\/\*\*|\{\p{space}*(?=\n?$)/dgv,foldingStopMarker:/\*\*\/|^\p{space}*\}/dgv,name:"glsl",patterns:[{match:/\b(break|case|continue|default|discard|do|else|for|if|return|switch|while)\b/dgv,name:"keyword.control.glsl"},{match:/\b(void|bool|int|uint|float|vec2|vec3|vec4|bvec2|bvec3|bvec4|ivec2|ivec2|ivec3|uvec2|uvec2|uvec3|mat2|mat3|mat4|mat2x2|mat2x3|mat2x4|mat3x2|mat3x3|mat3x4|mat4x2|mat4x3|mat4x4|sampler[123\|]D|samplerCube|sampler2DRect|sampler[12\|]DShadow|sampler2DRectShadow|sampler[12\|]DArray|sampler[12\|]DArrayShadow|samplerBuffer|sampler2DMS|sampler2DMSArray|struct|isampler[123\|]D|isamplerCube|isampler2DRect|isampler[12\|]DArray|isamplerBuffer|isampler2DMS|isampler2DMSArray|usampler[123\|]D|usamplerCube|usampler2DRect|usampler[12\|]DArray|usamplerBuffer|usampler2DMS|usampler2DMSArray)\b/dgv,name:"storage.type.glsl"},{match:/\b(attribute|centroid|const|flat|in|inout|invariant|noperspective|out|smooth|uniform|varying)\b/dgv,name:"storage.modifier.glsl"},{match:/\b(gl_(?:BackColor|BackLightModelProduct|BackLightProduct|BackMaterial|BackSecondaryColor|ClipDistance|ClipPlane|ClipVertex|Color|DepthRange|DepthRangeParameters|EyePlaneQ|EyePlaneR|EyePlaneS|EyePlaneT|Fog|FogCoord|FogFragCoord|FogParameters|FragColor|FragCoord|FragDat|FragDept|FrontColor|FrontFacing|FrontLightModelProduct|FrontLightProduct|FrontMaterial|FrontSecondaryColor|InstanceID|Layer|LightModel|LightModelParameters|LightModelProducts|LightProducts|LightSource|LightSourceParameters|MaterialParameters|ModelViewMatrix|ModelViewMatrixInverse|ModelViewMatrixInverseTranspose|ModelViewMatrixTranspose|ModelViewProjectionMatrix|ModelViewProjectionMatrixInverse|ModelViewProjectionMatrixInverseTranspose|ModelViewProjectionMatrixTranspose|MultiTexCoord[0-7]|Normal|NormalMatrix|NormalScale|ObjectPlaneQ|ObjectPlaneR|ObjectPlaneS|ObjectPlaneT|Point|PointCoord|PointParameters|PointSize|Position|PrimitiveIDIn|ProjectionMatrix|ProjectionMatrixInverse|ProjectionMatrixInverseTranspose|ProjectionMatrixTranspose|SecondaryColor|TexCoord|TextureEnvColor|TextureMatrix|TextureMatrixInverse|TextureMatrixInverseTranspose|TextureMatrixTranspose|Vertex|VertexIDh))\b/dgv,name:"support.variable.glsl"},{match:/\b(gl_Max(?:ClipPlane|CombinedTextureImageUnit|DrawBuffer|FragmentUniformComponent|Light|TextureCoord|TextureImageUnit|TextureUnit|VaryingFloat|VertexAttrib|VertexTextureImageUnit|VertexUniformComponent)s)\b/dgv,name:"support.constant.glsl"},{match:/\b(abs|acos|all|any|asin|atan|ceil|clamp|cos|cross|degrees|dFdx|dFdy|distance|dot|equal|exp|exp2|faceforward|floor|fract|ftransform|fwidth|greaterThan|greaterThanEqual|inversesqrt|length|lessThan|lessThanEqual|log|log2|matrixCompMult|max|min|mix|mod|noise[1-4]|normalize|not|notEqual|outerProduct|pow|radians|reflect|refract|shadow1D|shadow1DLod|shadow1DProj|shadow1DProjLod|shadow2D|shadow2DLod|shadow2DProj|shadow2DProjLod|sign|sin|smoothstep|sqrt|step|tan|texture1D|texture1DLod|texture1DProj|texture1DProjLod|texture2D|texture2DLod|texture2DProj|texture2DProjLod|texture3D|texture3DLod|texture3DProj|texture3DProjLod|textureCube|textureCubeLod|transpose)\b/dgv,name:"support.function.glsl"},{match:/\b(asm|double|enum|extern|goto|inline|long|short|sizeof|static|typedef|union|unsigned|volatile)\b/dgv,name:"invalid.illegal.glsl"},{include:"source.c"}],scopeName:"source.glsl",embeddedLangs:["c"],aliases:undefined})
3
+ const lang = Object.freeze({displayName:"GLSL",fileTypes:["vs","fs","gs","vsh","fsh","gsh","vshader","fshader","gshader","vert","frag","geom","f.glsl","v.glsl","g.glsl"],foldingStartMarker:/\/\*\*|\{\p{space}*(?=\n?$)/dgv,foldingStopMarker:/\*\*\/|^\p{space}*\}/dgv,name:"glsl",patterns:[{match:/\b(break|case|continue|default|discard|do|else|for|if|return|switch|while)\b/dgv,name:"keyword.control.glsl"},{match:/\b(void|bool|int|uint|float|vec2|vec3|vec4|bvec2|bvec3|bvec4|ivec2|ivec3|uvec2|uvec3|mat2|mat3|mat4|mat2x2|mat2x3|mat2x4|mat3x2|mat3x3|mat3x4|mat4x2|mat4x3|mat4x4|sampler[123\|]D|samplerCube|sampler2DRect|sampler[12\|]DShadow|sampler2DRectShadow|sampler[12\|]DArray|sampler[12\|]DArrayShadow|samplerBuffer|sampler2DMS|sampler2DMSArray|struct|isampler[123\|]D|isamplerCube|isampler2DRect|isampler[12\|]DArray|isamplerBuffer|isampler2DMS|isampler2DMSArray|usampler[123\|]D|usamplerCube|usampler2DRect|usampler[12\|]DArray|usamplerBuffer|usampler2DMS|usampler2DMSArray)\b/dgv,name:"storage.type.glsl"},{match:/\b(attribute|centroid|const|flat|in|inout|invariant|noperspective|out|smooth|uniform|varying)\b/dgv,name:"storage.modifier.glsl"},{match:/\b(gl_(?:BackColor|BackLightModelProduct|BackLightProduct|BackMaterial|BackSecondaryColor|ClipDistance|ClipPlane|ClipVertex|Color|DepthRange|DepthRangeParameters|EyePlaneQ|EyePlaneR|EyePlaneS|EyePlaneT|Fog|FogCoord|FogFragCoord|FogParameters|FragColor|FragCoord|FragDat|FragDept|FrontColor|FrontFacing|FrontLightModelProduct|FrontLightProduct|FrontMaterial|FrontSecondaryColor|InstanceID|Layer|LightModel|LightModelParameters|LightModelProducts|LightProducts|LightSource|LightSourceParameters|MaterialParameters|ModelViewMatrix|ModelViewMatrixInverse|ModelViewMatrixInverseTranspose|ModelViewMatrixTranspose|ModelViewProjectionMatrix|ModelViewProjectionMatrixInverse|ModelViewProjectionMatrixInverseTranspose|ModelViewProjectionMatrixTranspose|MultiTexCoord[0-7]|Normal|NormalMatrix|NormalScale|ObjectPlaneQ|ObjectPlaneR|ObjectPlaneS|ObjectPlaneT|Point|PointCoord|PointParameters|PointSize|Position|PrimitiveIDIn|ProjectionMatrix|ProjectionMatrixInverse|ProjectionMatrixInverseTranspose|ProjectionMatrixTranspose|SecondaryColor|TexCoord|TextureEnvColor|TextureMatrix|TextureMatrixInverse|TextureMatrixInverseTranspose|TextureMatrixTranspose|Vertex|VertexIDh))\b/dgv,name:"support.variable.glsl"},{match:/\b(gl_Max(?:ClipPlane|CombinedTextureImageUnit|DrawBuffer|FragmentUniformComponent|Light|TextureCoord|TextureImageUnit|TextureUnit|VaryingFloat|VertexAttrib|VertexTextureImageUnit|VertexUniformComponent)s)\b/dgv,name:"support.constant.glsl"},{match:/\b(abs|acos|all|any|asin|atan|ceil|clamp|cos|cross|degrees|dFdx|dFdy|distance|dot|equal|exp2??|faceforward|floor|fract|ftransform|fwidth|greaterThan|greaterThanEqual|inversesqrt|length|lessThan|lessThanEqual|log2??|matrixCompMult|max|min|mix|mod|noise[1-4]|normalize|not|notEqual|outerProduct|pow|radians|reflect|refract|shadow1D|shadow1DLod|shadow1DProj|shadow1DProjLod|shadow2D|shadow2DLod|shadow2DProj|shadow2DProjLod|sign|sin|smoothstep|sqrt|step|tan|texture1D|texture1DLod|texture1DProj|texture1DProjLod|texture2D|texture2DLod|texture2DProj|texture2DProjLod|texture3D|texture3DLod|texture3DProj|texture3DProjLod|textureCube|textureCubeLod|transpose)\b/dgv,name:"support.function.glsl"},{match:/\b(asm|double|enum|extern|goto|inline|long|short|sizeof|static|typedef|union|unsigned|volatile)\b/dgv,name:"invalid.illegal.glsl"},{include:"source.c"}],scopeName:"source.glsl",embeddedLangs:["c"],aliases:undefined})
4
4
 
5
5
  export default [
6
6
  ...c,
package/dist/gnuplot.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"Gnuplot",fileTypes:["gp","plt","plot","gnuplot"],name:"gnuplot",patterns:[{match:/(\\(?!\n)[^\n]*)/dgv,name:"invalid.illegal.backslash.gnuplot"},{match:/(;)/dgv,name:"punctuation.separator.statement.gnuplot"},{include:"#LineComment"},{include:"#DataBlock"},{include:"#MacroExpansion"},{include:"#VariableDecl"},{include:"#ArrayDecl"},{include:"#FunctionDecl"},{include:"#ShellCommand"},{include:"#Command"}],repository:{ArrayDecl:{begin:/\b(array)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)?/dgv,beginCaptures:{"1":{name:"support.type.array.gnuplot"},"2":{name:"entity.name.variable.gnuplot",patterns:[{include:"#InvalidVariableDecl"},{include:"#BuiltinVariable"}]}},end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,name:"meta.variable.gnuplot",patterns:[{include:"#Expression"}]},BuiltinFunction:{patterns:[{match:/\bdefined\b/dgv,name:"invalid.deprecated.function.gnuplot"},{match:/\b(?:abs|acos|acosh|airy|arg|asin|asinh|atan|atan2|atanh|EllipticK|EllipticE|EllipticPi|besj0|besj1|besy0|besy1|ceil|cos|cosh|erf|erfc|exp|expint|floor|gamma|ibeta|inverf|igamma|imag|invnorm|int|lambertw|lgamma|log|log10|norm|rand|real|sgn|sin|sinh|sqrt|tan|tanh|voigt|cerf|cdawson|faddeeva|erfi|VP)\b/dgv,name:"support.function.math.gnuplot"},{match:/\b(?:gprintf|sprintf|strlen|strstrt|substr|strftime|strptime|system|word|words)\b/dgv,name:"support.function.string.gnuplot"},{match:/\b(?:column|columnhead|exists|hsv2rgb|stringcolumn|timecolumn|tm_hour|tm_mday|tm_min|tm_mon|tm_sec|tm_wday|tm_yday|tm_year|time|valid|value)\b/dgv,name:"support.function.other.gnuplot"}]},BuiltinOperator:{patterns:[{match:/(&&|\|\|)/dgv,name:"keyword.operator.logical.gnuplot"},{match:/(<<|>>|[\&\^\|])/dgv,name:"keyword.operator.bitwise.gnuplot"},{match:/(==|!=|<=|<|>=|>)/dgv,name:"keyword.operator.comparison.gnuplot"},{match:/(=)/dgv,name:"keyword.operator.assignment.gnuplot"},{match:/([\-\!\+\~])/dgv,name:"keyword.operator.arithmetic.gnuplot"},{match:/(\*\*|[\-\%\*\+\/])/dgv,name:"keyword.operator.arithmetic.gnuplot"},{captures:{"2":{name:"keyword.operator.word.gnuplot"}},match:/(\.|\b(eq|ne)\b)/dgv,name:"keyword.operator.strings.gnuplot"}]},BuiltinVariable:{patterns:[{match:/\bFIT_(?:LIMIT|MAXITER|START_LAMBDA|LAMBDA_FACTOR|SKIP|INDEX)\b/dgv,name:"invalid.deprecated.variable.gnuplot"},{match:/\b(GPVAL_[\p{L}\p{M}\p{N}\p{Pc}]*|MOUSE_[\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"support.constant.gnuplot"},{match:/\b(ARG[0-9C]|GPFUN_[\p{L}\p{M}\p{N}\p{Pc}]*|FIT_[\p{L}\p{M}\p{N}\p{Pc}]*|STATS_[\p{L}\p{M}\p{N}\p{Pc}]*|pi|NaN)\b/dgv,name:"support.variable.gnuplot"}]},ColumnIndexLiteral:{match:/(\$[0-9]+)\b/dgv,name:"support.constant.columnindex.gnuplot"},Command:{patterns:[{begin:/\bupdate\b/dgv,end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,name:"invalid.deprecated.command.gnuplot"},{begin:/\b(?:break|clear|continue|pwd|refresh|replot|reread|shell)\b/dgv,beginCaptures:{"0":{name:"keyword.other.command.gnuplot"}},end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,patterns:[{include:"#InvalidWord"}]},{begin:/\b(?:cd|call|eval|exit|help|history|load|lower|pause|print|printerr|quit|raise|save|stats|system|test|toggle)\b/dgv,beginCaptures:{"0":{name:"keyword.other.command.gnuplot"}},end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,patterns:[{include:"#Expression"}]},{begin:/\b(import)\p{space}([^\n]+)\p{space}(from)/dgv,beginCaptures:{"1":{name:"keyword.control.import.gnuplot"},"2":{patterns:[{include:"#FunctionDecl"}]},"3":{name:"keyword.control.import.gnuplot"}},end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,patterns:[{include:"#SingleQuotedStringLiteral"},{include:"#DoubleQuotedStringLiteral"},{include:"#InvalidWord"}]},{begin:/\b(reset)\b/dgv,beginCaptures:{"1":{name:"keyword.other.command.gnuplot"}},end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,patterns:[{match:/\b(bind|error(state)?|session)\b/dgv,name:"support.class.reset.gnuplot"},{include:"#InvalidWord"}]},{begin:/\b(undefine)\b/dgv,beginCaptures:{"1":{name:"keyword.other.command.gnuplot"}},end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,patterns:[{include:"#BuiltinVariable"},{include:"#BuiltinFunction"},{match:/(?<=\p{space})(\$?[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*\*?)(?=\p{space})/dgv,name:"source.gnuplot"},{include:"#InvalidWord"}]},{begin:/\b(if|while)\b/dgv,beginCaptures:{"1":{name:"keyword.control.conditional.gnuplot"}},end:/(?=([\#\{]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,patterns:[{include:"#Expression"}]},{begin:/\b(else)\b/dgv,beginCaptures:{"1":{name:"keyword.control.conditional.gnuplot"}},end:/(?=([\#\{]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv},{begin:/\b(do)\b/dgv,beginCaptures:{"1":{name:"keyword.control.flow.gnuplot"}},end:/(?=([\#\{]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,patterns:[{include:"#ForIterationExpr"}]},{begin:/\b(set)(?=\p{space}+pm3d)\b/dgv,beginCaptures:{"1":{name:"keyword.other.command.gnuplot"}},end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,patterns:[{match:/\b(hidden3d|map|transparent|solid)\b/dgv,name:"invalid.deprecated.options.gnuplot"},{include:"#SetUnsetOptions"},{include:"#ForIterationExpr"},{include:"#Expression"}]},{begin:/\b((un)?set)\b/dgv,beginCaptures:{"1":{name:"keyword.other.command.gnuplot"}},end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,patterns:[{include:"#SetUnsetOptions"},{include:"#ForIterationExpr"},{include:"#Expression"}]},{begin:/\b(show)\b/dgv,beginCaptures:{"1":{name:"keyword.other.command.gnuplot"}},end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,patterns:[{include:"#ExtraShowOptions"},{include:"#SetUnsetOptions"},{include:"#Expression"}]},{begin:/\b(fit|(s)?plot)\b/dgv,beginCaptures:{"1":{name:"keyword.other.command.gnuplot"}},end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,patterns:[{include:"#ColumnIndexLiteral"},{include:"#PlotModifiers"},{include:"#ForIterationExpr"},{include:"#Expression"}]}]},DataBlock:{begin:/(\$[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(<<)\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?=(#|(?=\n?$)))/dgv,beginCaptures:{"1":{patterns:[{include:"#SpecialVariable"}]},"3":{name:"constant.language.datablock.gnuplot"}},end:/^(\3)\b([^\n]*)()/dgv,endCaptures:{"1":{name:"constant.language.datablock.gnuplot"},"2":{name:"invalid.illegal.datablock.gnuplot"}},name:"meta.datablock.gnuplot",patterns:[{include:"#LineComment"},{include:"#NumberLiteral"},{include:"#DoubleQuotedStringLiteral"}]},DeprecatedScriptArgsLiteral:{match:/(\$[\#0-9])/dgv,name:"invalid.illegal.scriptargs.gnuplot"},DoubleQuotedStringLiteral:{begin:/(")/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.gnuplot"}},end:/((")|(?=(?<!\\)\n(?=\n?$)))/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.gnuplot"}},name:"string.quoted.double.gnuplot",patterns:[{include:"#EscapedChar"},{include:"#RGBColorSpec"},{include:"#DeprecatedScriptArgsLiteral"},{include:"#InterpolatedStringLiteral"}]},EscapedChar:{match:/(\\[^\n])/dgv,name:"constant.character.escape.gnuplot"},Expression:{patterns:[{include:"#Literal"},{include:"#SpecialVariable"},{include:"#BuiltinVariable"},{include:"#BuiltinOperator"},{include:"#TernaryExpr"},{include:"#FunctionCallExpr"},{include:"#SummationExpr"}]},ExtraShowOptions:{match:/\b(?:all|bind|colornames|functions|plot|variables|version)\b/dgv,name:"support.class.options.gnuplot"},ForIterationExpr:{begin:/\b(for)\p{space}*(\[)\p{space}*(?:([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}+(in)\b)?/dgv,beginCaptures:{"1":{name:"keyword.control.flow.gnuplot"},"2":{patterns:[{include:"#RangeSeparators"}]},"3":{name:"variable.other.iterator.gnuplot"},"4":{name:"keyword.control.flow.gnuplot"}},end:/((\])|(?=(#|\\(?!\n)|(?<!\\)\n(?=\n?$))))/dgv,endCaptures:{"2":{patterns:[{include:"#RangeSeparators"}]}},patterns:[{include:"#Expression"},{include:"#RangeSeparators"}]},FunctionCallExpr:{begin:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"variable.function.gnuplot",patterns:[{include:"#BuiltinFunction"}]},"2":{name:"punctuation.definition.arguments.begin.gnuplot"}},end:/((\))|(?=(#|\\(?!\n)|(?<!\\)\n(?=\n?$))))/dgv,endCaptures:{"2":{name:"punctuation.definition.arguments.end.gnuplot"}},name:"meta.function-call.gnuplot",patterns:[{include:"#Expression"}]},FunctionDecl:{begin:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*((\()\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?:(,)\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*)*(\)))/dgv,beginCaptures:{"1":{name:"entity.name.function.gnuplot",patterns:[{include:"#BuiltinFunction"}]},"2":{name:"meta.function.parameters.gnuplot"},"3":{name:"punctuation.definition.parameters.begin.gnuplot"},"4":{name:"variable.parameter.function.language.gnuplot"},"5":{name:"punctuation.separator.parameters.gnuplot"},"6":{name:"variable.parameter.function.language.gnuplot"},"7":{name:"punctuation.definition.parameters.end.gnuplot"}},end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,name:"meta.function.gnuplot",patterns:[{include:"#Expression"}]},InterpolatedStringLiteral:{begin:/(`)/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.gnuplot"}},end:/((`)|(?=(?<!\\)\n(?=\n?$)))/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.gnuplot"}},name:"string.interpolated.gnuplot",patterns:[{include:"#EscapedChar"}]},InvalidVariableDecl:{match:/\b(GPVAL_[\p{L}\p{M}\p{N}\p{Pc}]*|MOUSE_[\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"invalid.illegal.variable.gnuplot"},InvalidWord:{match:/([^\#\;\\\p{space}]+)/dgv,name:"invalid.illegal.gnuplot"},LineComment:{begin:/(#)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.begin.gnuplot"}},end:/(?=(?<!\\)\n(?=\n?$))/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.gnuplot"}},name:"comment.line.number-sign.gnuplot"},Literal:{patterns:[{include:"#NumberLiteral"},{include:"#DeprecatedScriptArgsLiteral"},{include:"#SingleQuotedStringLiteral"},{include:"#DoubleQuotedStringLiteral"},{include:"#InterpolatedStringLiteral"}]},MacroExpansion:{begin:/(@[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,beginCaptures:{"1":{patterns:[{include:"#SpecialVariable"}]}},end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,patterns:[{include:"#Expression"}]},NumberLiteral:{patterns:[{match:/((\b([0-9]+)|(?<!\p{Nd})))(\.[0-9]+)([Ee][\-\+]?[0-9]+)?(cm|in)?\b/dgv,name:"constant.numeric.float.gnuplot"},{match:/\b([0-9]+)((([Ee][\-\+]?[0-9]+))\b|(\.([Ee][\-\+]?[0-9]+\b)?))((?:cm|in)\b)?/dgv,name:"constant.numeric.float.gnuplot"},{match:/\b(0[Xx]\p{AHex}+)(cm|in)?\b/dgv,name:"constant.numeric.hex.gnuplot"},{match:/\b(0+)(cm|in)?\b/dgv,name:"constant.numeric.dec.gnuplot"},{match:/\b(0[0-7]+)(cm|in)?\b/dgv,name:"constant.numeric.oct.gnuplot"},{match:/\b(0[0-9]+)(cm|in)?\b/dgv,name:"invalid.illegal.oct.gnuplot"},{match:/\b([0-9]+)(cm|in)?\b/dgv,name:"constant.numeric.dec.gnuplot"}]},PlotModifiers:{patterns:[{match:/\b(thru)\b/dgv,name:"invalid.deprecated.plot.gnuplot"},{match:/\b(?:in(dex)?|every|us(ing)?|wi(th)?|via)\b/dgv,name:"storage.type.plot.gnuplot"},{match:/\b(newhist(ogram)?)\b/dgv,name:"storage.type.plot.gnuplot"}]},RGBColorSpec:{match:/(0x|#)((\p{AHex}{6})|(\p{AHex}{8}))\b/dgvy,name:"constant.other.placeholder.gnuplot"},RangeSeparators:{patterns:[{match:/(\[)/dgv,name:"punctuation.section.brackets.begin.gnuplot"},{match:/(:)/dgv,name:"punctuation.separator.range.gnuplot"},{match:/(\])/dgv,name:"punctuation.section.brackets.end.gnuplot"}]},SetUnsetOptions:{patterns:[{match:/\p{space}*\b(?:clabel|data|function|historysize|macros|ticslevel|ticscale|(style\p{space}+increment\p{space}+[\p{L}\p{M}\p{N}\p{Pc}]+))\b/dgvy,name:"invalid.deprecated.options.gnuplot"},{match:/\p{space}*\b(?:angles|arrow|autoscale|border|boxwidth|clip|cntr(label|param)|color(box|sequence)?|contour|(dash|line)type|datafile|decimal(sign)?|dgrid3d|dummy|encoding|(error)?bars|fit|fontpath|format|grid|hidden3d|history|(iso)?samples|jitter|key|label|link|loadpath|locale|logscale|mapping|[blrt]margin|margins|micro|minus(sign)?|mono(chrome)?|mouse|multiplot|nonlinear|object|offsets|origin|output|parametric|([pr])axis|pm3d|palette|pointintervalbox|pointsize|polar|print|psdir|size|style|surface|table|terminal|termoption|theta|tics|timestamp|timefmt|title|view|xyplane|zero|(no)?(m)?(x|x2|y|y2|z|cb|[rt])tics|(x|x2|y|y2|z|cb)data|(x|x2|y|y2|z|cb|r)label|(x|x2|y|y2|z|cb)dtics|(x|x2|y|y2|z|cb)mtics|(x|x2|y|y2|z|cb|[rtuv])range|(x|x2|y|y2|z)?zeroaxis)\b/dgvy,name:"support.class.options.gnuplot"}]},ShellCommand:{begin:/(!)/dgv,beginCaptures:{"1":{name:"keyword.other.shell.gnuplot"}},end:/(?=(#|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,patterns:[{match:/([^\#]|\\(?=\n))/dgv,name:"string.unquoted"}]},SingleQuotedStringLiteral:{begin:/(')/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.gnuplot"}},end:/((')(?!')|(?=(?<!\\)\n(?=\n?$)))/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.gnuplot"}},name:"string.quoted.single.gnuplot",patterns:[{include:"#RGBColorSpec"},{match:/('')/dgv,name:"constant.character.escape.gnuplot"}]},SpecialVariable:{patterns:[{captures:{"1":{name:"constant.language.wildcard.gnuplot"}},match:/(?<=[\:\=\[])\p{space}*(\*)\p{space}*(?=[\]\:])/dgv},{captures:{"2":{name:"punctuation.definition.variable.gnuplot"}},match:/(([\$\@])[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"constant.language.special.gnuplot"}]},SummationExpr:{begin:/\b(sum)\p{space}*(\[)/dgv,beginCaptures:{"1":{name:"keyword.other.sum.gnuplot"},"2":{patterns:[{include:"#RangeSeparators"}]}},end:/((\])|(?=(#|\\(?!\n)|(?<!\\)\n(?=\n?$))))/dgv,endCaptures:{"2":{patterns:[{include:"#RangeSeparators"}]}},patterns:[{include:"#Expression"},{include:"#RangeSeparators"}]},TernaryExpr:{begin:/(?<!\?)(\?)(?!\?)/dgv,beginCaptures:{"1":{name:"keyword.operator.ternary.gnuplot"}},end:/((?<!:)(:)(?!:)|(?=(#|\\(?!\n)|(?<!\\)\n(?=\n?$))))/dgv,endCaptures:{"2":{name:"keyword.operator.ternary.gnuplot"}},patterns:[{include:"#Expression"}]},VariableDecl:{begin:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?:(\[)\p{space}*([^\n]*)\p{space}*(\])\p{space}*)?(?=(=)(?!\p{space}*=))/dgv,beginCaptures:{"1":{name:"entity.name.variable.gnuplot",patterns:[{include:"#InvalidVariableDecl"},{include:"#BuiltinVariable"}]},"3":{patterns:[{include:"#Expression"}]}},end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,name:"meta.variable.gnuplot",patterns:[{include:"#Expression"}]}},scopeName:"source.gnuplot",embeddedLangs:undefined,aliases:undefined})
1
+ const lang = Object.freeze({displayName:"Gnuplot",fileTypes:["gp","plt","plot","gnuplot"],name:"gnuplot",patterns:[{match:/(\\(?!\n)[^\n]*)/dgv,name:"invalid.illegal.backslash.gnuplot"},{match:/(;)/dgv,name:"punctuation.separator.statement.gnuplot"},{include:"#LineComment"},{include:"#DataBlock"},{include:"#MacroExpansion"},{include:"#VariableDecl"},{include:"#ArrayDecl"},{include:"#FunctionDecl"},{include:"#ShellCommand"},{include:"#Command"}],repository:{ArrayDecl:{begin:/\b(array)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)?/dgv,beginCaptures:{"1":{name:"support.type.array.gnuplot"},"2":{name:"entity.name.variable.gnuplot",patterns:[{include:"#InvalidVariableDecl"},{include:"#BuiltinVariable"}]}},end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,name:"meta.variable.gnuplot",patterns:[{include:"#Expression"}]},BuiltinFunction:{patterns:[{match:/\bdefined\b/dgv,name:"invalid.deprecated.function.gnuplot"},{match:/\b(?:abs|acosh??|airy|arg|asinh??|atan2??|atanh|EllipticK|EllipticE|EllipticPi|besj0|besj1|besy0|besy1|ceil|cosh??|erfc??|exp|expint|floor|gamma|ibeta|inverf|igamma|imag|invnorm|int|lambertw|lgamma|log|log10|norm|rand|real|sgn|sinh??|sqrt|tanh??|voigt|cerf|cdawson|faddeeva|erfi|VP)\b/dgv,name:"support.function.math.gnuplot"},{match:/\b(?:gprintf|sprintf|strlen|strstrt|substr|strftime|strptime|system|words??)\b/dgv,name:"support.function.string.gnuplot"},{match:/\b(?:column|columnhead|exists|hsv2rgb|stringcolumn|timecolumn|tm_hour|tm_mday|tm_min|tm_mon|tm_sec|tm_wday|tm_yday|tm_year|time|valid|value)\b/dgv,name:"support.function.other.gnuplot"}]},BuiltinOperator:{patterns:[{match:/(&&|\|\|)/dgv,name:"keyword.operator.logical.gnuplot"},{match:/(<<|>>|[\&\^\|])/dgv,name:"keyword.operator.bitwise.gnuplot"},{match:/(==|!=|<=?|>=?)/dgv,name:"keyword.operator.comparison.gnuplot"},{match:/(=)/dgv,name:"keyword.operator.assignment.gnuplot"},{match:/([\-\!\+\~])/dgv,name:"keyword.operator.arithmetic.gnuplot"},{match:/(\*\*|[\-\%\*\+\/])/dgv,name:"keyword.operator.arithmetic.gnuplot"},{captures:{"2":{name:"keyword.operator.word.gnuplot"}},match:/(\.|\b(eq|ne)\b)/dgv,name:"keyword.operator.strings.gnuplot"}]},BuiltinVariable:{patterns:[{match:/\bFIT_(?:LIMIT|MAXITER|START_LAMBDA|LAMBDA_FACTOR|SKIP|INDEX)\b/dgv,name:"invalid.deprecated.variable.gnuplot"},{match:/\b(GPVAL_[\p{L}\p{M}\p{N}\p{Pc}]*|MOUSE_[\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"support.constant.gnuplot"},{match:/\b(ARG[0-9C]|GPFUN_[\p{L}\p{M}\p{N}\p{Pc}]*|FIT_[\p{L}\p{M}\p{N}\p{Pc}]*|STATS_[\p{L}\p{M}\p{N}\p{Pc}]*|pi|NaN)\b/dgv,name:"support.variable.gnuplot"}]},ColumnIndexLiteral:{match:/(\$[0-9]+)\b/dgv,name:"support.constant.columnindex.gnuplot"},Command:{patterns:[{begin:/\bupdate\b/dgv,end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,name:"invalid.deprecated.command.gnuplot"},{begin:/\b(?:break|clear|continue|pwd|refresh|replot|reread|shell)\b/dgv,beginCaptures:{"0":{name:"keyword.other.command.gnuplot"}},end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,patterns:[{include:"#InvalidWord"}]},{begin:/\b(?:cd|call|eval|exit|help|history|load|lower|pause|print|printerr|quit|raise|save|stats|system|test|toggle)\b/dgv,beginCaptures:{"0":{name:"keyword.other.command.gnuplot"}},end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,patterns:[{include:"#Expression"}]},{begin:/\b(import)\p{space}([^\n]+)\p{space}(from)/dgv,beginCaptures:{"1":{name:"keyword.control.import.gnuplot"},"2":{patterns:[{include:"#FunctionDecl"}]},"3":{name:"keyword.control.import.gnuplot"}},end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,patterns:[{include:"#SingleQuotedStringLiteral"},{include:"#DoubleQuotedStringLiteral"},{include:"#InvalidWord"}]},{begin:/\b(reset)\b/dgv,beginCaptures:{"1":{name:"keyword.other.command.gnuplot"}},end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,patterns:[{match:/\b(bind|error(state)?|session)\b/dgv,name:"support.class.reset.gnuplot"},{include:"#InvalidWord"}]},{begin:/\b(undefine)\b/dgv,beginCaptures:{"1":{name:"keyword.other.command.gnuplot"}},end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,patterns:[{include:"#BuiltinVariable"},{include:"#BuiltinFunction"},{match:/(?<=\p{space})(\$?[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*\*?)(?=\p{space})/dgv,name:"source.gnuplot"},{include:"#InvalidWord"}]},{begin:/\b(if|while)\b/dgv,beginCaptures:{"1":{name:"keyword.control.conditional.gnuplot"}},end:/(?=([\#\{]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,patterns:[{include:"#Expression"}]},{begin:/\b(else)\b/dgv,beginCaptures:{"1":{name:"keyword.control.conditional.gnuplot"}},end:/(?=([\#\{]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv},{begin:/\b(do)\b/dgv,beginCaptures:{"1":{name:"keyword.control.flow.gnuplot"}},end:/(?=([\#\{]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,patterns:[{include:"#ForIterationExpr"}]},{begin:/\b(set)(?=\p{space}+pm3d)\b/dgv,beginCaptures:{"1":{name:"keyword.other.command.gnuplot"}},end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,patterns:[{match:/\b(hidden3d|map|transparent|solid)\b/dgv,name:"invalid.deprecated.options.gnuplot"},{include:"#SetUnsetOptions"},{include:"#ForIterationExpr"},{include:"#Expression"}]},{begin:/\b((un)?set)\b/dgv,beginCaptures:{"1":{name:"keyword.other.command.gnuplot"}},end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,patterns:[{include:"#SetUnsetOptions"},{include:"#ForIterationExpr"},{include:"#Expression"}]},{begin:/\b(show)\b/dgv,beginCaptures:{"1":{name:"keyword.other.command.gnuplot"}},end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,patterns:[{include:"#ExtraShowOptions"},{include:"#SetUnsetOptions"},{include:"#Expression"}]},{begin:/\b(fit|(s)?plot)\b/dgv,beginCaptures:{"1":{name:"keyword.other.command.gnuplot"}},end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,patterns:[{include:"#ColumnIndexLiteral"},{include:"#PlotModifiers"},{include:"#ForIterationExpr"},{include:"#Expression"}]}]},DataBlock:{begin:/(\$[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(<<)\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?=(#|(?=\n?$)))/dgv,beginCaptures:{"1":{patterns:[{include:"#SpecialVariable"}]},"3":{name:"constant.language.datablock.gnuplot"}},end:/^(\3)\b([^\n]*)()/dgv,endCaptures:{"1":{name:"constant.language.datablock.gnuplot"},"2":{name:"invalid.illegal.datablock.gnuplot"}},name:"meta.datablock.gnuplot",patterns:[{include:"#LineComment"},{include:"#NumberLiteral"},{include:"#DoubleQuotedStringLiteral"}]},DeprecatedScriptArgsLiteral:{match:/(\$[\#0-9])/dgv,name:"invalid.illegal.scriptargs.gnuplot"},DoubleQuotedStringLiteral:{begin:/(")/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.gnuplot"}},end:/((")|(?=(?<!\\)\n(?=\n?$)))/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.gnuplot"}},name:"string.quoted.double.gnuplot",patterns:[{include:"#EscapedChar"},{include:"#RGBColorSpec"},{include:"#DeprecatedScriptArgsLiteral"},{include:"#InterpolatedStringLiteral"}]},EscapedChar:{match:/(\\[^\n])/dgv,name:"constant.character.escape.gnuplot"},Expression:{patterns:[{include:"#Literal"},{include:"#SpecialVariable"},{include:"#BuiltinVariable"},{include:"#BuiltinOperator"},{include:"#TernaryExpr"},{include:"#FunctionCallExpr"},{include:"#SummationExpr"}]},ExtraShowOptions:{match:/\b(?:all|bind|colornames|functions|plot|variables|version)\b/dgv,name:"support.class.options.gnuplot"},ForIterationExpr:{begin:/\b(for)\p{space}*(\[)\p{space}*(?:([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}+(in)\b)?/dgv,beginCaptures:{"1":{name:"keyword.control.flow.gnuplot"},"2":{patterns:[{include:"#RangeSeparators"}]},"3":{name:"variable.other.iterator.gnuplot"},"4":{name:"keyword.control.flow.gnuplot"}},end:/((\])|(?=(#|\\(?!\n)|(?<!\\)\n(?=\n?$))))/dgv,endCaptures:{"2":{patterns:[{include:"#RangeSeparators"}]}},patterns:[{include:"#Expression"},{include:"#RangeSeparators"}]},FunctionCallExpr:{begin:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"variable.function.gnuplot",patterns:[{include:"#BuiltinFunction"}]},"2":{name:"punctuation.definition.arguments.begin.gnuplot"}},end:/((\))|(?=(#|\\(?!\n)|(?<!\\)\n(?=\n?$))))/dgv,endCaptures:{"2":{name:"punctuation.definition.arguments.end.gnuplot"}},name:"meta.function-call.gnuplot",patterns:[{include:"#Expression"}]},FunctionDecl:{begin:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*((\()\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?:(,)\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*)*(\)))/dgv,beginCaptures:{"1":{name:"entity.name.function.gnuplot",patterns:[{include:"#BuiltinFunction"}]},"2":{name:"meta.function.parameters.gnuplot"},"3":{name:"punctuation.definition.parameters.begin.gnuplot"},"4":{name:"variable.parameter.function.language.gnuplot"},"5":{name:"punctuation.separator.parameters.gnuplot"},"6":{name:"variable.parameter.function.language.gnuplot"},"7":{name:"punctuation.definition.parameters.end.gnuplot"}},end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,name:"meta.function.gnuplot",patterns:[{include:"#Expression"}]},InterpolatedStringLiteral:{begin:/(`)/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.gnuplot"}},end:/((`)|(?=(?<!\\)\n(?=\n?$)))/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.gnuplot"}},name:"string.interpolated.gnuplot",patterns:[{include:"#EscapedChar"}]},InvalidVariableDecl:{match:/\b(GPVAL_[\p{L}\p{M}\p{N}\p{Pc}]*|MOUSE_[\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"invalid.illegal.variable.gnuplot"},InvalidWord:{match:/([^\#\;\\\p{space}]+)/dgv,name:"invalid.illegal.gnuplot"},LineComment:{begin:/(#)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.begin.gnuplot"}},end:/(?=(?<!\\)\n(?=\n?$))/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.gnuplot"}},name:"comment.line.number-sign.gnuplot"},Literal:{patterns:[{include:"#NumberLiteral"},{include:"#DeprecatedScriptArgsLiteral"},{include:"#SingleQuotedStringLiteral"},{include:"#DoubleQuotedStringLiteral"},{include:"#InterpolatedStringLiteral"}]},MacroExpansion:{begin:/(@[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,beginCaptures:{"1":{patterns:[{include:"#SpecialVariable"}]}},end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,patterns:[{include:"#Expression"}]},NumberLiteral:{patterns:[{match:/((\b([0-9]+)|(?<!\p{Nd})))(\.[0-9]+)([Ee][\-\+]?[0-9]+)?(cm|in)?\b/dgv,name:"constant.numeric.float.gnuplot"},{match:/\b([0-9]+)((([Ee][\-\+]?[0-9]+))\b|(\.([Ee][\-\+]?[0-9]+\b)?))((?:cm|in)\b)?/dgv,name:"constant.numeric.float.gnuplot"},{match:/\b(0[Xx]\p{AHex}+)(cm|in)?\b/dgv,name:"constant.numeric.hex.gnuplot"},{match:/\b(0+)(cm|in)?\b/dgv,name:"constant.numeric.dec.gnuplot"},{match:/\b(0[0-7]+)(cm|in)?\b/dgv,name:"constant.numeric.oct.gnuplot"},{match:/\b(0[0-9]+)(cm|in)?\b/dgv,name:"invalid.illegal.oct.gnuplot"},{match:/\b([0-9]+)(cm|in)?\b/dgv,name:"constant.numeric.dec.gnuplot"}]},PlotModifiers:{patterns:[{match:/\b(thru)\b/dgv,name:"invalid.deprecated.plot.gnuplot"},{match:/\b(?:in(dex)?|every|us(ing)?|wi(th)?|via)\b/dgv,name:"storage.type.plot.gnuplot"},{match:/\b(newhist(ogram)?)\b/dgv,name:"storage.type.plot.gnuplot"}]},RGBColorSpec:{match:/(0x|#)((\p{AHex}{6})|(\p{AHex}{8}))\b/dgvy,name:"constant.other.placeholder.gnuplot"},RangeSeparators:{patterns:[{match:/(\[)/dgv,name:"punctuation.section.brackets.begin.gnuplot"},{match:/(:)/dgv,name:"punctuation.separator.range.gnuplot"},{match:/(\])/dgv,name:"punctuation.section.brackets.end.gnuplot"}]},SetUnsetOptions:{patterns:[{match:/\p{space}*\b(?:clabel|data|function|historysize|macros|ticslevel|ticscale|(style\p{space}+increment\p{space}+[\p{L}\p{M}\p{N}\p{Pc}]+))\b/dgvy,name:"invalid.deprecated.options.gnuplot"},{match:/\p{space}*\b(?:angles|arrow|autoscale|border|boxwidth|clip|cntr(label|param)|color(box|sequence)?|contour|(dash|line)type|datafile|decimal(sign)?|dgrid3d|dummy|encoding|(error)?bars|fit|fontpath|format|grid|hidden3d|history|(iso)?samples|jitter|key|label|link|loadpath|locale|logscale|mapping|[blrt]margin|margins|micro|minus(sign)?|mono(chrome)?|mouse|multiplot|nonlinear|object|offsets|origin|output|parametric|([pr])axis|pm3d|palette|pointintervalbox|pointsize|polar|print|psdir|size|style|surface|table|terminal|termoption|theta|tics|timestamp|timefmt|title|view|xyplane|zero|(no)?(m)?(x2??|y2??|z|cb|[rt])tics|(x2??|y2??|z|cb)data|(x2??|y2??|z|cb|r)label|(x2??|y2??|z|cb)dtics|(x2??|y2??|z|cb)mtics|(x2??|y2??|z|cb|[rtuv])range|(x2??|y2??|z)?zeroaxis)\b/dgvy,name:"support.class.options.gnuplot"}]},ShellCommand:{begin:/(!)/dgv,beginCaptures:{"1":{name:"keyword.other.shell.gnuplot"}},end:/(?=(#|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,patterns:[{match:/([^\#]|\\(?=\n))/dgv,name:"string.unquoted"}]},SingleQuotedStringLiteral:{begin:/(')/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.gnuplot"}},end:/((')(?!')|(?=(?<!\\)\n(?=\n?$)))/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.gnuplot"}},name:"string.quoted.single.gnuplot",patterns:[{include:"#RGBColorSpec"},{match:/('')/dgv,name:"constant.character.escape.gnuplot"}]},SpecialVariable:{patterns:[{captures:{"1":{name:"constant.language.wildcard.gnuplot"}},match:/(?<=[\:\=\[])\p{space}*(\*)\p{space}*(?=[\]\:])/dgv},{captures:{"2":{name:"punctuation.definition.variable.gnuplot"}},match:/(([\$\@])[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"constant.language.special.gnuplot"}]},SummationExpr:{begin:/\b(sum)\p{space}*(\[)/dgv,beginCaptures:{"1":{name:"keyword.other.sum.gnuplot"},"2":{patterns:[{include:"#RangeSeparators"}]}},end:/((\])|(?=(#|\\(?!\n)|(?<!\\)\n(?=\n?$))))/dgv,endCaptures:{"2":{patterns:[{include:"#RangeSeparators"}]}},patterns:[{include:"#Expression"},{include:"#RangeSeparators"}]},TernaryExpr:{begin:/(?<!\?)(\?)(?!\?)/dgv,beginCaptures:{"1":{name:"keyword.operator.ternary.gnuplot"}},end:/((?<!:)(:)(?!:)|(?=(#|\\(?!\n)|(?<!\\)\n(?=\n?$))))/dgv,endCaptures:{"2":{name:"keyword.operator.ternary.gnuplot"}},patterns:[{include:"#Expression"}]},VariableDecl:{begin:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?:(\[)\p{space}*([^\n]*)\p{space}*(\])\p{space}*)?(?=(=)(?!\p{space}*=))/dgv,beginCaptures:{"1":{name:"entity.name.variable.gnuplot",patterns:[{include:"#InvalidVariableDecl"},{include:"#BuiltinVariable"}]},"3":{patterns:[{include:"#Expression"}]}},end:/(?=([\#\;]|\\(?!\n)|(?<!\\)\n(?=\n?$)))/dgv,name:"meta.variable.gnuplot",patterns:[{include:"#Expression"}]}},scopeName:"source.gnuplot",embeddedLangs:undefined,aliases:undefined})
2
2
 
3
3
  export default [
4
4
  lang
package/dist/go.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { EmulatedRegExp } from 'oniguruma-to-es'
2
2
 
3
- const lang = Object.freeze({displayName:"Go",name:"go",patterns:[{include:"#statements"}],repository:{after_control_variables:{captures:{"1":{patterns:[{include:"#type-declarations-without-brackets"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.go"}]}},match:/(?<=\brange\b|\bswitch\b|;|\bif\b|\bfor\b|[\<\>]|<=|>=|==|!=|[\p{L}\p{M}\p{N}\p{Pc}][\-\%\*\+\/]|[\p{L}\p{M}\p{N}\p{Pc}][\-\%\*\+\/]=|\|\||&&)\p{space}*((?![\]\[]+)[\-\]\!\%\*\+\.\/\:\<\=\>\[_\p{Alpha}\p{Nd}]+)\p{space}*(?=\{)/dgv},brackets:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{include:"$self"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"$self"}]},{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.square.go"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"$self"}]}]},built_in_functions:{patterns:[{match:/\b(append|cap|close|complex|copy|delete|imag|len|panic|print|println|real|recover|min|max|clear)\b(?=\()/dgv,name:"entity.name.function.support.builtin.go"},{begin:/\b(new)\b(\()/dgv,beginCaptures:{"1":{name:"entity.name.function.support.builtin.go"},"2":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#functions"},{include:"#struct_variables_types"},{include:"#type-declarations"},{include:"#generic_types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"},{include:"$self"}]},{begin:/\b(make)\b(\()((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+(?:\([^\)]+\))?)?(?:[\]\*\[]+)?(?:(?!\bmap\b)[\.\p{L}\p{M}\p{N}\p{Pc}]+)?(\[(?:\P{space}+(?:,\p{space}*\P{space}+)*)?\])?,?)?/dgv,beginCaptures:{"1":{name:"entity.name.function.support.builtin.go"},"2":{name:"punctuation.definition.begin.bracket.round.go"},"3":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"$self"}]}]},comments:{patterns:[{begin:/(\/\*)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.go"}},end:/(\*\/)/dgv,endCaptures:{"1":{name:"punctuation.definition.comment.go"}},name:"comment.block.go"},{begin:/(\/\/)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.go"}},end:/\n|(?=\n?$)/dgv,name:"comment.line.double-slash.go"}]},const_assignment:{patterns:[{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.constant.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#generic_types"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=\bconst\b)\p{space}*\b([\.\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\.\p{L}\p{M}\p{N}\p{Pc}]+)*)\p{space}*((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+(?:\([^\)]+\))?)?(?!(?:[\]\*\[]+)?\b(?:struct|func|map)\b)(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)*)?\p{space}*=?)?/dgv},{begin:/(?<=\bconst\b)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.constant.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#generic_types"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/^\p{space}*\b([\.\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\.\p{L}\p{M}\p{N}\p{Pc}]+)*)\p{space}*((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+(?:\([^\)]+\))?)?(?!(?:[\]\*\[]+)?\b(?:struct|func|map)\b)(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)*)?\p{space}*=?)?/dgv},{include:"$self"}]}]},delimiters:{patterns:[{match:/,/dgv,name:"punctuation.other.comma.go"},{match:/\.(?!\.\.)/dgv,name:"punctuation.other.period.go"},{match:/:(?!=)/dgv,name:"punctuation.other.colon.go"}]},double_parentheses_types:{captures:{"1":{patterns:[{include:"#type-declarations-without-brackets"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(\((?:[\]\*\[]+)?[\.\p{L}\p{M}\p{N}\p{Pc}]+(?:\[(?:[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+)*)?\])?\))(?=\()/dgv},field_hover:{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{patterns:[{match:/\binvalid\b\p{space}+\btype\b/dgv,name:"invalid.field.go"},{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=^\bfield\b)\p{space}+([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+([\p{space}\P{space}]+)/dgv},function_declaration:{begin:/^\b(func)\b\p{space}*(\([^\)]+\)\p{space}*)?(?:([\p{L}\p{M}\p{N}\p{Pc}]+)(?=[\(\[]))?/dgv,beginCaptures:{"1":{name:"keyword.function.go"},"2":{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{captures:{"1":{name:"variable.parameter.go"},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/([\p{L}\p{M}\p{N}\p{Pc}]+\p{space}+)?([\*\.\p{L}\p{M}\p{N}\p{Pc}]+(?:\[(?:(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}+)?)+)?\])?)/dgv},{include:"$self"}]}]},"3":{patterns:[{match:/\p{Nd}[\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"invalid.illegal.identifier.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.function.go"}]}},end:/(?<=\))\p{space}*((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?!(?:[\]\*\[]+)?\b(?:struct|interface)\b)[\-\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)?\p{space}*(?=\{)/dgv,endCaptures:{"1":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"}]},{begin:/([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(\[)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{name:"punctuation.definition.begin.bracket.square.go"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"#generic_param_types"}]},{captures:{"1":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=\))\p{space}*((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?[\-\]\*\.\<\>\[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*(?:\/[\*\/][^\n]*)?)(?=\n?$)/dgv},{include:"$self"}]},function_param_types:{patterns:[{include:"#struct_variables_types"},{include:"#interface_variables_types"},{include:"#type-declarations-without-brackets"},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.go"}]}},match:/((?:(?:\b[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?\b[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+(?=(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?:[\]\*\[]+)?\b(?:struct|interface)\b\p{space}*\{)/dgv},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.go"}]}},match:/(?:(?<=\()|^\p{space}*)((?:\b[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+(?:\/[\*\/][^\n]*)?)(?=\n?$)/dgv},{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/((?:(?:\b[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?\b[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?:(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)?(?:\bfunc\b\((?:[^\)]+)?\)(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?\p{space}*)+(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+|\((?:[^\)]+)?\))?|(?:(?:[\]\*\[]+)?[\*\.\p{L}\p{M}\p{N}\p{Pc}]+(?:\[[^\]]+\])?(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?)+))/dgv},{begin:/([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(\[)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{name:"punctuation.definition.begin.bracket.square.go"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"#generic_param_types"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"}]},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/([\.\p{L}\p{M}\p{N}\p{Pc}]+)/dgv},{include:"$self"}]},functions:{begin:/\b(func)\b(?=\()/dgv,beginCaptures:{"1":{name:"keyword.function.go"}},end:/(?<=\))(\p{space}*(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(\p{space}*(?:(?:[\]\*\[]+)?[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(?:\[(?:(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(?:\[(?:[^\]]+)?\])?(?:,\p{space}+)?)+\]|\((?:[^\)]+)?\))?(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?\p{space}*(?=\{)|\p{space}*(?:(?:[\]\*\[]+)?(?!\bfunc\b)[\*\.\p{L}\p{M}\p{N}\p{Pc}]+(?:\[(?:(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(?:\[(?:[^\]]+)?\])?(?:,\p{space}+)?)+\])?(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?|\((?:[^\)]+)?\)))?/dgv,endCaptures:{"1":{patterns:[{include:"#type-declarations"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},patterns:[{include:"#parameter-variable-types"}]},functions_inline:{captures:{"1":{name:"keyword.function.go"},"2":{patterns:[{include:"#type-declarations-without-brackets"},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"},{include:"$self"}]},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/\b(func)\b(\([^\/]*?\)\p{space}+\([^\/]*?\))\p{space}+(?=\{)/dgv},generic_param_types:{patterns:[{include:"#struct_variables_types"},{include:"#interface_variables_types"},{include:"#type-declarations-without-brackets"},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.go"}]}},match:/((?:(?:\b[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?\b[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+(?=(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?:[\]\*\[]+)?\b(?:struct|interface)\b\p{space}*\{)/dgv},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.go"}]}},match:/(?:(?<=\()|^\p{space}*)((?:\b[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+(?:\/[\*\/][^\n]*)?)(?=\n?$)/dgv},{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"3":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/((?:(?:\b[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?\b[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?:(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)?(?:\bfunc\b\((?:[^\)]+)?\)(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?\p{space}*)+(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+|\((?:[^\)]+)?\))?|(?:(?:[\*\.\~\p{L}\p{M}\p{N}\p{Pc}]+|\[(?:(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(?:\[(?:[^\]]+)?\])?(?:,\p{space}+)?)+\])(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?)+))/dgv},{begin:/([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(\[)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{name:"punctuation.definition.begin.bracket.square.go"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"#generic_param_types"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"}]},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/\b([\.\p{L}\p{M}\p{N}\p{Pc}]+)/dgv},{include:"$self"}]},generic_types:{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{patterns:[{include:"#parameter-variable-types"}]}},match:/([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)(\[(?:[^\]]+)?\])/dgv},"group-functions":{patterns:[{include:"#function_declaration"},{include:"#functions_inline"},{include:"#functions"},{include:"#built_in_functions"},{include:"#support_functions"}]},"group-types":{patterns:[{include:"#other_struct_interface_expressions"},{include:"#type_assertion_inline"},{include:"#struct_variables_types"},{include:"#interface_variables_types"},{include:"#single_type"},{include:"#multi_types"},{include:"#struct_interface_declaration"},{include:"#double_parentheses_types"},{include:"#switch_types"},{include:"#type-declarations"}]},"group-variables":{patterns:[{include:"#const_assignment"},{include:"#var_assignment"},{include:"#variable_assignment"},{include:"#label_loop_variables"},{include:"#slice_index_variables"},{include:"#property_variables"},{include:"#switch_select_case_variables"},{include:"#other_variables"}]},import:{patterns:[{begin:/\b(import)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.control.import.go"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{include:"#imports"}]}]},imports:{patterns:[{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.import.go"}]},"2":{name:"string.quoted.double.go"},"3":{name:"punctuation.definition.string.begin.go"},"4":{name:"entity.name.import.go"},"5":{name:"punctuation.definition.string.end.go"}},match:/(\p{space}*[\.\p{L}\p{M}\p{N}\p{Pc}]+)?\p{space}*((")([^"]*)("))/dgv},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.imports.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.imports.end.bracket.round.go"}},patterns:[{include:"#comments"},{include:"#imports"}]},{include:"$self"}]},interface_variables_types:{begin:/\b(interface)\b\p{space}*(\{)/dgv,beginCaptures:{"1":{name:"keyword.interface.go"},"2":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{include:"#interface_variables_types_field"},{include:"$self"}]},interface_variables_types_field:{patterns:[{include:"#support_functions"},{include:"#type-declarations-without-brackets"},{begin:/([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(\[)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{name:"punctuation.definition.begin.bracket.square.go"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"#generic_param_types"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"}]},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/([\.\p{L}\p{M}\p{N}\p{Pc}]+)/dgv}]},keywords:{patterns:[{match:/\b(break|case|continue|default|defer|else|fallthrough|for|go|goto|if|range|return|select|switch)\b/dgv,name:"keyword.control.go"},{match:/\bchan\b/dgv,name:"keyword.channel.go"},{match:/\bconst\b/dgv,name:"keyword.const.go"},{match:/\bvar\b/dgv,name:"keyword.var.go"},{match:/\bfunc\b/dgv,name:"keyword.function.go"},{match:/\binterface\b/dgv,name:"keyword.interface.go"},{match:/\bmap\b/dgv,name:"keyword.map.go"},{match:/\bstruct\b/dgv,name:"keyword.struct.go"},{match:/\bimport\b/dgv,name:"keyword.control.import.go"},{match:/\btype\b/dgv,name:"keyword.type.go"}]},label_loop_variables:{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.label.go"}]}},match:/^(\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]+:\p{space}*|\p{space}*\b(?:break|goto|continue)\b\p{space}+[\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}*\/[\*\/]\p{space}*[^\n]*)?)(?=\n?$)/dgv},language_constants:{captures:{"1":{name:"constant.language.boolean.go"},"2":{name:"constant.language.null.go"},"3":{name:"constant.language.iota.go"}},match:/\b(?:(true|false)|(nil)|(iota))\b/dgv},map_types:{begin:/\b(map)\b(\[)/dgv,beginCaptures:{"1":{name:"keyword.map.go"},"2":{name:"punctuation.definition.begin.bracket.square.go"}},end:/(\])((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?!(?:[\]\*\[]+)?\b(?:func|struct|map)\b)(?:[\]\*\[]+)?[\.\p{L}\p{M}\p{N}\p{Pc}]+(?:\[(?:[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+)*)?\])?)?/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.square.go"},"2":{patterns:[{include:"#type-declarations-without-brackets"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{include:"#functions"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},multi_types:{begin:/\b(type)\b\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.type.go"},"2":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#struct_variables_types"},{include:"#interface_variables_types"},{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},numeric_literals:{captures:{"0":{patterns:[{begin:/(?=[^\n])/dgv,end:/\n|(?=\n?$)/dgv,patterns:[{captures:{"1":{name:"constant.numeric.decimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"2":{name:"punctuation.separator.constant.numeric.go"},"3":{name:"constant.numeric.decimal.point.go"},"4":{name:"constant.numeric.decimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"5":{name:"punctuation.separator.constant.numeric.go"},"6":{name:"keyword.other.unit.exponent.decimal.go"},"7":{name:"keyword.operator.plus.exponent.decimal.go"},"8":{name:"keyword.operator.minus.exponent.decimal.go"},"9":{name:"constant.numeric.exponent.decimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"10":{name:"keyword.other.unit.imaginary.go"},"11":{name:"constant.numeric.decimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"12":{name:"punctuation.separator.constant.numeric.go"},"13":{name:"keyword.other.unit.exponent.decimal.go"},"14":{name:"keyword.operator.plus.exponent.decimal.go"},"15":{name:"keyword.operator.minus.exponent.decimal.go"},"16":{name:"constant.numeric.exponent.decimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"17":{name:"keyword.other.unit.imaginary.go"},"18":{name:"constant.numeric.decimal.point.go"},"19":{name:"constant.numeric.decimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"20":{name:"punctuation.separator.constant.numeric.go"},"21":{name:"keyword.other.unit.exponent.decimal.go"},"22":{name:"keyword.operator.plus.exponent.decimal.go"},"23":{name:"keyword.operator.minus.exponent.decimal.go"},"24":{name:"constant.numeric.exponent.decimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"25":{name:"keyword.other.unit.imaginary.go"},"26":{name:"keyword.other.unit.hexadecimal.go"},"27":{name:"constant.numeric.hexadecimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"28":{name:"punctuation.separator.constant.numeric.go"},"29":{name:"constant.numeric.hexadecimal.go"},"30":{name:"constant.numeric.hexadecimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"31":{name:"punctuation.separator.constant.numeric.go"},"32":{name:"keyword.other.unit.exponent.hexadecimal.go"},"33":{name:"keyword.operator.plus.exponent.hexadecimal.go"},"34":{name:"keyword.operator.minus.exponent.hexadecimal.go"},"35":{name:"constant.numeric.exponent.hexadecimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"36":{name:"keyword.other.unit.imaginary.go"},"37":{name:"keyword.other.unit.hexadecimal.go"},"38":{name:"constant.numeric.hexadecimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"39":{name:"punctuation.separator.constant.numeric.go"},"40":{name:"keyword.other.unit.exponent.hexadecimal.go"},"41":{name:"keyword.operator.plus.exponent.hexadecimal.go"},"42":{name:"keyword.operator.minus.exponent.hexadecimal.go"},"43":{name:"constant.numeric.exponent.hexadecimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"44":{name:"keyword.other.unit.imaginary.go"},"45":{name:"keyword.other.unit.hexadecimal.go"},"46":{name:"constant.numeric.hexadecimal.go"},"47":{name:"constant.numeric.hexadecimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"48":{name:"punctuation.separator.constant.numeric.go"},"49":{name:"keyword.other.unit.exponent.hexadecimal.go"},"50":{name:"keyword.operator.plus.exponent.hexadecimal.go"},"51":{name:"keyword.operator.minus.exponent.hexadecimal.go"},"52":{name:"constant.numeric.exponent.hexadecimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"53":{name:"keyword.other.unit.imaginary.go"}},match:/(?:(?:(?:(?:(?:(?=[\.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\p{AHex})_(?=\p{AHex})))*)((?<=[0-9])\.|\.(?=[0-9]))([0-9](?:[0-9]|((?<=\p{AHex})_(?=\p{AHex})))*)?(?:(?<!_)([Ee])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})_(?=\p{AHex}))*))?(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$))|(?=[\.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\p{AHex})_(?=\p{AHex})))*)(?<!_)([Ee])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})_(?=\p{AHex}))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|((?<=[0-9])\.|\.(?=[0-9]))([0-9](?:[0-9]|((?<=\p{AHex})_(?=\p{AHex})))*)(?:(?<!_)([Ee])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})_(?=\p{AHex}))*))?(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|(0[Xx])_?(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})_(?=\p{AHex})))*)((?<=\p{AHex})\.|\.(?=\p{AHex}))(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})_(?=\p{AHex})))*)?(?<!_)([Pp])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})_(?=\p{AHex}))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|(0[Xx])_?(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})_(?=\p{AHex})))*)(?<!_)([Pp])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})_(?=\p{AHex}))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|(0[Xx])((?<=\p{AHex})\.|\.(?=\p{AHex}))(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})_(?=\p{AHex})))*)(?<!_)([Pp])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})_(?=\p{AHex}))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))/dgvy},{captures:{"1":{name:"constant.numeric.decimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"2":{name:"punctuation.separator.constant.numeric.go"},"3":{name:"keyword.other.unit.imaginary.go"},"4":{name:"keyword.other.unit.binary.go"},"5":{name:"constant.numeric.binary.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"6":{name:"punctuation.separator.constant.numeric.go"},"7":{name:"keyword.other.unit.imaginary.go"},"8":{name:"keyword.other.unit.octal.go"},"9":{name:"constant.numeric.octal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"10":{name:"punctuation.separator.constant.numeric.go"},"11":{name:"keyword.other.unit.imaginary.go"},"12":{name:"keyword.other.unit.hexadecimal.go"},"13":{name:"constant.numeric.hexadecimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"14":{name:"punctuation.separator.constant.numeric.go"},"15":{name:"keyword.other.unit.imaginary.go"}},match:/(?:(?:(?:(?=[\.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\p{AHex})_(?=\p{AHex})))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$))|(0[Bb])_?([01](?:[01]|((?<=\p{AHex})_(?=\p{AHex})))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|(0[Oo]?)_?((?:[0-7]|((?<=\p{AHex})_(?=\p{AHex})))+)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|(0[Xx])_?(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})_(?=\p{AHex})))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))/dgvy},{match:/(?:[\.0-9A-Z_a-z]|(?<=[EPep])[\-\+])+/dgv,name:"invalid.illegal.constant.numeric.go"}]}]}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])\.?\p{Nd}(?:[\.0-9A-Z_a-z]|(?<=[EPep])[\-\+])*/dgv},operators:{patterns:[{match:/([\&\*]+)(?!\p{Nd})(?=[\]\[\p{L}\p{M}\p{N}\p{Pc}]|<-)/dgv,name:"keyword.operator.address.go"},{match:/<-/dgv,name:"keyword.operator.channel.go"},{match:/--/dgv,name:"keyword.operator.decrement.go"},{match:/\+\+/dgv,name:"keyword.operator.increment.go"},{match:/(==|!=|<=|>=|<(?!<)|>(?!>))/dgv,name:"keyword.operator.comparison.go"},{match:/(&&|\|\||!)/dgv,name:"keyword.operator.logical.go"},{match:/((?:|[\-\%\*\+\/\:\^\|]|<<|>>|&\^|&)=)/dgv,name:"keyword.operator.assignment.go"},{match:/([\-\%\*\+\/])/dgv,name:"keyword.operator.arithmetic.go"},{match:/(&(?!\^)|[\^\|]|&\^|<<|>>|~)/dgv,name:"keyword.operator.arithmetic.bitwise.go"},{match:/\.\.\./dgv,name:"keyword.operator.ellipsis.go"}]},other_struct_interface_expressions:{patterns:[{include:"#after_control_variables"},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/\b([\.\p{L}\p{M}\p{N}\p{Pc}]+)(\[(?:[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+)*)?\])?(?=\{)(?<!\b(?:struct|interface)\b)/dgv}]},other_variables:{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.go"},package_name:{patterns:[{begin:/\b(package)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.package.go"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{match:/\p{Nd}[\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"invalid.illegal.identifier.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.package.go"}]}]},"parameter-variable-types":{patterns:[{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{begin:/([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(\[)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{name:"punctuation.definition.begin.bracket.square.go"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"#generic_param_types"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"}]}]},property_variables:{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]}},match:/\b([\.\p{L}\p{M}\p{N}\p{Pc}]+:(?!=))/dgv},raw_string_literals:{begin:/`/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.go"}},end:/`/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.go"}},name:"string.quoted.raw.go",patterns:[{include:"#string_placeholder"}]},runes:{patterns:[{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.go"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.go"}},name:"string.quoted.rune.go",patterns:[{match:/(\\([0-7]{3}|["'\\abfnrtv]|x\p{AHex}{2}|u\p{AHex}{4}|U\p{AHex}{8})|[^\n])(?=')/dgvy,name:"constant.other.rune.go"},{match:/[^']+/dgv,name:"invalid.illegal.unknown-rune.go"}]}]},single_type:{patterns:[{captures:{"1":{name:"keyword.type.go"},"2":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"3":{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"},{include:"$self"}]},{include:"#type-declarations"},{include:"#generic_types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/^\p{space}*\b(type)\b\p{space}*([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+(?!(?:=\p{space}*)?(?:[\]\*\[]+)?\b(?:struct|interface)\b)([\p{space}\P{space}]+)/dgv},{begin:/(?:^|\p{space}+)\b(type)\b\p{space}*([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)(?=\[)/dgv,beginCaptures:{"1":{name:"keyword.type.go"},"2":{patterns:[{include:"#type-declarations-without-brackets"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},end:/(?<=\])(\p{space}+(?:=\p{space}*)?(?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?!(?:[\]\*\[]+)?\b(?:struct|interface|func)\b)[\-\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)*)?/dgv,endCaptures:{"1":{patterns:[{include:"#type-declarations-without-brackets"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},patterns:[{include:"#struct_variables_types"},{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}]},slice_index_variables:{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.go"}]}},match:/(?<=[\p{L}\p{M}\p{N}\p{Pc}]\[)((?:\b[\-\%\&\*\+\.\/\<\>\|\p{L}\p{M}\p{N}\p{Pc}]+:|:\b[\-\%\&\*\+\.\/\<\>\|\p{L}\p{M}\p{N}\p{Pc}]+)(?:\b[\-\%\&\*\+\.\/\<\>\|\p{L}\p{M}\p{N}\p{Pc}]+)?(?::\b[\-\%\&\*\+\.\/\<\>\|\p{L}\p{M}\p{N}\p{Pc}]+)?)(?=\])/dgv},statements:{patterns:[{include:"#package_name"},{include:"#import"},{include:"#syntax_errors"},{include:"#group-functions"},{include:"#group-types"},{include:"#group-variables"},{include:"#field_hover"}]},storage_types:{patterns:[{match:/\bbool\b/dgv,name:"storage.type.boolean.go"},{match:/\bbyte\b/dgv,name:"storage.type.byte.go"},{match:/\berror\b/dgv,name:"storage.type.error.go"},{match:/\b(complex(64|128)|float(32|64)|u?int(8|16|32|64)?)\b/dgv,name:"storage.type.numeric.go"},{match:/\brune\b/dgv,name:"storage.type.rune.go"},{match:/\bstring\b/dgv,name:"storage.type.string.go"},{match:/\buintptr\b/dgv,name:"storage.type.uintptr.go"},{match:/\bany\b/dgv,name:"entity.name.type.any.go"},{match:/\bcomparable\b/dgv,name:"entity.name.type.comparable.go"}]},string_escaped_char:{patterns:[{match:/\\([0-7]{3}|["'\\abfnrtv]|x\p{AHex}{2}|u\p{AHex}{4}|U\p{AHex}{8})/dgv,name:"constant.character.escape.go"},{match:/\\[^"'0-7Uabfnrtuvx]/dgv,name:"invalid.illegal.unknown-escape.go"}]},string_literals:{patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.go"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.go"}},name:"string.quoted.double.go",patterns:[{include:"#string_escaped_char"},{include:"#string_placeholder"}]}]},string_placeholder:{patterns:[{match:/%(\[\p{Nd}+\])?([\- \#\+0]{0,2}((\p{Nd}+|\*)?(\.?(\p{Nd}+|\*|(\[\p{Nd}+\])\*?)?(\[\p{Nd}+\])?)?))?[\%EFGTUXb-gopqstvwx]/dgv,name:"constant.other.placeholder.go"}]},struct_interface_declaration:{captures:{"1":{name:"keyword.type.go"},"2":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/^\p{space}*\b(type)\b\p{space}*([\.\p{L}\p{M}\p{N}\p{Pc}]+)/dgv},struct_variable_types_fields_multi:{patterns:[{begin:/([\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]+)*(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?\p{space}+(?:[\]\*\[]+)?)\b(struct)\b\p{space}*(\{)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{name:"keyword.struct.go"},"3":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{include:"#struct_variables_types_fields"},{include:"$self"}]},{begin:/([\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]+)*(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?\p{space}+(?:[\]\*\[]+)?)\b(interface)\b\p{space}*(\{)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{name:"keyword.interface.go"},"3":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{include:"#interface_variables_types_field"},{include:"$self"}]},{begin:/([\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]+)*(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?\p{space}+(?:[\]\*\[]+)?)\b(func)\b\p{space}*(\()/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{name:"keyword.function.go"},"3":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"},{include:"$self"}]},{include:"#parameter-variable-types"}]},struct_variables_types:{begin:/\b(struct)\b\p{space}*(\{)/dgv,beginCaptures:{"1":{name:"keyword.struct.go"},"2":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{include:"#struct_variables_types_fields"},{include:"$self"}]},struct_variables_types_fields:{patterns:[{include:"#struct_variable_types_fields_multi"},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=\{)\p{space}*((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(?=\})/dgv},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=\{)\p{space}*((?:(?:[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}+)((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(?=\})/dgv},{captures:{"1":{patterns:[{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/((?:(?:[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}+)?((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?\P{space}+;?)/dgv}]}},match:/(?<=\{)((?:\p{space}*(?:(?:(?:[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}+)?(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?\P{space}+;?)+)\p{space}*(?=\})/dgv},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?[\*\.\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*)(?:(?=["\/\`])|(?=\n?$))/dgv},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/((?:(?:[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}+)([^"\/\`]+)/dgv}]},support_functions:{captures:{"1":{name:"entity.name.function.support.go"},"2":{patterns:[{include:"#type-declarations"},{match:/\p{Nd}[\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"invalid.illegal.identifier.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.function.support.go"}]},"3":{patterns:[{include:"#type-declarations-without-brackets"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?:((?<=\.)\b[\p{L}\p{M}\p{N}\p{Pc}]+)|\b([\p{L}\p{M}\p{N}\p{Pc}]+))(\[(?:[\]"'\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+)*)?\])?(?=\()/dgv},switch_select_case_variables:{captures:{"1":{name:"keyword.control.go"},"2":{patterns:[{include:"#type-declarations"},{include:"#support_functions"},{include:"#variable_assignment"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.go"}]}},match:/^\p{space}*\b(case)\b\p{space}+([\p{space}\P{space}]+:\p{space}*(?:\/[\*\/][^\n]*)?)(?=\n?$)/dgv},switch_types:{begin:/(?<=\bswitch\b)\p{space}*([\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*:=)?\p{space}*([\-\]\%\&\(-\+\.\/\<\>\[\|\p{L}\p{M}\p{N}\p{Pc}]+)(\.\(\btype\b\)\p{space}*)(\{)/dgv,beginCaptures:{"1":{patterns:[{include:"#operators"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.assignment.go"}]},"2":{patterns:[{include:"#support_functions"},{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.go"}]},"3":{patterns:[{include:"#delimiters"},{include:"#brackets"},{match:/\btype\b/dgv,name:"keyword.type.go"}]},"4":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{captures:{"1":{name:"keyword.control.go"},"2":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"3":{name:"punctuation.other.colon.go"},"4":{patterns:[{include:"#comments"}]}},match:/^\p{space}*\b(case)\b\p{space}+([\!\*\,\.\<\=\>\p{L}\p{M}\p{N}\p{Pc}\p{space}]+)(:)(\p{space}*\/[\*\/]\p{space}*[^\n]*)?(?=\n?$)/dgv},{begin:/\bcase\b/dgv,beginCaptures:{"0":{name:"keyword.control.go"}},end:/:/dgv,endCaptures:{"0":{name:"punctuation.other.colon.go"}},patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},{include:"$self"}]},syntax_errors:{patterns:[{captures:{"1":{name:"invalid.illegal.slice.go"}},match:/\[\](\p{space}+)/dgv},{match:/\b0[0-7]*[89]\p{Nd}*\b/dgv,name:"invalid.illegal.numeric.go"}]},terminators:{match:/;/dgv,name:"punctuation.terminator.go"},"type-declarations":{patterns:[{include:"#language_constants"},{include:"#comments"},{include:"#map_types"},{include:"#brackets"},{include:"#delimiters"},{include:"#keywords"},{include:"#operators"},{include:"#runes"},{include:"#storage_types"},{include:"#raw_string_literals"},{include:"#string_literals"},{include:"#numeric_literals"},{include:"#terminators"}]},"type-declarations-without-brackets":{patterns:[{include:"#language_constants"},{include:"#comments"},{include:"#map_types"},{include:"#delimiters"},{include:"#keywords"},{include:"#operators"},{include:"#runes"},{include:"#storage_types"},{include:"#raw_string_literals"},{include:"#string_literals"},{include:"#numeric_literals"},{include:"#terminators"}]},type_assertion_inline:{captures:{"1":{name:"keyword.type.go"},"2":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=\.\()(?:\b(type)\b|((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+))(?=\))/dgv},var_assignment:{patterns:[{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.assignment.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#generic_types"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=\bvar\b)\p{space}*\b([\.\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\.\p{L}\p{M}\p{N}\p{Pc}]+)*)\p{space}*((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+(?:\([^\)]+\))?)?(?!(?:[\]\*\[]+)?\b(?:struct|func|map)\b)(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)*)?\p{space}*=?)?/dgv},{begin:/(?<=\bvar\b)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.assignment.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#generic_types"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/^\p{space}*\b([\.\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\.\p{L}\p{M}\p{N}\p{Pc}]+)*)\p{space}*((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+(?:\([^\)]+\))?)?(?!(?:[\]\*\[]+)?\b(?:struct|func|map)\b)(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)*)?\p{space}*=?)?/dgv},{include:"$self"}]}]},variable_assignment:{patterns:[{captures:{"0":{patterns:[{include:"#delimiters"},{match:/\p{Nd}[\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"invalid.illegal.identifier.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.assignment.go"}]}},match:/\b[\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]+)*(?=\p{space}*:=)/dgv},{captures:{"0":{patterns:[{include:"#delimiters"},{include:"#operators"},{match:/\p{Nd}[\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"invalid.illegal.identifier.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.assignment.go"}]}},match:/\b[\*\.\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)*(?=\p{space}*=(?!=))/dgv}]}},scopeName:"source.go",embeddedLangs:undefined,aliases:undefined})
3
+ const lang = Object.freeze({displayName:"Go",name:"go",patterns:[{include:"#statements"}],repository:{after_control_variables:{captures:{"1":{patterns:[{include:"#type-declarations-without-brackets"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.go"}]}},match:/(?<=\brange\b|\bswitch\b|;|\bif\b|\bfor\b|[\<\>]|<=|>=|==|!=|[\p{L}\p{M}\p{N}\p{Pc}][\-\%\*\+\/]|[\p{L}\p{M}\p{N}\p{Pc}][\-\%\*\+\/]=|\|\||&&)\p{space}*((?![\]\[]+)[\-\]\!\%\*\+\.\/\:\<\=\>\[_\p{Alpha}\p{Nd}]+)\p{space}*(?=\{)/dgv},brackets:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{include:"$self"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"$self"}]},{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.square.go"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"$self"}]}]},built_in_functions:{patterns:[{match:/\b(append|cap|close|complex|copy|delete|imag|len|panic|print|println|real|recover|min|max|clear)\b(?=\()/dgv,name:"entity.name.function.support.builtin.go"},{begin:/\b(new)\b(\()/dgv,beginCaptures:{"1":{name:"entity.name.function.support.builtin.go"},"2":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#functions"},{include:"#struct_variables_types"},{include:"#type-declarations"},{include:"#generic_types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"},{include:"$self"}]},{begin:/\b(make)\b(\()((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+(?:\([^\)]+\))?)?(?:[\]\*\[]+)?(?:(?!\bmap\b)[\.\p{L}\p{M}\p{N}\p{Pc}]+)?(\[(?:\P{space}+(?:,\p{space}*\P{space}+)*)?\])?,?)?/dgv,beginCaptures:{"1":{name:"entity.name.function.support.builtin.go"},"2":{name:"punctuation.definition.begin.bracket.round.go"},"3":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"$self"}]}]},comments:{patterns:[{begin:/(\/\*)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.go"}},end:/(\*\/)/dgv,endCaptures:{"1":{name:"punctuation.definition.comment.go"}},name:"comment.block.go"},{begin:/(\/\/)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.go"}},end:/\n|(?=\n?$)/dgv,name:"comment.line.double-slash.go"}]},const_assignment:{patterns:[{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.constant.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#generic_types"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=\bconst\b)\p{space}*\b([\.\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\.\p{L}\p{M}\p{N}\p{Pc}]+)*)\p{space}*((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+(?:\([^\)]+\))?)?(?!(?:[\]\*\[]+)?\b(?:struct|func|map)\b)(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)*)?\p{space}*=?)?/dgv},{begin:/(?<=\bconst\b)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.constant.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#generic_types"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/^\p{space}*\b([\.\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\.\p{L}\p{M}\p{N}\p{Pc}]+)*)\p{space}*((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+(?:\([^\)]+\))?)?(?!(?:[\]\*\[]+)?\b(?:struct|func|map)\b)(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)*)?\p{space}*=?)?/dgv},{include:"$self"}]}]},delimiters:{patterns:[{match:/,/dgv,name:"punctuation.other.comma.go"},{match:/\.(?!\.\.)/dgv,name:"punctuation.other.period.go"},{match:/:(?!=)/dgv,name:"punctuation.other.colon.go"}]},double_parentheses_types:{captures:{"1":{patterns:[{include:"#type-declarations-without-brackets"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(\((?:[\]\*\[]+)?[\.\p{L}\p{M}\p{N}\p{Pc}]+(?:\[(?:[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+)*)?\])?\))(?=\()/dgv},field_hover:{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{patterns:[{match:/\binvalid\b\p{space}+\btype\b/dgv,name:"invalid.field.go"},{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=^\bfield\b)\p{space}+([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+([\p{space}\P{space}]+)/dgv},function_declaration:{begin:/^\b(func)\b\p{space}*(\([^\)]+\)\p{space}*)?(?:([\p{L}\p{M}\p{N}\p{Pc}]+)(?=[\(\[]))?/dgv,beginCaptures:{"1":{name:"keyword.function.go"},"2":{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{captures:{"1":{name:"variable.parameter.go"},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/([\p{L}\p{M}\p{N}\p{Pc}]+\p{space}+)?([\*\.\p{L}\p{M}\p{N}\p{Pc}]+(?:\[(?:(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}+)?)+)?\])?)/dgv},{include:"$self"}]}]},"3":{patterns:[{match:/\p{Nd}[\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"invalid.illegal.identifier.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.function.go"}]}},end:/(?<=\))\p{space}*((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?!(?:[\]\*\[]+)?\b(?:struct|interface)\b)[\-\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)?\p{space}*(?=\{)/dgv,endCaptures:{"1":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"}]},{begin:/([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(\[)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{name:"punctuation.definition.begin.bracket.square.go"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"#generic_param_types"}]},{captures:{"1":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=\))\p{space}*((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?[\-\]\*\.\<\>\[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*(?:\/[\*\/][^\n]*)?)(?=\n?$)/dgv},{include:"$self"}]},function_param_types:{patterns:[{include:"#struct_variables_types"},{include:"#interface_variables_types"},{include:"#type-declarations-without-brackets"},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.go"}]}},match:/((?:(?:\b[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?\b[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+(?=(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?:[\]\*\[]+)?\b(?:struct|interface)\b\p{space}*\{)/dgv},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.go"}]}},match:/(?:(?<=\()|^\p{space}*)((?:\b[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+(?:\/[\*\/][^\n]*)?)(?=\n?$)/dgv},{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/((?:(?:\b[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?\b[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?:(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)?(?:\bfunc\b\((?:[^\)]+)?\)(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?\p{space}*)+(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+|\((?:[^\)]+)?\))?|(?:(?:[\]\*\[]+)?[\*\.\p{L}\p{M}\p{N}\p{Pc}]+(?:\[[^\]]+\])?(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?)+))/dgv},{begin:/([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(\[)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{name:"punctuation.definition.begin.bracket.square.go"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"#generic_param_types"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"}]},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/([\.\p{L}\p{M}\p{N}\p{Pc}]+)/dgv},{include:"$self"}]},functions:{begin:/\b(func)\b(?=\()/dgv,beginCaptures:{"1":{name:"keyword.function.go"}},end:/(?<=\))(\p{space}*(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(\p{space}*(?:(?:[\]\*\[]+)?[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(?:\[(?:(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(?:\[(?:[^\]]+)?\])?(?:,\p{space}+)?)+\]|\((?:[^\)]+)?\))?(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?\p{space}*(?=\{)|\p{space}*(?:(?:[\]\*\[]+)?(?!\bfunc\b)[\*\.\p{L}\p{M}\p{N}\p{Pc}]+(?:\[(?:(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(?:\[(?:[^\]]+)?\])?(?:,\p{space}+)?)+\])?(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?|\((?:[^\)]+)?\)))?/dgv,endCaptures:{"1":{patterns:[{include:"#type-declarations"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},patterns:[{include:"#parameter-variable-types"}]},functions_inline:{captures:{"1":{name:"keyword.function.go"},"2":{patterns:[{include:"#type-declarations-without-brackets"},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"},{include:"$self"}]},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/\b(func)\b(\([^\/]*?\)\p{space}+\([^\/]*?\))\p{space}+(?=\{)/dgv},generic_param_types:{patterns:[{include:"#struct_variables_types"},{include:"#interface_variables_types"},{include:"#type-declarations-without-brackets"},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.go"}]}},match:/((?:(?:\b[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?\b[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+(?=(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?:[\]\*\[]+)?\b(?:struct|interface)\b\p{space}*\{)/dgv},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.go"}]}},match:/(?:(?<=\()|^\p{space}*)((?:\b[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+(?:\/[\*\/][^\n]*)?)(?=\n?$)/dgv},{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"3":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/((?:(?:\b[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?\b[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?:(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)?(?:\bfunc\b\((?:[^\)]+)?\)(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?\p{space}*)+(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+|\((?:[^\)]+)?\))?|(?:(?:[\*\.\~\p{L}\p{M}\p{N}\p{Pc}]+|\[(?:(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(?:\[(?:[^\]]+)?\])?(?:,\p{space}+)?)+\])(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?)+))/dgv},{begin:/([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(\[)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{name:"punctuation.definition.begin.bracket.square.go"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"#generic_param_types"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"}]},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/\b([\.\p{L}\p{M}\p{N}\p{Pc}]+)/dgv},{include:"$self"}]},generic_types:{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{patterns:[{include:"#parameter-variable-types"}]}},match:/([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)(\[(?:[^\]]+)?\])/dgv},"group-functions":{patterns:[{include:"#function_declaration"},{include:"#functions_inline"},{include:"#functions"},{include:"#built_in_functions"},{include:"#support_functions"}]},"group-types":{patterns:[{include:"#other_struct_interface_expressions"},{include:"#type_assertion_inline"},{include:"#struct_variables_types"},{include:"#interface_variables_types"},{include:"#single_type"},{include:"#multi_types"},{include:"#struct_interface_declaration"},{include:"#double_parentheses_types"},{include:"#switch_types"},{include:"#type-declarations"}]},"group-variables":{patterns:[{include:"#const_assignment"},{include:"#var_assignment"},{include:"#variable_assignment"},{include:"#label_loop_variables"},{include:"#slice_index_variables"},{include:"#property_variables"},{include:"#switch_select_case_variables"},{include:"#other_variables"}]},import:{patterns:[{begin:/\b(import)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.control.import.go"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{include:"#imports"}]}]},imports:{patterns:[{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.import.go"}]},"2":{name:"string.quoted.double.go"},"3":{name:"punctuation.definition.string.begin.go"},"4":{name:"entity.name.import.go"},"5":{name:"punctuation.definition.string.end.go"}},match:/(\p{space}*[\.\p{L}\p{M}\p{N}\p{Pc}]+)?\p{space}*((")([^"]*)("))/dgv},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.imports.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.imports.end.bracket.round.go"}},patterns:[{include:"#comments"},{include:"#imports"}]},{include:"$self"}]},interface_variables_types:{begin:/\b(interface)\b\p{space}*(\{)/dgv,beginCaptures:{"1":{name:"keyword.interface.go"},"2":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{include:"#interface_variables_types_field"},{include:"$self"}]},interface_variables_types_field:{patterns:[{include:"#support_functions"},{include:"#type-declarations-without-brackets"},{begin:/([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(\[)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{name:"punctuation.definition.begin.bracket.square.go"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"#generic_param_types"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"}]},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/([\.\p{L}\p{M}\p{N}\p{Pc}]+)/dgv}]},keywords:{patterns:[{match:/\b(break|case|continue|default|defer|else|fallthrough|for|go|goto|if|range|return|select|switch)\b/dgv,name:"keyword.control.go"},{match:/\bchan\b/dgv,name:"keyword.channel.go"},{match:/\bconst\b/dgv,name:"keyword.const.go"},{match:/\bvar\b/dgv,name:"keyword.var.go"},{match:/\bfunc\b/dgv,name:"keyword.function.go"},{match:/\binterface\b/dgv,name:"keyword.interface.go"},{match:/\bmap\b/dgv,name:"keyword.map.go"},{match:/\bstruct\b/dgv,name:"keyword.struct.go"},{match:/\bimport\b/dgv,name:"keyword.control.import.go"},{match:/\btype\b/dgv,name:"keyword.type.go"}]},label_loop_variables:{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.label.go"}]}},match:/^(\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]+:\p{space}*|\p{space}*\b(?:break|goto|continue)\b\p{space}+[\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}*\/[\*\/]\p{space}*[^\n]*)?)(?=\n?$)/dgv},language_constants:{captures:{"1":{name:"constant.language.boolean.go"},"2":{name:"constant.language.null.go"},"3":{name:"constant.language.iota.go"}},match:/\b(?:(true|false)|(nil)|(iota))\b/dgv},map_types:{begin:/\b(map)\b(\[)/dgv,beginCaptures:{"1":{name:"keyword.map.go"},"2":{name:"punctuation.definition.begin.bracket.square.go"}},end:/(\])((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?!(?:[\]\*\[]+)?\b(?:func|struct|map)\b)(?:[\]\*\[]+)?[\.\p{L}\p{M}\p{N}\p{Pc}]+(?:\[(?:[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+)*)?\])?)?/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.square.go"},"2":{patterns:[{include:"#type-declarations-without-brackets"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{include:"#functions"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},multi_types:{begin:/\b(type)\b\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.type.go"},"2":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#struct_variables_types"},{include:"#interface_variables_types"},{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},numeric_literals:{captures:{"0":{patterns:[{begin:/(?=[^\n])/dgv,end:/\n|(?=\n?$)/dgv,patterns:[{captures:{"1":{name:"constant.numeric.decimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"2":{name:"punctuation.separator.constant.numeric.go"},"3":{name:"constant.numeric.decimal.point.go"},"4":{name:"constant.numeric.decimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"5":{name:"punctuation.separator.constant.numeric.go"},"6":{name:"keyword.other.unit.exponent.decimal.go"},"7":{name:"keyword.operator.plus.exponent.decimal.go"},"8":{name:"keyword.operator.minus.exponent.decimal.go"},"9":{name:"constant.numeric.exponent.decimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"10":{name:"keyword.other.unit.imaginary.go"},"11":{name:"constant.numeric.decimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"12":{name:"punctuation.separator.constant.numeric.go"},"13":{name:"keyword.other.unit.exponent.decimal.go"},"14":{name:"keyword.operator.plus.exponent.decimal.go"},"15":{name:"keyword.operator.minus.exponent.decimal.go"},"16":{name:"constant.numeric.exponent.decimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"17":{name:"keyword.other.unit.imaginary.go"},"18":{name:"constant.numeric.decimal.point.go"},"19":{name:"constant.numeric.decimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"20":{name:"punctuation.separator.constant.numeric.go"},"21":{name:"keyword.other.unit.exponent.decimal.go"},"22":{name:"keyword.operator.plus.exponent.decimal.go"},"23":{name:"keyword.operator.minus.exponent.decimal.go"},"24":{name:"constant.numeric.exponent.decimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"25":{name:"keyword.other.unit.imaginary.go"},"26":{name:"keyword.other.unit.hexadecimal.go"},"27":{name:"constant.numeric.hexadecimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"28":{name:"punctuation.separator.constant.numeric.go"},"29":{name:"constant.numeric.hexadecimal.go"},"30":{name:"constant.numeric.hexadecimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"31":{name:"punctuation.separator.constant.numeric.go"},"32":{name:"keyword.other.unit.exponent.hexadecimal.go"},"33":{name:"keyword.operator.plus.exponent.hexadecimal.go"},"34":{name:"keyword.operator.minus.exponent.hexadecimal.go"},"35":{name:"constant.numeric.exponent.hexadecimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"36":{name:"keyword.other.unit.imaginary.go"},"37":{name:"keyword.other.unit.hexadecimal.go"},"38":{name:"constant.numeric.hexadecimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"39":{name:"punctuation.separator.constant.numeric.go"},"40":{name:"keyword.other.unit.exponent.hexadecimal.go"},"41":{name:"keyword.operator.plus.exponent.hexadecimal.go"},"42":{name:"keyword.operator.minus.exponent.hexadecimal.go"},"43":{name:"constant.numeric.exponent.hexadecimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"44":{name:"keyword.other.unit.imaginary.go"},"45":{name:"keyword.other.unit.hexadecimal.go"},"46":{name:"constant.numeric.hexadecimal.go"},"47":{name:"constant.numeric.hexadecimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"48":{name:"punctuation.separator.constant.numeric.go"},"49":{name:"keyword.other.unit.exponent.hexadecimal.go"},"50":{name:"keyword.operator.plus.exponent.hexadecimal.go"},"51":{name:"keyword.operator.minus.exponent.hexadecimal.go"},"52":{name:"constant.numeric.exponent.hexadecimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"53":{name:"keyword.other.unit.imaginary.go"}},match:/(?:(?:(?:(?:(?:(?=[\.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\p{AHex})_(?=\p{AHex})))*)((?<=[0-9])\.|\.(?=[0-9]))([0-9](?:[0-9]|((?<=\p{AHex})_(?=\p{AHex})))*)?(?:(?<!_)([Ee])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})_(?=\p{AHex}))*))?(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$))|(?=[\.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\p{AHex})_(?=\p{AHex})))*)(?<!_)([Ee])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})_(?=\p{AHex}))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|((?<=[0-9])\.|\.(?=[0-9]))([0-9](?:[0-9]|((?<=\p{AHex})_(?=\p{AHex})))*)(?:(?<!_)([Ee])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})_(?=\p{AHex}))*))?(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|(0[Xx])_?(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})_(?=\p{AHex})))*)((?<=\p{AHex})\.|\.(?=\p{AHex}))(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})_(?=\p{AHex})))*)?(?<!_)([Pp])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})_(?=\p{AHex}))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|(0[Xx])_?(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})_(?=\p{AHex})))*)(?<!_)([Pp])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})_(?=\p{AHex}))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|(0[Xx])((?<=\p{AHex})\.|\.(?=\p{AHex}))(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})_(?=\p{AHex})))*)(?<!_)([Pp])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})_(?=\p{AHex}))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))/dgvy},{captures:{"1":{name:"constant.numeric.decimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"2":{name:"punctuation.separator.constant.numeric.go"},"3":{name:"keyword.other.unit.imaginary.go"},"4":{name:"keyword.other.unit.binary.go"},"5":{name:"constant.numeric.binary.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"6":{name:"punctuation.separator.constant.numeric.go"},"7":{name:"keyword.other.unit.imaginary.go"},"8":{name:"keyword.other.unit.octal.go"},"9":{name:"constant.numeric.octal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"10":{name:"punctuation.separator.constant.numeric.go"},"11":{name:"keyword.other.unit.imaginary.go"},"12":{name:"keyword.other.unit.hexadecimal.go"},"13":{name:"constant.numeric.hexadecimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"14":{name:"punctuation.separator.constant.numeric.go"},"15":{name:"keyword.other.unit.imaginary.go"}},match:/(?:(?:(?:(?=[\.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\p{AHex})_(?=\p{AHex})))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$))|(0[Bb])_?([01](?:[01]|((?<=\p{AHex})_(?=\p{AHex})))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|(0[Oo]?)_?((?:[0-7]|((?<=\p{AHex})_(?=\p{AHex})))+)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|(0[Xx])_?(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})_(?=\p{AHex})))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))/dgvy},{match:/(?:[\.0-9A-Z_a-z]|(?<=[EPep])[\-\+])+/dgv,name:"invalid.illegal.constant.numeric.go"}]}]}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])\.?\p{Nd}(?:[\.0-9A-Z_a-z]|(?<=[EPep])[\-\+])*/dgv},operators:{patterns:[{match:/([\&\*]+)(?!\p{Nd})(?=[\]\[\p{L}\p{M}\p{N}\p{Pc}]|<-)/dgv,name:"keyword.operator.address.go"},{match:/<-/dgv,name:"keyword.operator.channel.go"},{match:/--/dgv,name:"keyword.operator.decrement.go"},{match:/\+\+/dgv,name:"keyword.operator.increment.go"},{match:/(==|!=|<=|>=|<(?!<)|>(?!>))/dgv,name:"keyword.operator.comparison.go"},{match:/(&&|\|\||!)/dgv,name:"keyword.operator.logical.go"},{match:/((?:|[\-\%\*\+\/\:\^\|]|<<|>>|&\^?)=)/dgv,name:"keyword.operator.assignment.go"},{match:/([\-\%\*\+\/])/dgv,name:"keyword.operator.arithmetic.go"},{match:/(&(?!\^)|[\^\|]|&\^|<<|>>|~)/dgv,name:"keyword.operator.arithmetic.bitwise.go"},{match:/\.\.\./dgv,name:"keyword.operator.ellipsis.go"}]},other_struct_interface_expressions:{patterns:[{include:"#after_control_variables"},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/\b([\.\p{L}\p{M}\p{N}\p{Pc}]+)(\[(?:[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+)*)?\])?(?=\{)(?<!\b(?:struct|interface)\b)/dgv}]},other_variables:{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.go"},package_name:{patterns:[{begin:/\b(package)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.package.go"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{match:/\p{Nd}[\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"invalid.illegal.identifier.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.package.go"}]}]},"parameter-variable-types":{patterns:[{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{begin:/([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(\[)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{name:"punctuation.definition.begin.bracket.square.go"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"#generic_param_types"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"}]}]},property_variables:{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]}},match:/\b([\.\p{L}\p{M}\p{N}\p{Pc}]+:(?!=))/dgv},raw_string_literals:{begin:/`/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.go"}},end:/`/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.go"}},name:"string.quoted.raw.go",patterns:[{include:"#string_placeholder"}]},runes:{patterns:[{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.go"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.go"}},name:"string.quoted.rune.go",patterns:[{match:/(\\([0-7]{3}|["'\\abfnrtv]|x\p{AHex}{2}|u\p{AHex}{4}|U\p{AHex}{8})|[^\n])(?=')/dgvy,name:"constant.other.rune.go"},{match:/[^']+/dgv,name:"invalid.illegal.unknown-rune.go"}]}]},single_type:{patterns:[{captures:{"1":{name:"keyword.type.go"},"2":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"3":{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"},{include:"$self"}]},{include:"#type-declarations"},{include:"#generic_types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/^\p{space}*\b(type)\b\p{space}*([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+(?!(?:=\p{space}*)?(?:[\]\*\[]+)?\b(?:struct|interface)\b)([\p{space}\P{space}]+)/dgv},{begin:/(?:^|\p{space}+)\b(type)\b\p{space}*([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)(?=\[)/dgv,beginCaptures:{"1":{name:"keyword.type.go"},"2":{patterns:[{include:"#type-declarations-without-brackets"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},end:/(?<=\])(\p{space}+(?:=\p{space}*)?(?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?!(?:[\]\*\[]+)?\b(?:struct|interface|func)\b)[\-\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)*)?/dgv,endCaptures:{"1":{patterns:[{include:"#type-declarations-without-brackets"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},patterns:[{include:"#struct_variables_types"},{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}]},slice_index_variables:{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.go"}]}},match:/(?<=[\p{L}\p{M}\p{N}\p{Pc}]\[)((?:\b[\-\%\&\*\+\.\/\<\>\|\p{L}\p{M}\p{N}\p{Pc}]+:|:\b[\-\%\&\*\+\.\/\<\>\|\p{L}\p{M}\p{N}\p{Pc}]+)(?:\b[\-\%\&\*\+\.\/\<\>\|\p{L}\p{M}\p{N}\p{Pc}]+)?(?::\b[\-\%\&\*\+\.\/\<\>\|\p{L}\p{M}\p{N}\p{Pc}]+)?)(?=\])/dgv},statements:{patterns:[{include:"#package_name"},{include:"#import"},{include:"#syntax_errors"},{include:"#group-functions"},{include:"#group-types"},{include:"#group-variables"},{include:"#field_hover"}]},storage_types:{patterns:[{match:/\bbool\b/dgv,name:"storage.type.boolean.go"},{match:/\bbyte\b/dgv,name:"storage.type.byte.go"},{match:/\berror\b/dgv,name:"storage.type.error.go"},{match:/\b(complex(64|128)|float(32|64)|u?int(8|16|32|64)?)\b/dgv,name:"storage.type.numeric.go"},{match:/\brune\b/dgv,name:"storage.type.rune.go"},{match:/\bstring\b/dgv,name:"storage.type.string.go"},{match:/\buintptr\b/dgv,name:"storage.type.uintptr.go"},{match:/\bany\b/dgv,name:"entity.name.type.any.go"},{match:/\bcomparable\b/dgv,name:"entity.name.type.comparable.go"}]},string_escaped_char:{patterns:[{match:/\\([0-7]{3}|["'\\abfnrtv]|x\p{AHex}{2}|u\p{AHex}{4}|U\p{AHex}{8})/dgv,name:"constant.character.escape.go"},{match:/\\[^"'0-7Uabfnrtuvx]/dgv,name:"invalid.illegal.unknown-escape.go"}]},string_literals:{patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.go"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.go"}},name:"string.quoted.double.go",patterns:[{include:"#string_escaped_char"},{include:"#string_placeholder"}]}]},string_placeholder:{patterns:[{match:/%(\[\p{Nd}+\])?([\- \#\+0]{0,2}((\p{Nd}+|\*)?(\.?(\p{Nd}+|\*|(\[\p{Nd}+\])\*?)?(\[\p{Nd}+\])?)?))?[\%EFGTUXb-gopqstvwx]/dgv,name:"constant.other.placeholder.go"}]},struct_interface_declaration:{captures:{"1":{name:"keyword.type.go"},"2":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/^\p{space}*\b(type)\b\p{space}*([\.\p{L}\p{M}\p{N}\p{Pc}]+)/dgv},struct_variable_types_fields_multi:{patterns:[{begin:/([\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]+)*(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?\p{space}+(?:[\]\*\[]+)?)\b(struct)\b\p{space}*(\{)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{name:"keyword.struct.go"},"3":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{include:"#struct_variables_types_fields"},{include:"$self"}]},{begin:/([\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]+)*(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?\p{space}+(?:[\]\*\[]+)?)\b(interface)\b\p{space}*(\{)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{name:"keyword.interface.go"},"3":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{include:"#interface_variables_types_field"},{include:"$self"}]},{begin:/([\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]+)*(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?\p{space}+(?:[\]\*\[]+)?)\b(func)\b\p{space}*(\()/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{name:"keyword.function.go"},"3":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"},{include:"$self"}]},{include:"#parameter-variable-types"}]},struct_variables_types:{begin:/\b(struct)\b\p{space}*(\{)/dgv,beginCaptures:{"1":{name:"keyword.struct.go"},"2":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{include:"#struct_variables_types_fields"},{include:"$self"}]},struct_variables_types_fields:{patterns:[{include:"#struct_variable_types_fields_multi"},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=\{)\p{space}*((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(?=\})/dgv},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=\{)\p{space}*((?:(?:[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}+)((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(?=\})/dgv},{captures:{"1":{patterns:[{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/((?:(?:[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}+)?((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?\P{space}+;?)/dgv}]}},match:/(?<=\{)((?:\p{space}*(?:(?:(?:[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}+)?(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?\P{space}+;?)+)\p{space}*(?=\})/dgv},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?[\*\.\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*)(?:(?=["\/\`])|(?=\n?$))/dgv},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/((?:(?:[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}+)([^"\/\`]+)/dgv}]},support_functions:{captures:{"1":{name:"entity.name.function.support.go"},"2":{patterns:[{include:"#type-declarations"},{match:/\p{Nd}[\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"invalid.illegal.identifier.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.function.support.go"}]},"3":{patterns:[{include:"#type-declarations-without-brackets"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?:((?<=\.)\b[\p{L}\p{M}\p{N}\p{Pc}]+)|\b([\p{L}\p{M}\p{N}\p{Pc}]+))(\[(?:[\]"'\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+)*)?\])?(?=\()/dgv},switch_select_case_variables:{captures:{"1":{name:"keyword.control.go"},"2":{patterns:[{include:"#type-declarations"},{include:"#support_functions"},{include:"#variable_assignment"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.go"}]}},match:/^\p{space}*\b(case)\b\p{space}+([\p{space}\P{space}]+:\p{space}*(?:\/[\*\/][^\n]*)?)(?=\n?$)/dgv},switch_types:{begin:/(?<=\bswitch\b)\p{space}*([\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*:=)?\p{space}*([\-\]\%\&\(-\+\.\/\<\>\[\|\p{L}\p{M}\p{N}\p{Pc}]+)(\.\(\btype\b\)\p{space}*)(\{)/dgv,beginCaptures:{"1":{patterns:[{include:"#operators"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.assignment.go"}]},"2":{patterns:[{include:"#support_functions"},{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.go"}]},"3":{patterns:[{include:"#delimiters"},{include:"#brackets"},{match:/\btype\b/dgv,name:"keyword.type.go"}]},"4":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{captures:{"1":{name:"keyword.control.go"},"2":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"3":{name:"punctuation.other.colon.go"},"4":{patterns:[{include:"#comments"}]}},match:/^\p{space}*\b(case)\b\p{space}+([\!\*\,\.\<\=\>\p{L}\p{M}\p{N}\p{Pc}\p{space}]+)(:)(\p{space}*\/[\*\/]\p{space}*[^\n]*)?(?=\n?$)/dgv},{begin:/\bcase\b/dgv,beginCaptures:{"0":{name:"keyword.control.go"}},end:/:/dgv,endCaptures:{"0":{name:"punctuation.other.colon.go"}},patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},{include:"$self"}]},syntax_errors:{patterns:[{captures:{"1":{name:"invalid.illegal.slice.go"}},match:/\[\](\p{space}+)/dgv},{match:/\b0[0-7]*[89]\p{Nd}*\b/dgv,name:"invalid.illegal.numeric.go"}]},terminators:{match:/;/dgv,name:"punctuation.terminator.go"},"type-declarations":{patterns:[{include:"#language_constants"},{include:"#comments"},{include:"#map_types"},{include:"#brackets"},{include:"#delimiters"},{include:"#keywords"},{include:"#operators"},{include:"#runes"},{include:"#storage_types"},{include:"#raw_string_literals"},{include:"#string_literals"},{include:"#numeric_literals"},{include:"#terminators"}]},"type-declarations-without-brackets":{patterns:[{include:"#language_constants"},{include:"#comments"},{include:"#map_types"},{include:"#delimiters"},{include:"#keywords"},{include:"#operators"},{include:"#runes"},{include:"#storage_types"},{include:"#raw_string_literals"},{include:"#string_literals"},{include:"#numeric_literals"},{include:"#terminators"}]},type_assertion_inline:{captures:{"1":{name:"keyword.type.go"},"2":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=\.\()(?:\b(type)\b|((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+))(?=\))/dgv},var_assignment:{patterns:[{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.assignment.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#generic_types"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=\bvar\b)\p{space}*\b([\.\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\.\p{L}\p{M}\p{N}\p{Pc}]+)*)\p{space}*((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+(?:\([^\)]+\))?)?(?!(?:[\]\*\[]+)?\b(?:struct|func|map)\b)(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)*)?\p{space}*=?)?/dgv},{begin:/(?<=\bvar\b)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.assignment.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#generic_types"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/^\p{space}*\b([\.\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\.\p{L}\p{M}\p{N}\p{Pc}]+)*)\p{space}*((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+(?:\([^\)]+\))?)?(?!(?:[\]\*\[]+)?\b(?:struct|func|map)\b)(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)*)?\p{space}*=?)?/dgv},{include:"$self"}]}]},variable_assignment:{patterns:[{captures:{"0":{patterns:[{include:"#delimiters"},{match:/\p{Nd}[\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"invalid.illegal.identifier.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.assignment.go"}]}},match:/\b[\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]+)*(?=\p{space}*:=)/dgv},{captures:{"0":{patterns:[{include:"#delimiters"},{include:"#operators"},{match:/\p{Nd}[\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"invalid.illegal.identifier.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.assignment.go"}]}},match:/\b[\*\.\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)*(?=\p{space}*=(?!=))/dgv}]}},scopeName:"source.go",embeddedLangs:undefined,aliases:undefined})
4
4
 
5
5
  export default [
6
6
  lang