@shikijs/langs-precompiled 3.1.0 → 3.2.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 (217) hide show
  1. package/dist/abap.mjs +1 -1
  2. package/dist/actionscript-3.mjs +1 -1
  3. package/dist/ada.mjs +1 -1
  4. package/dist/angular-expression.mjs +1 -1
  5. package/dist/angular-html.mjs +1 -1
  6. package/dist/angular-inline-style.mjs +1 -1
  7. package/dist/angular-inline-template.mjs +1 -1
  8. package/dist/angular-ts.mjs +1 -1
  9. package/dist/apache.mjs +1 -1
  10. package/dist/apex.mjs +1 -1
  11. package/dist/apl.mjs +1 -1
  12. package/dist/applescript.mjs +1 -1
  13. package/dist/ara.mjs +1 -1
  14. package/dist/asciidoc.mjs +1 -1
  15. package/dist/asm.mjs +1 -1
  16. package/dist/astro.mjs +1 -1
  17. package/dist/awk.mjs +1 -1
  18. package/dist/ballerina.mjs +1 -1
  19. package/dist/bat.mjs +1 -1
  20. package/dist/beancount.mjs +1 -1
  21. package/dist/berry.mjs +1 -1
  22. package/dist/bicep.mjs +1 -1
  23. package/dist/blade.mjs +1 -1
  24. package/dist/bsl.mjs +1 -1
  25. package/dist/c.mjs +1 -1
  26. package/dist/cadence.mjs +1 -1
  27. package/dist/cairo.mjs +1 -1
  28. package/dist/clarity.mjs +1 -1
  29. package/dist/clojure.mjs +1 -1
  30. package/dist/cmake.mjs +1 -1
  31. package/dist/cobol.mjs +1 -1
  32. package/dist/codeql.mjs +1 -1
  33. package/dist/coffee.mjs +1 -1
  34. package/dist/common-lisp.mjs +1 -1
  35. package/dist/coq.mjs +1 -1
  36. package/dist/cpp-macro.mjs +1 -1
  37. package/dist/cpp.mjs +1 -1
  38. package/dist/crystal.mjs +1 -1
  39. package/dist/csharp.mjs +1 -1
  40. package/dist/css.mjs +1 -1
  41. package/dist/cue.mjs +1 -1
  42. package/dist/cypher.mjs +1 -1
  43. package/dist/d.mjs +1 -1
  44. package/dist/dart.mjs +1 -1
  45. package/dist/dax.mjs +1 -1
  46. package/dist/desktop.mjs +1 -1
  47. package/dist/diff.mjs +1 -1
  48. package/dist/dotenv.mjs +1 -1
  49. package/dist/dream-maker.mjs +1 -1
  50. package/dist/elixir.mjs +1 -1
  51. package/dist/elm.mjs +1 -1
  52. package/dist/emacs-lisp.mjs +1 -1
  53. package/dist/erlang.mjs +1 -1
  54. package/dist/es-tag-css.mjs +1 -1
  55. package/dist/es-tag-glsl.mjs +1 -1
  56. package/dist/es-tag-html.mjs +1 -1
  57. package/dist/es-tag-sql.mjs +1 -1
  58. package/dist/es-tag-xml.mjs +1 -1
  59. package/dist/fennel.mjs +1 -1
  60. package/dist/fish.mjs +1 -1
  61. package/dist/fluent.mjs +1 -1
  62. package/dist/fortran-free-form.mjs +1 -1
  63. package/dist/fsharp.mjs +1 -1
  64. package/dist/gdresource.mjs +1 -1
  65. package/dist/gdscript.mjs +1 -1
  66. package/dist/gdshader.mjs +1 -1
  67. package/dist/genie.mjs +1 -1
  68. package/dist/git-rebase.mjs +1 -1
  69. package/dist/gleam.mjs +1 -1
  70. package/dist/glimmer-js.mjs +1 -1
  71. package/dist/glimmer-ts.mjs +1 -1
  72. package/dist/glsl.mjs +1 -1
  73. package/dist/gnuplot.mjs +1 -1
  74. package/dist/go.mjs +1 -1
  75. package/dist/graphql.mjs +1 -1
  76. package/dist/groovy.mjs +1 -1
  77. package/dist/hack.mjs +1 -1
  78. package/dist/haml.mjs +1 -1
  79. package/dist/handlebars.mjs +1 -1
  80. package/dist/haskell.mjs +1 -1
  81. package/dist/haxe.mjs +1 -1
  82. package/dist/hcl.mjs +1 -1
  83. package/dist/hjson.mjs +1 -1
  84. package/dist/hlsl.mjs +1 -1
  85. package/dist/html-derivative.mjs +1 -1
  86. package/dist/html.mjs +1 -1
  87. package/dist/http.mjs +1 -1
  88. package/dist/hxml.mjs +1 -1
  89. package/dist/hy.mjs +1 -1
  90. package/dist/imba.mjs +1 -3
  91. package/dist/index.mjs +2 -0
  92. package/dist/java.mjs +1 -1
  93. package/dist/javascript.mjs +1 -1
  94. package/dist/jinja-html.mjs +1 -1
  95. package/dist/jinja.mjs +1 -1
  96. package/dist/jison.mjs +1 -1
  97. package/dist/json.mjs +1 -1
  98. package/dist/json5.mjs +1 -1
  99. package/dist/jsonc.mjs +1 -1
  100. package/dist/jsonl.mjs +1 -1
  101. package/dist/jsonnet.mjs +1 -1
  102. package/dist/jsx.mjs +1 -1
  103. package/dist/julia.mjs +1 -2
  104. package/dist/kotlin.mjs +1 -1
  105. package/dist/kusto.mjs +1 -1
  106. package/dist/latex.mjs +1 -1
  107. package/dist/lean.mjs +1 -1
  108. package/dist/less.mjs +1 -1
  109. package/dist/liquid.mjs +1 -1
  110. package/dist/llvm.d.mts +3 -0
  111. package/dist/llvm.mjs +5 -0
  112. package/dist/log.mjs +1 -1
  113. package/dist/lua.mjs +1 -1
  114. package/dist/luau.mjs +1 -1
  115. package/dist/make.mjs +1 -1
  116. package/dist/markdown-vue.mjs +1 -1
  117. package/dist/markdown.mjs +1 -1
  118. package/dist/marko.mjs +1 -1
  119. package/dist/matlab.mjs +1 -1
  120. package/dist/mdc.mjs +1 -1
  121. package/dist/mdx.mjs +1 -1
  122. package/dist/mermaid.mjs +1 -1
  123. package/dist/mipsasm.mjs +1 -1
  124. package/dist/mojo.mjs +1 -1
  125. package/dist/move.mjs +1 -1
  126. package/dist/narrat.mjs +1 -1
  127. package/dist/nextflow.mjs +1 -1
  128. package/dist/nginx.mjs +1 -1
  129. package/dist/nim.mjs +1 -1
  130. package/dist/nix.mjs +1 -1
  131. package/dist/nushell.mjs +1 -1
  132. package/dist/objective-c.mjs +1 -1
  133. package/dist/objective-cpp.mjs +1 -1
  134. package/dist/ocaml.mjs +1 -1
  135. package/dist/pascal.mjs +1 -1
  136. package/dist/perl.mjs +1 -1
  137. package/dist/php.mjs +1 -1
  138. package/dist/plsql.mjs +1 -1
  139. package/dist/po.mjs +1 -1
  140. package/dist/polar.mjs +1 -1
  141. package/dist/postcss.mjs +1 -1
  142. package/dist/powerquery.mjs +1 -1
  143. package/dist/powershell.mjs +1 -1
  144. package/dist/prisma.mjs +1 -1
  145. package/dist/prolog.mjs +1 -1
  146. package/dist/proto.mjs +1 -1
  147. package/dist/pug.mjs +1 -1
  148. package/dist/puppet.mjs +1 -1
  149. package/dist/purescript.mjs +6 -2
  150. package/dist/python.mjs +1 -1
  151. package/dist/qss.mjs +1 -1
  152. package/dist/r.mjs +1 -1
  153. package/dist/racket.mjs +1 -1
  154. package/dist/raku.mjs +1 -1
  155. package/dist/razor.mjs +1 -1
  156. package/dist/reg.mjs +1 -1
  157. package/dist/regexp.mjs +1 -1
  158. package/dist/rel.mjs +1 -1
  159. package/dist/riscv.mjs +1 -1
  160. package/dist/rst.mjs +1 -1
  161. package/dist/ruby.mjs +1 -1
  162. package/dist/rust.mjs +1 -1
  163. package/dist/sas.mjs +1 -1
  164. package/dist/sass.mjs +1 -1
  165. package/dist/scala.mjs +1 -1
  166. package/dist/scheme.mjs +1 -1
  167. package/dist/scss.mjs +1 -1
  168. package/dist/sdbl.mjs +1 -1
  169. package/dist/shaderlab.mjs +1 -1
  170. package/dist/shellscript.mjs +1 -1
  171. package/dist/shellsession.mjs +1 -1
  172. package/dist/smalltalk.mjs +1 -1
  173. package/dist/solidity.mjs +1 -1
  174. package/dist/soy.mjs +1 -1
  175. package/dist/sparql.mjs +1 -1
  176. package/dist/splunk.mjs +1 -1
  177. package/dist/sql.mjs +1 -1
  178. package/dist/ssh-config.mjs +1 -1
  179. package/dist/stata.mjs +1 -1
  180. package/dist/stylus.mjs +1 -1
  181. package/dist/svelte.mjs +1 -1
  182. package/dist/system-verilog.mjs +1 -1
  183. package/dist/systemd.mjs +1 -1
  184. package/dist/talonscript.mjs +1 -1
  185. package/dist/tasl.mjs +1 -1
  186. package/dist/tcl.mjs +1 -1
  187. package/dist/templ.mjs +1 -1
  188. package/dist/terraform.mjs +1 -1
  189. package/dist/tex.mjs +1 -1
  190. package/dist/toml.mjs +1 -1
  191. package/dist/tsx.mjs +1 -1
  192. package/dist/twig.mjs +1 -1
  193. package/dist/typescript.mjs +1 -1
  194. package/dist/typespec.mjs +1 -1
  195. package/dist/typst.mjs +1 -1
  196. package/dist/v.mjs +1 -1
  197. package/dist/vala.mjs +1 -1
  198. package/dist/vb.mjs +1 -1
  199. package/dist/verilog.mjs +1 -1
  200. package/dist/vhdl.mjs +1 -1
  201. package/dist/viml.mjs +1 -1
  202. package/dist/vue-html.mjs +1 -1
  203. package/dist/vue-sfc-style-variable-injection.mjs +1 -1
  204. package/dist/vue.mjs +1 -1
  205. package/dist/vyper.mjs +1 -1
  206. package/dist/wasm.mjs +1 -1
  207. package/dist/wenyan.mjs +1 -1
  208. package/dist/wgsl.mjs +1 -1
  209. package/dist/wikitext.mjs +1 -1
  210. package/dist/wit.d.mts +3 -0
  211. package/dist/wit.mjs +5 -0
  212. package/dist/wolfram.mjs +1 -1
  213. package/dist/xml.mjs +1 -1
  214. package/dist/yaml.mjs +1 -1
  215. package/dist/zenscript.mjs +1 -1
  216. package/dist/zig.mjs +1 -1
  217. package/package.json +6 -4
@@ -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])?([a-zA-Z0-9\-_\$\:\.]+)\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:/(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)/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}(@[a-zA-Z0-9\:_\.\-]+)(=)?/dgv},"glimmer-as-stuff":{patterns:[{include:"#as-keyword"},{include:"#as-params"}]},"glimmer-block":{begin:/(\{\{~?)(#|\/)(([\@\$a-zA-Z0-9_\/\.\-]+))/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:/(\{\{~?)(([\-a-zA-Z_0-9\/]+)\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}|else)([\(\)\@a-zA-Z0-9\.\p{space}\x08]+)?(~?\}\})/dgv,name:"entity.expression.ember-handlebars"},"glimmer-expression":{begin:/(\{\{~?)(([\(\)\p{space}\@a-zA-Z0-9_\.\-]+))/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])([a-zA-Z0-9_\.\-]+))/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([a-zA-Z0-9_\-]+)(\p{space}?=)/dgv,patterns:[]},"glimmer-parameter-value":{captures:{"1":{name:"support.function",patterns:[{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]}},match:/\b([a-zA-Z0-9\:_\.\-]+)\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:/(\()([\@a-zA-Z0-9\.\-]+)/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}([a-zA-Z0-9\:_\.\-]+)(=)?/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:/(<\/?)([a-z0-9\-]+)(?!\.|:)\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}]+\.)*(?:hbs|html)\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])([a-zA-Z0-9_\.\-]+)/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([a-zA-Z0-9\-_]+)\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])?([a-zA-Z0-9\-_\$\:\.]+)\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:/(&)([a-zA-Z0-9]+|#[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}(@[a-zA-Z0-9\:_\.\-]+)(=)?/dgv},"glimmer-as-stuff":{patterns:[{include:"#as-keyword"},{include:"#as-params"}]},"glimmer-block":{begin:/(\{\{~?)([\#\/])(([\@\$a-zA-Z0-9_\/\.\-]+))/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:/(\{\{~?)(([\-a-zA-Z_0-9\/]+)\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}|))([\(\)\@a-zA-Z0-9\.\p{space}\x08]+)?(~?\}\})/dgv,name:"entity.expression.ember-handlebars"},"glimmer-expression":{begin:/(\{\{~?)(([\(\)\p{space}\@a-zA-Z0-9_\.\-]+))/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])([a-zA-Z0-9_\.\-]+))/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([a-zA-Z0-9_\-]+)(\p{space}?=)/dgv,patterns:[]},"glimmer-parameter-value":{captures:{"1":{name:"support.function",patterns:[{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]}},match:/\b([a-zA-Z0-9\:_\.\-]+)\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:/(\()([\@a-zA-Z0-9\.\-]+)/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}([a-zA-Z0-9\:_\.\-]+)(=)?/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:/(<\/?)([a-z0-9\-]+)(?![\.\:])\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])([a-zA-Z0-9_\.\-]+)/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([a-zA-Z0-9\-_]+)\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[1\|2\|3]D|samplerCube|sampler2DRect|sampler[1\|2]DShadow|sampler2DRectShadow|sampler[1\|2]DArray|sampler[1\|2]DArrayShadow|samplerBuffer|sampler2DMS|sampler2DMSArray|struct|isampler[1\|2\|3]D|isamplerCube|isampler2DRect|isampler[1\|2]DArray|isamplerBuffer|isampler2DMS|isampler2DMSArray|usampler[1\|2\|3]D|usamplerCube|usampler2DRect|usampler[1\|2]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|gl_BackLightModelProduct|gl_BackLightProduct|gl_BackMaterial|gl_BackSecondaryColor|gl_ClipDistance|gl_ClipPlane|gl_ClipVertex|gl_Color|gl_DepthRange|gl_DepthRangeParameters|gl_EyePlaneQ|gl_EyePlaneR|gl_EyePlaneS|gl_EyePlaneT|gl_Fog|gl_FogCoord|gl_FogFragCoord|gl_FogParameters|gl_FragColor|gl_FragCoord|gl_FragDat|gl_FragDept|gl_FrontColor|gl_FrontFacing|gl_FrontLightModelProduct|gl_FrontLightProduct|gl_FrontMaterial|gl_FrontSecondaryColor|gl_InstanceID|gl_Layer|gl_LightModel|gl_LightModelParameters|gl_LightModelProducts|gl_LightProducts|gl_LightSource|gl_LightSourceParameters|gl_MaterialParameters|gl_ModelViewMatrix|gl_ModelViewMatrixInverse|gl_ModelViewMatrixInverseTranspose|gl_ModelViewMatrixTranspose|gl_ModelViewProjectionMatrix|gl_ModelViewProjectionMatrixInverse|gl_ModelViewProjectionMatrixInverseTranspose|gl_ModelViewProjectionMatrixTranspose|gl_MultiTexCoord[0-7]|gl_Normal|gl_NormalMatrix|gl_NormalScale|gl_ObjectPlaneQ|gl_ObjectPlaneR|gl_ObjectPlaneS|gl_ObjectPlaneT|gl_Point|gl_PointCoord|gl_PointParameters|gl_PointSize|gl_Position|gl_PrimitiveIDIn|gl_ProjectionMatrix|gl_ProjectionMatrixInverse|gl_ProjectionMatrixInverseTranspose|gl_ProjectionMatrixTranspose|gl_SecondaryColor|gl_TexCoord|gl_TextureEnvColor|gl_TextureMatrix|gl_TextureMatrixInverse|gl_TextureMatrixInverseTranspose|gl_TextureMatrixTranspose|gl_Vertex|gl_VertexIDh)\b/dgv,name:"support.variable.glsl"},{match:/\b(gl_MaxClipPlanes|gl_MaxCombinedTextureImageUnits|gl_MaxDrawBuffers|gl_MaxFragmentUniformComponents|gl_MaxLights|gl_MaxTextureCoords|gl_MaxTextureImageUnits|gl_MaxTextureUnits|gl_MaxVaryingFloats|gl_MaxVertexAttribs|gl_MaxVertexTextureImageUnits|gl_MaxVertexUniformComponents)\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|ivec2|ivec3|uvec2|uvec2|uvec3|mat2|mat3|mat4|mat2x2|mat2x3|mat2x4|mat3x2|mat3x3|mat3x4|mat4x2|mat4x3|mat4x4|sampler[1\|23]D|samplerCube|sampler2DRect|sampler[1\|2]DShadow|sampler2DRectShadow|sampler[1\|2]DArray|sampler[1\|2]DArrayShadow|samplerBuffer|sampler2DMS|sampler2DMSArray|struct|isampler[1\|23]D|isamplerCube|isampler2DRect|isampler[1\|2]DArray|isamplerBuffer|isampler2DMS|isampler2DMSArray|usampler[1\|23]D|usamplerCube|usampler2DRect|usampler[1\|2]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(?:ClipPlanes|CombinedTextureImageUnits|DrawBuffers|FragmentUniformComponents|Lights|TextureCoords|TextureImageUnits|TextureUnits|VaryingFloats|VertexAttribs|VertexTextureImageUnits|VertexUniformComponents))\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})
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-Za-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:/\b(?:FIT_LIMIT|FIT_MAXITER|FIT_START_LAMBDA|FIT_LAMBDA_FACTOR|FIT_SKIP|FIT_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-Za-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-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(<<)\p{space}*([A-Za-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-Za-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-Za-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-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*((\()\p{space}*([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?:(,)\p{space}*([A-Za-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-Za-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\b|in\b)?/dgv,name:"constant.numeric.float.gnuplot"},{match:/\b(0[Xx][0-9a-fA-F]+)(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|#)(([0-9a-fA-F]{6})|([0-9a-fA-F]{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|[lrtb]margin|margins|micro|minus(sign)?|mono(chrome)?|mouse|multiplot|nonlinear|object|offsets|origin|output|parametric|(p|r)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|r|t)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-Za-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-Za-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-Za-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-Za-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-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(<<)\p{space}*([A-Za-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-Za-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-Za-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-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*((\()\p{space}*([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?:(,)\p{space}*([A-Za-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-Za-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\b|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|[lrtb]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-Za-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-Za-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:/(\bnew\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:/(\bmake\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:/[\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}\.\[\]\*\&]+\))(?=\()/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:/^(\bfunc\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}*)+)?(?!(?:[\[\]\*]+)?(?:\bstruct\b|\binterface\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:/(\bfunc\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:/(\bfunc\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:/(\binterface\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}*(?=\n?$)|^\p{space}*(?:\bbreak\b|\bgoto\b|\bcontinue\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:/(\bmap\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:/(\btype\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:/(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])/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:/(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])/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:/(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.go"}]},"10":{name:"keyword.other.unit.imaginary.go"},"11":{name:"constant.numeric.decimal.go",patterns:[{match:/(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])/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:/(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])/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:/(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])/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:/(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])/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:/(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])/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:/(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])/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:/(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])/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:/(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])/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:/(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])/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:/(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])/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:/(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.go"}]},"53":{name:"keyword.other.unit.imaginary.go"}},match:/(?:(?:(?:(?:(?:(?=[0-9\.])(?!0[xXbBoO])([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:(?<=[0-9])\.|\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?(?:(?<!_)([eE])(\+?)(-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])_(?=[0-9a-fA-F]))*))?(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$))|(?=[0-9\.])(?!0[xXbBoO])([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?<!_)([eE])(\+?)(-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])_(?=[0-9a-fA-F]))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|((?:(?<=[0-9])\.|\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?:(?<!_)([eE])(\+?)(-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])_(?=[0-9a-fA-F]))*))?(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|(0[xX])_?([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:(?<=[0-9a-fA-F])\.|\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?(?<!_)([pP])(\+?)(-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])_(?=[0-9a-fA-F]))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|(0[xX])_?([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?<!_)([pP])(\+?)(-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])_(?=[0-9a-fA-F]))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|(0[xX])((?:(?<=[0-9a-fA-F])\.|\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?<!_)([pP])(\+?)(-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])_(?=[0-9a-fA-F]))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))/dgvy},{captures:{"1":{name:"constant.numeric.decimal.go",patterns:[{match:/(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])/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:/(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])/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:/(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])/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:/(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])/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[xXbBoO])([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$))|(0[bB])_?([01](?:[01]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|(0[oO]?)_?((?:[0-7]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))+)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|(0[xX])_?([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))/dgvy},{match:/(?:[0-9a-zA-Z_\.]|(?<=[eEpP])[\+\-])+/dgv,name:"invalid.illegal.constant.numeric.go"}]}]}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])\.?\p{Nd}(?:[0-9a-zA-Z_\.]|(?<=[eEpP])[\+\-])*/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:[{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.square.go"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"},{include:"$self"}]}]}},match:/(\b[\p{L}\p{M}\p{N}\p{Pc}\.]+)(\[(?:[^\]]+)?\])?(?=\{)(?<!\bstruct\b|\binterface\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[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{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}*(\btype\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}+)(\btype\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}*)+)?(?!(?:[\[\]\*]+)?(?:\bstruct\b|\binterface\b|\bfunc\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"}]},string_escaped_char:{patterns:[{match:/\\([0-7]{3}|[abfnrtv\\'"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/dgv,name:"constant.character.escape.go"},{match:/\\[^0-7xuUabfnrtv'"]/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}+\])?)?))?[vT\%tbcdoqxXUbeEfFgGspw]/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}*(\btype\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}+(?:[\[\]\*]+)?)(\bstruct\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}+(?:[\[\]\*]+)?)(\binterface\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}+(?:[\[\]\*]+)?)(\bfunc\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:/(\bstruct\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}*(\bcase\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}*(\bcase\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:/(?<=\.\()(?:(\btype\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:/(\bnew\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:/(\bmake\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:/[\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}\.\[\]\*\&]+\))(?=\()/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:/^(\bfunc\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\b|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:/(\bfunc\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:/(\bfunc\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:/(\binterface\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}*(?=\n?$)|\p{space}*\b(?:break\b|goto\b|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:/(\bmap\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:/(\btype\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[xXbBoO])([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[xXbBoO])([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[xXbBoO])([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-zA-Z_\.]|(?<=[eEpP])[\+\-])+/dgv,name:"invalid.illegal.constant.numeric.go"}]}]}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])\.?\p{Nd}(?:[0-9a-zA-Z_\.]|(?<=[eEpP])[\+\-])*/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:[{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.square.go"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"},{include:"$self"}]}]}},match:/(\b[\p{L}\p{M}\p{N}\p{Pc}\.]+)(\[(?:[^\]]+)?\])?(?=\{)(?<!\b(?:struct\b|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}*(\btype\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}+)(\btype\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\b|interface\b|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"}]},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-7xuUabfnrtv'"]/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}+\])?)?))?[vT\%tbcdoqxXUeEfFgGspw]/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}*(\btype\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}+(?:[\[\]\*]+)?)(\bstruct\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}+(?:[\[\]\*]+)?)(\binterface\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}+(?:[\[\]\*]+)?)(\bfunc\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:/(\bstruct\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}*(\bcase\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}*(\bcase\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:/(?<=\.\()(?:(\btype\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