@shikijs/langs 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 (233) 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-template-blocks.mjs +1 -1
  9. package/dist/angular-template.mjs +1 -1
  10. package/dist/angular-ts.mjs +1 -1
  11. package/dist/apache.mjs +1 -1
  12. package/dist/apex.mjs +1 -1
  13. package/dist/apl.mjs +1 -1
  14. package/dist/applescript.mjs +1 -1
  15. package/dist/ara.mjs +1 -1
  16. package/dist/asciidoc.mjs +1 -1
  17. package/dist/asm.mjs +1 -1
  18. package/dist/astro.mjs +1 -1
  19. package/dist/awk.mjs +1 -1
  20. package/dist/ballerina.mjs +1 -1
  21. package/dist/bat.mjs +1 -1
  22. package/dist/beancount.mjs +1 -1
  23. package/dist/berry.mjs +1 -1
  24. package/dist/bibtex.mjs +1 -1
  25. package/dist/bicep.mjs +1 -1
  26. package/dist/blade.mjs +1 -1
  27. package/dist/bsl.mjs +1 -1
  28. package/dist/c.mjs +1 -1
  29. package/dist/cadence.mjs +1 -1
  30. package/dist/cairo.mjs +1 -1
  31. package/dist/clarity.mjs +1 -1
  32. package/dist/clojure.mjs +1 -1
  33. package/dist/cmake.mjs +1 -1
  34. package/dist/cobol.mjs +1 -1
  35. package/dist/codeql.mjs +1 -1
  36. package/dist/coffee.mjs +1 -1
  37. package/dist/common-lisp.mjs +1 -1
  38. package/dist/coq.mjs +1 -1
  39. package/dist/cpp-macro.mjs +1 -1
  40. package/dist/cpp.mjs +1 -1
  41. package/dist/crystal.mjs +1 -1
  42. package/dist/csharp.mjs +1 -1
  43. package/dist/css.mjs +1 -1
  44. package/dist/csv.mjs +1 -1
  45. package/dist/cue.mjs +1 -1
  46. package/dist/cypher.mjs +1 -1
  47. package/dist/d.mjs +1 -1
  48. package/dist/dart.mjs +1 -1
  49. package/dist/dax.mjs +1 -1
  50. package/dist/desktop.mjs +1 -1
  51. package/dist/diff.mjs +1 -1
  52. package/dist/dotenv.mjs +1 -1
  53. package/dist/dream-maker.mjs +1 -1
  54. package/dist/edge.mjs +1 -1
  55. package/dist/elixir.mjs +1 -1
  56. package/dist/elm.mjs +1 -1
  57. package/dist/emacs-lisp.mjs +1 -1
  58. package/dist/erb.mjs +1 -1
  59. package/dist/erlang.mjs +1 -1
  60. package/dist/es-tag-css.mjs +1 -1
  61. package/dist/es-tag-glsl.mjs +1 -1
  62. package/dist/es-tag-html.mjs +1 -1
  63. package/dist/es-tag-sql.mjs +1 -1
  64. package/dist/es-tag-xml.mjs +1 -1
  65. package/dist/fennel.mjs +1 -1
  66. package/dist/fish.mjs +1 -1
  67. package/dist/fluent.mjs +1 -1
  68. package/dist/fortran-fixed-form.mjs +1 -1
  69. package/dist/fortran-free-form.mjs +1 -1
  70. package/dist/fsharp.mjs +1 -1
  71. package/dist/gdresource.mjs +1 -1
  72. package/dist/gdscript.mjs +1 -1
  73. package/dist/gdshader.mjs +1 -1
  74. package/dist/genie.mjs +1 -1
  75. package/dist/gherkin.mjs +1 -1
  76. package/dist/git-commit.mjs +1 -1
  77. package/dist/git-rebase.mjs +1 -1
  78. package/dist/gleam.mjs +1 -1
  79. package/dist/glimmer-js.mjs +1 -1
  80. package/dist/glimmer-ts.mjs +1 -1
  81. package/dist/glsl.mjs +1 -1
  82. package/dist/gnuplot.mjs +1 -1
  83. package/dist/go.mjs +1 -1
  84. package/dist/graphql.mjs +1 -1
  85. package/dist/groovy.mjs +1 -1
  86. package/dist/hack.mjs +1 -1
  87. package/dist/haml.mjs +1 -1
  88. package/dist/handlebars.mjs +1 -1
  89. package/dist/haskell.mjs +1 -1
  90. package/dist/haxe.mjs +1 -1
  91. package/dist/hcl.mjs +1 -1
  92. package/dist/hjson.mjs +1 -1
  93. package/dist/hlsl.mjs +1 -1
  94. package/dist/html-derivative.mjs +1 -1
  95. package/dist/html.mjs +1 -1
  96. package/dist/http.mjs +1 -1
  97. package/dist/hxml.mjs +1 -1
  98. package/dist/hy.mjs +1 -1
  99. package/dist/imba.mjs +1 -4
  100. package/dist/index.mjs +2 -0
  101. package/dist/ini.mjs +1 -1
  102. package/dist/java.mjs +1 -1
  103. package/dist/javascript.mjs +1 -1
  104. package/dist/jinja-html.mjs +1 -1
  105. package/dist/jinja.mjs +1 -1
  106. package/dist/jison.mjs +1 -1
  107. package/dist/json.mjs +1 -1
  108. package/dist/json5.mjs +1 -1
  109. package/dist/jsonc.mjs +1 -1
  110. package/dist/jsonl.mjs +1 -1
  111. package/dist/jsonnet.mjs +1 -1
  112. package/dist/jssm.mjs +1 -1
  113. package/dist/jsx.mjs +1 -1
  114. package/dist/julia.mjs +1 -1
  115. package/dist/kotlin.mjs +1 -1
  116. package/dist/kusto.mjs +1 -1
  117. package/dist/latex.mjs +1 -1
  118. package/dist/lean.mjs +1 -1
  119. package/dist/less.mjs +1 -1
  120. package/dist/liquid.mjs +1 -1
  121. package/dist/llvm.d.mts +3 -0
  122. package/dist/llvm.mjs +5 -0
  123. package/dist/log.mjs +1 -1
  124. package/dist/logo.mjs +1 -1
  125. package/dist/lua.mjs +1 -1
  126. package/dist/luau.mjs +1 -1
  127. package/dist/make.mjs +1 -1
  128. package/dist/markdown-vue.mjs +1 -1
  129. package/dist/markdown.mjs +1 -1
  130. package/dist/marko.mjs +1 -1
  131. package/dist/matlab.mjs +1 -1
  132. package/dist/mdc.mjs +1 -1
  133. package/dist/mdx.mjs +1 -1
  134. package/dist/mermaid.mjs +1 -1
  135. package/dist/mipsasm.mjs +1 -1
  136. package/dist/mojo.mjs +1 -1
  137. package/dist/move.mjs +1 -1
  138. package/dist/narrat.mjs +1 -1
  139. package/dist/nextflow.mjs +1 -1
  140. package/dist/nginx.mjs +1 -1
  141. package/dist/nim.mjs +1 -1
  142. package/dist/nix.mjs +1 -1
  143. package/dist/nushell.mjs +1 -1
  144. package/dist/objective-c.mjs +1 -1
  145. package/dist/objective-cpp.mjs +1 -1
  146. package/dist/ocaml.mjs +1 -1
  147. package/dist/pascal.mjs +1 -1
  148. package/dist/perl.mjs +1 -1
  149. package/dist/php.mjs +1 -1
  150. package/dist/plsql.mjs +1 -1
  151. package/dist/po.mjs +1 -1
  152. package/dist/polar.mjs +1 -1
  153. package/dist/postcss.mjs +1 -1
  154. package/dist/powerquery.mjs +1 -1
  155. package/dist/powershell.mjs +1 -1
  156. package/dist/prisma.mjs +1 -1
  157. package/dist/prolog.mjs +1 -1
  158. package/dist/proto.mjs +1 -1
  159. package/dist/pug.mjs +1 -1
  160. package/dist/puppet.mjs +1 -1
  161. package/dist/purescript.mjs +1 -1
  162. package/dist/python.mjs +1 -1
  163. package/dist/qml.mjs +1 -1
  164. package/dist/qss.mjs +1 -1
  165. package/dist/r.mjs +1 -1
  166. package/dist/racket.mjs +1 -1
  167. package/dist/raku.mjs +1 -1
  168. package/dist/razor.mjs +1 -1
  169. package/dist/reg.mjs +1 -1
  170. package/dist/regexp.mjs +1 -1
  171. package/dist/rel.mjs +1 -1
  172. package/dist/riscv.mjs +1 -1
  173. package/dist/rst.mjs +1 -1
  174. package/dist/ruby.mjs +1 -1
  175. package/dist/rust.mjs +1 -1
  176. package/dist/sas.mjs +1 -1
  177. package/dist/sass.mjs +1 -1
  178. package/dist/scala.mjs +1 -1
  179. package/dist/scheme.mjs +1 -1
  180. package/dist/scss.mjs +1 -1
  181. package/dist/sdbl.mjs +1 -1
  182. package/dist/shaderlab.mjs +1 -1
  183. package/dist/shellscript.mjs +1 -1
  184. package/dist/shellsession.mjs +1 -1
  185. package/dist/smalltalk.mjs +1 -1
  186. package/dist/solidity.mjs +1 -1
  187. package/dist/soy.mjs +1 -1
  188. package/dist/sparql.mjs +1 -1
  189. package/dist/splunk.mjs +1 -1
  190. package/dist/sql.mjs +1 -1
  191. package/dist/ssh-config.mjs +1 -1
  192. package/dist/stata.mjs +1 -1
  193. package/dist/stylus.mjs +1 -1
  194. package/dist/svelte.mjs +1 -1
  195. package/dist/swift.mjs +1 -1
  196. package/dist/system-verilog.mjs +1 -1
  197. package/dist/systemd.mjs +1 -1
  198. package/dist/talonscript.mjs +1 -1
  199. package/dist/tasl.mjs +1 -1
  200. package/dist/tcl.mjs +1 -1
  201. package/dist/templ.mjs +1 -1
  202. package/dist/terraform.mjs +1 -1
  203. package/dist/tex.mjs +1 -1
  204. package/dist/toml.mjs +1 -1
  205. package/dist/tsx.mjs +1 -1
  206. package/dist/turtle.mjs +1 -1
  207. package/dist/twig.mjs +1 -1
  208. package/dist/typescript.mjs +1 -1
  209. package/dist/typespec.mjs +1 -1
  210. package/dist/typst.mjs +1 -1
  211. package/dist/v.mjs +1 -1
  212. package/dist/vala.mjs +1 -1
  213. package/dist/vb.mjs +1 -1
  214. package/dist/verilog.mjs +1 -1
  215. package/dist/vhdl.mjs +1 -1
  216. package/dist/viml.mjs +1 -1
  217. package/dist/vue-html.mjs +1 -1
  218. package/dist/vue-sfc-style-variable-injection.mjs +1 -1
  219. package/dist/vue.mjs +1 -1
  220. package/dist/vyper.mjs +1 -1
  221. package/dist/wasm.mjs +1 -1
  222. package/dist/wenyan.mjs +1 -1
  223. package/dist/wgsl.mjs +1 -1
  224. package/dist/wikitext.mjs +1 -1
  225. package/dist/wit.d.mts +3 -0
  226. package/dist/wit.mjs +5 -0
  227. package/dist/wolfram.mjs +1 -1
  228. package/dist/xml.mjs +1 -1
  229. package/dist/xsl.mjs +1 -1
  230. package/dist/yaml.mjs +1 -1
  231. package/dist/zenscript.mjs +1 -1
  232. package/dist/zig.mjs +1 -1
  233. package/package.json +5 -3
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Ballerina\",\"fileTypes\":[\"bal\"],\"name\":\"ballerina\",\"patterns\":[{\"include\":\"#statements\"}],\"repository\":{\"access-modifier\":{\"patterns\":[{\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(public|private)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"storage.modifier.ballerina keyword.other.ballerina\"}]},\"annotationAttachment\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.decorator.ballerina\"},\"2\":{\"name\":\"support.type.ballerina\"},\"3\":{\"name\":\"punctuation.decorator.ballerina\"},\"4\":{\"name\":\"support.type.ballerina\"}},\"match\":\"(@)((?:[_$[:alpha:]][_$[:alnum:]]*))\\\\s*(:?)\\\\s*((?:[_$[:alpha:]][_$[:alnum:]]*)?)\"}]},\"annotationDefinition\":{\"patterns\":[{\"begin\":\"\\\\bannotation\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ballerina\"}},\"end\":\";\",\"patterns\":[{\"include\":\"#code\"}]}]},\"array-literal\":{\"begin\":\"\\\\s*(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.brace.square.ballerina\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.square.ballerina\"}},\"name\":\"meta.array.literal.ballerina\",\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"booleans\":{\"patterns\":[{\"match\":\"\\\\b(true|false)\\\\b\",\"name\":\"constant.language.boolean.ballerina\"}]},\"butClause\":{\"patterns\":[{\"begin\":\"=>\",\"beginCaptures\":{\"0\":{\"name\":\"meta.arrow.ballerina storage.type.function.arrow.ballerina\"}},\"end\":\",|(?=\\\\})\",\"patterns\":[{\"include\":\"#code\"}]}]},\"butExp\":{\"patterns\":[{\"begin\":\"\\\\bbut\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ballerina\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina.documentation\"}},\"patterns\":[{\"include\":\"#butExpBody\"},{\"include\":\"#comment\"}]}]},\"butExpBody\":{\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina.documentation\"}},\"end\":\"(?=\\\\})\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina.documentation\"}},\"patterns\":[{\"include\":\"#parameter\"},{\"include\":\"#butClause\"},{\"include\":\"#comment\"}]}]},\"call\":{\"patterns\":[{\"match\":\"(?:\\\\')?([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(?=\\\\()\",\"name\":\"entity.name.function.ballerina\"}]},\"callableUnitBody\":{\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"end\":\"(?=\\\\})\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"patterns\":[{\"include\":\"#workerDef\"},{\"include\":\"#service-decl\"},{\"include\":\"#objectDec\"},{\"include\":\"#function-defn\"},{\"include\":\"#forkStatement\"},{\"include\":\"#code\"}]}]},\"class-body\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"name\":\"meta.class.body.ballerina\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#mdDocumentation\"},{\"include\":\"#function-defn\"},{\"include\":\"#var-expr\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#access-modifier\"},{\"include\":\"#keywords\"},{\"begin\":\"(?<=:)\\\\s*\",\"end\":\"(?=\\\\s|[;),}\\\\]:\\\\-\\\\+]|;|^\\\\s*$|(?:^\\\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\\\b))\"},{\"include\":\"#decl-block\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#punctuation-semicolon\"}]},\"class-defn\":{\"begin\":\"(\\\\s+)(class\\\\b)|^class\\\\b(?=\\\\s+|/[/*])\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.class.ballerina keyword.other.ballerina\"}},\"end\":\"(?<=\\\\})\",\"name\":\"meta.class.ballerina\",\"patterns\":[{\"include\":\"#keywords\"},{\"captures\":{\"0\":{\"name\":\"entity.name.type.class.ballerina\"}},\"match\":\"[_$[:alpha:]][_$[:alnum:]]*\"},{\"include\":\"#class-body\"}]},\"code\":{\"patterns\":[{\"include\":\"#booleans\"},{\"include\":\"#matchStatement\"},{\"include\":\"#butExp\"},{\"include\":\"#xml\"},{\"include\":\"#stringTemplate\"},{\"include\":\"#keywords\"},{\"include\":\"#strings\"},{\"include\":\"#comment\"},{\"include\":\"#mdDocumentation\"},{\"include\":\"#annotationAttachment\"},{\"include\":\"#numbers\"},{\"include\":\"#maps\"},{\"include\":\"#paranthesised\"},{\"include\":\"#paranthesisedBracket\"},{\"include\":\"#regex\"}]},\"comment\":{\"patterns\":[{\"match\":\"\\\\/\\\\/.*\",\"name\":\"comment.ballerina\"}]},\"constrainType\":{\"patterns\":[{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.begin.ballerina\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.ballerina\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#constrainType\"},{\"match\":\"\\\\b([_$[:alpha:]][_$[:alnum:]]*)\\\\b\",\"name\":\"storage.type.ballerina\"}]}]},\"control-statement\":{\"patterns\":[{\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(return)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.flow.ballerina\"}},\"end\":\"(?=[;}]|$|;|^\\\\s*$|(?:^\\\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\\\b))\",\"patterns\":[{\"include\":\"#expression\"}]},{\"include\":\"#for-loop\"},{\"include\":\"#if-statement\"},{\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(else|if)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.control.conditional.ballerina\"}]},\"decl-block\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"end\":\"(?=\\\\} external;)|(\\\\})\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"name\":\"meta.block.ballerina\",\"patterns\":[{\"include\":\"#statements\"},{\"include\":\"#mdDocumentation\"}]},\"declaration\":{\"patterns\":[{\"include\":\"#import-declaration\"},{\"include\":\"#var-expr\"},{\"include\":\"#typeDefinition\"},{\"include\":\"#function-defn\"},{\"include\":\"#service-decl\"},{\"include\":\"#class-defn\"},{\"include\":\"#enum-decl\"},{\"include\":\"#source\"},{\"include\":\"#keywords\"}]},\"defaultValue\":{\"patterns\":[{\"begin\":\"[=:]\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.ballerina\"}},\"end\":\"(?=[,)])\",\"patterns\":[{\"include\":\"#code\"}]}]},\"defaultWithParentheses\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}}}]},\"documentationBody\":{\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina.documentation\"}},\"end\":\"(?=\\\\})\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina.documentation\"}},\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.other.ballerina.documentation\"},\"2\":{\"name\":\"keyword.other.ballerina.documentation\"},\"3\":{\"name\":\"variable.parameter.ballerina.documentation\"},\"4\":{\"name\":\"keyword.other.ballerina.documentation\"}},\"match\":\"(P|R|T|F|V)({{)(.*)(}})\"},{\"begin\":\"\\\\```\",\"end\":\"\\\\```\",\"name\":\"comment.block.code.ballerina.documentation\"},{\"begin\":\"\\\\``\",\"end\":\"\\\\``\",\"name\":\"comment.block.code.ballerina.documentation\"},{\"begin\":\"\\\\`\",\"end\":\"\\\\`\",\"name\":\"comment.block.code.ballerina.documentation\"},{\"match\":\".\",\"name\":\"comment.block.ballerina.documentation\"}]}]},\"documentationDef\":{\"patterns\":[{\"begin\":\"\\\\b(?:documentation|deprecated)\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ballerina\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"delimiter.curly\"}},\"patterns\":[{\"include\":\"#documentationBody\"},{\"include\":\"#comment\"}]}]},\"enum-decl\":{\"begin\":\"(?:\\\\b(const)\\\\s+)?\\\\b(enum)\\\\s+([_$[:alpha:]][_$[:alnum:]]*)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ballerina\"},\"2\":{\"name\":\"keyword.other.ballerina\"},\"3\":{\"name\":\"entity.name.type.enum.ballerina\"}},\"end\":\"(?<=\\\\})\",\"name\":\"meta.enum.declaration.ballerina\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#mdDocumentation\"},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#mdDocumentation\"},{\"begin\":\"([_$[:alpha:]][_$[:alnum:]]*)\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.enummember.ballerina\"}},\"end\":\"(?=,|\\\\}|$)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#variable-initializer\"}]},{\"begin\":\"(?=((\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`)|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])+\\\\])))\",\"end\":\"(?=,|\\\\}|$)\",\"patterns\":[{\"include\":\"#string\"},{\"include\":\"#array-literal\"},{\"include\":\"#comment\"},{\"include\":\"#variable-initializer\"}]},{\"include\":\"#punctuation-comma\"}]}]},\"errorDestructure\":{\"patterns\":[{\"begin\":\"error\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.ballerina\"}},\"end\":\"(?==>)\",\"patterns\":[{\"include\":\"#code\"}]}]},\"expression\":{\"patterns\":[{\"include\":\"#keywords\"},{\"include\":\"#expressionWithoutIdentifiers\"},{\"include\":\"#identifiers\"},{\"include\":\"#regex\"}]},\"expression-operators\":{\"patterns\":[{\"match\":\"\\\\*=|(?<!\\\\()/=|%=|\\\\+=|\\\\-=\",\"name\":\"keyword.operator.assignment.compound.ballerina\"},{\"match\":\"\\\\&=|\\\\^=|<<=|>>=|>>>=|\\\\|=\",\"name\":\"keyword.operator.assignment.compound.bitwise.ballerina\"},{\"match\":\"<<|>>>|>>\",\"name\":\"keyword.operator.bitwise.shift.ballerina\"},{\"match\":\"===|!==|==|!=\",\"name\":\"keyword.operator.comparison.ballerina\"},{\"match\":\"<=|>=|<>|<|>\",\"name\":\"keyword.operator.relational.ballerina\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.logical.ballerina\"},\"2\":{\"name\":\"keyword.operator.assignment.compound.ballerina\"},\"3\":{\"name\":\"keyword.operator.arithmetic.ballerina\"}},\"match\":\"(?<=[_$[:alnum:]])(\\\\!)\\\\s*(?:(/=)|(?:(/)(?![/*])))\"},{\"match\":\"\\\\!|&&|\\\\|\\\\||\\\\?\\\\?\",\"name\":\"keyword.operator.logical.ballerina\"},{\"match\":\"\\\\&|~|\\\\^|\\\\|\",\"name\":\"keyword.operator.bitwise.ballerina\"},{\"match\":\"\\\\=\",\"name\":\"keyword.operator.assignment.ballerina\"},{\"match\":\"--\",\"name\":\"keyword.operator.decrement.ballerina\"},{\"match\":\"\\\\+\\\\+\",\"name\":\"keyword.operator.increment.ballerina\"},{\"match\":\"%|\\\\*|/|-|\\\\+\",\"name\":\"keyword.operator.arithmetic.ballerina\"}]},\"expressionWithoutIdentifiers\":{\"patterns\":[{\"include\":\"#xml\"},{\"include\":\"#string\"},{\"include\":\"#stringTemplate\"},{\"include\":\"#comment\"},{\"include\":\"#object-literal\"},{\"include\":\"#ternary-expression\"},{\"include\":\"#expression-operators\"},{\"include\":\"#literal\"},{\"include\":\"#paranthesised\"},{\"include\":\"#regex\"}]},\"flags-on-off\":{\"name\":\"meta.flags.regexp.ballerina\",\"patterns\":[{\"begin\":\"(\\\\??)([imsx]*)(-?)([imsx]*)(:)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.other.non-capturing-group-begin.regexp.ballerina\"},\"2\":{\"name\":\"keyword.other.non-capturing-group.flags-on.regexp.ballerina\"},\"3\":{\"name\":\"punctuation.other.non-capturing-group.off.regexp.ballerina\"},\"4\":{\"name\":\"keyword.other.non-capturing-group.flags-off.regexp.ballerina\"},\"5\":{\"name\":\"punctuation.other.non-capturing-group-end.regexp.ballerina\"}},\"end\":\"()\",\"name\":\"constant.other.flag.regexp.ballerina\",\"patterns\":[{\"include\":\"#regexp\"},{\"include\":\"#template-substitution-element\"}]}]},\"for-loop\":{\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))foreach\\\\s*\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.loop.ballerina\"},\"1\":{\"name\":\"support.type.primitive.ballerina\"}},\"end\":\"(?=\\\\{)\",\"patterns\":[{\"match\":\"\\\\bin\\\\b\",\"name\":\"keyword.other.ballerina\"},{\"include\":\"#identifiers\"},{\"include\":\"#comment\"},{\"include\":\"#var-expr\"},{\"include\":\"#expression\"}]},\"forkBody\":{\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"end\":\"(?=\\\\})\",\"patterns\":[{\"include\":\"#workerDef\"}]}]},\"forkStatement\":{\"patterns\":[{\"begin\":\"\\\\bfork\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ballerina\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"patterns\":[{\"include\":\"#forkBody\"}]}]},\"function-body\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#functionParameters\"},{\"include\":\"#decl-block\"},{\"begin\":\"\\\\=>\",\"beginCaptures\":{\"0\":{\"name\":\"meta.arrow.ballerina storage.type.function.arrow.ballerina\"}},\"end\":\"(?=\\\\;)|(?=\\\\,)|(?=)(?=\\\\);)\",\"name\":\"meta.block.ballerina\",\"patterns\":[{\"include\":\"#statements\"},{\"include\":\"#punctuation-comma\"}]},{\"match\":\"\\\\*\",\"name\":\"keyword.generator.asterisk.ballerina\"}]},\"function-defn\":{\"begin\":\"(?:(public|private)\\\\s+)?(function\\\\b)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.ballerina\"},\"2\":{\"name\":\"keyword.other.ballerina\"}},\"end\":\"(?<=\\\\;)|(?<=\\\\})|(?<=\\\\,)|(?=)(?=\\\\);)\",\"name\":\"meta.function.ballerina\",\"patterns\":[{\"match\":\"\\\\bexternal\\\\b\",\"name\":\"keyword.ballerina\"},{\"include\":\"#stringTemplate\"},{\"include\":\"#annotationAttachment\"},{\"include\":\"#functionReturns\"},{\"include\":\"#functionName\"},{\"include\":\"#functionParameters\"},{\"include\":\"#punctuation-semicolon\"},{\"include\":\"#function-body\"},{\"include\":\"#regex\"}]},\"function-parameters-body\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#numbers\"},{\"include\":\"#string\"},{\"include\":\"#annotationAttachment\"},{\"include\":\"#recordLiteral\"},{\"include\":\"#keywords\"},{\"include\":\"#parameter-name\"},{\"include\":\"#array-literal\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#identifiers\"},{\"include\":\"#regex\"},{\"match\":\"\\\\,\",\"name\":\"punctuation.separator.parameter.ballerina\"}]},\"functionName\":{\"patterns\":[{\"match\":\"\\\\bfunction\\\\b\",\"name\":\"keyword.other.ballerina\"},{\"include\":\"#type-primitive\"},{\"include\":\"#self-literal\"},{\"include\":\"#string\"},{\"captures\":{\"2\":{\"name\":\"variable.language.this.ballerina\"},\"3\":{\"name\":\"keyword.other.ballerina\"},\"4\":{\"name\":\"support.type.primitive.ballerina\"},\"5\":{\"name\":\"storage.type.ballerina\"},\"6\":{\"name\":\"meta.definition.function.ballerina entity.name.function.ballerina\"}},\"match\":\"\\\\s+(\\\\b(self)|\\\\b(is|new|isolated|null|function|in)\\\\b|(string|int|boolean|float|byte|decimal|json|xml|anydata)\\\\b|\\\\b(readonly|error|map)\\\\b|([_$[:alpha:]][_$[:alnum:]]*))\"}]},\"functionParameters\":{\"begin\":\"\\\\(|\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.begin.ballerina\"}},\"end\":\"\\\\)|\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.ballerina\"}},\"name\":\"meta.parameters.ballerina\",\"patterns\":[{\"include\":\"#function-parameters-body\"}]},\"functionReturns\":{\"begin\":\"\\\\s*(returns)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.ballerina\"}},\"end\":\"(?==>)|(\\\\=)|(?=\\\\{)|(\\\\))|(?=\\\\;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.operator.ballerina\"}},\"name\":\"meta.type.function.return.ballerina\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#numbers\"},{\"include\":\"#keywords\"},{\"include\":\"#type-primitive\"},{\"captures\":{\"1\":{\"name\":\"support.type.primitive.ballerina\"}},\"match\":\"\\\\s*\\\\b(var)(?=\\\\s+|\\\\[|\\\\?)\"},{\"match\":\"\\\\|\",\"name\":\"keyword.operator.ballerina\"},{\"match\":\"\\\\?\",\"name\":\"keyword.operator.optional.ballerina\"},{\"include\":\"#type-annotation\"},{\"include\":\"#type-tuple\"},{\"include\":\"#keywords\"},{\"match\":\"[_$[:alpha:]][_$[:alnum:]]*\",\"name\":\"variable.other.readwrite.ballerina\"}]},\"functionType\":{\"patterns\":[{\"begin\":\"\\\\bfunction\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ballerina\"}},\"end\":\"(?=\\\\,)|(?=\\\\|)|(?=\\\\:)|(?==>)|(?=\\\\))|(?=\\\\])\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#functionTypeParamList\"},{\"include\":\"#functionTypeReturns\"}]}]},\"functionTypeParamList\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"delimiter.parenthesis\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"delimiter.parenthesis\"}},\"patterns\":[{\"match\":\"public\",\"name\":\"keyword\"},{\"include\":\"#annotationAttachment\"},{\"include\":\"#recordLiteral\"},{\"include\":\"#record\"},{\"include\":\"#objectDec\"},{\"include\":\"#functionType\"},{\"include\":\"#constrainType\"},{\"include\":\"#parameterTuple\"},{\"include\":\"#functionTypeType\"},{\"include\":\"#comment\"}]}]},\"functionTypeReturns\":{\"patterns\":[{\"begin\":\"\\\\breturns\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword\"}},\"end\":\"(?=\\\\,)|(?:\\\\|)|(?=\\\\])|(?=\\\\))\",\"patterns\":[{\"include\":\"#functionTypeReturnsParameter\"},{\"include\":\"#comment\"}]}]},\"functionTypeReturnsParameter\":{\"patterns\":[{\"begin\":\"((?=record|object|function)|(?:[_$[:alpha:]][_$[:alnum:]]*))\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.ballerina\"}},\"end\":\"(?=\\\\,)|(?:\\\\|)|(?:\\\\:)|(?==>)|(?=\\\\))|(?=\\\\])\",\"patterns\":[{\"include\":\"#record\"},{\"include\":\"#objectDec\"},{\"include\":\"#functionType\"},{\"include\":\"#constrainType\"},{\"include\":\"#defaultValue\"},{\"include\":\"#comment\"},{\"include\":\"#parameterTuple\"},{\"match\":\"[_$[:alpha:]][_$[:alnum:]]*\",\"name\":\"default.variable.parameter.ballerina\"}]}]},\"functionTypeType\":{\"patterns\":[{\"begin\":\"[_$[:alpha:]][_$[:alnum:]]*\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.ballerina\"}},\"end\":\"(?=\\\\,)|(?:\\\\|)|(?=\\\\])|(?=\\\\))\"}]},\"identifiers\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ballerina\"},\"2\":{\"name\":\"punctuation.accessor.optional.ballerina\"},\"3\":{\"name\":\"entity.name.function.ballerina\"}},\"match\":\"(?:(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*[[:digit:]])))\\\\s*)?([_$[:alpha:]][_$[:alnum:]]*)(?=\\\\s*=\\\\s*((((function\\\\s*[(<*])|(function\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\s*=>)))|((((<\\\\s*$)|((<\\\\s*([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)?[\\\\(]\\\\s*((([\\\\{\\\\[]\\\\s*)?$)|((\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*))))))|((<\\\\s*([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)?[(]\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*(([)]\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\s*:)))|((<\\\\s*([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)?\\\\(\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*(([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\.\\\\.\\\\.\\\\s*[_$[:alpha:]]))([^()\\\\'\\\\\\\"\\\\`]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))*)?\\\\)(\\\\s*:\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+)?\\\\s*=>)))))\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ballerina\"},\"2\":{\"name\":\"punctuation.accessor.optional.ballerina\"},\"3\":{\"name\":\"entity.name.function.ballerina\"}},\"match\":\"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*[[:digit:]])))\\\\s*(\\\\#?[_$[:alpha:]][_$[:alnum:]]*)\\\\s*(?=\\\\()\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ballerina\"},\"2\":{\"name\":\"punctuation.accessor.optional.ballerina\"},\"3\":{\"name\":\"variable.other.property.ballerina\"}},\"match\":\"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*[[:digit:]])))\\\\s*(\\\\#?[_$[:alpha:]][_$[:alnum:]]*)\"},{\"include\":\"#type-primitive\"},{\"include\":\"#self-literal\"},{\"match\":\"\\\\b(check|foreach|if|checkpanic)\\\\b\",\"name\":\"keyword.control.ballerina\"},{\"include\":\"#call\"},{\"match\":\"\\\\b(var)\\\\b\",\"name\":\"support.type.primitive.ballerina\"},{\"captures\":{\"1\":{\"name\":\"variable.other.readwrite.ballerina\"},\"3\":{\"name\":\"punctuation.accessor.ballerina\"},\"4\":{\"name\":\"entity.name.function.ballerina\"},\"5\":{\"name\":\"punctuation.definition.parameters.begin.ballerina\"},\"6\":{\"name\":\"punctuation.definition.parameters.end.ballerina\"}},\"match\":\"([_$[:alpha:]][_$[:alnum:]]*)((\\\\.)([_$[:alpha:]][_$[:alnum:]]*)(\\\\()(\\\\)))?\"},{\"match\":\"(\\\\')([_$[:alpha:]][_$[:alnum:]]*)\",\"name\":\"variable.other.property.ballerina\"},{\"include\":\"#type-annotation\"}]},\"if-statement\":{\"patterns\":[{\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?=\\\\bif\\\\b\\\\s*(?!\\\\{))\",\"end\":\"(?<=\\\\})\",\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(if)\\\\s*(\\\\()?\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.conditional.ballerina\"},\"2\":{\"name\":\"meta.brace.round.ballerina\"}},\"end\":\"(\\\\))|(?=\\\\{)\",\"endCaptures\":{\"1\":{\"name\":\"meta.brace.round.ballerina\"}},\"patterns\":[{\"include\":\"#decl-block\"},{\"include\":\"#keywords\"},{\"include\":\"#identifiers\"},{\"include\":\"#type-primitive\"},{\"include\":\"#xml\"},{\"include\":\"#string\"},{\"include\":\"#stringTemplate\"},{\"include\":\"#comment\"},{\"include\":\"#ternary-expression\"},{\"include\":\"#expression-operators\"},{\"include\":\"#literal\"},{\"include\":\"#paranthesised\"},{\"include\":\"#regex\"}]},{\"begin\":\"(?<=\\\\))(?=\\\\s|\\\\=)\",\"end\":\"(?=\\\\{)\",\"patterns\":[{\"include\":\"#literal\"},{\"include\":\"#keywords\"}]},{\"include\":\"#decl-block\"}]}]},\"import-clause\":{\"patterns\":[{\"include\":\"#comment\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.default.ballerina\"},\"3\":{\"name\":\"variable.other.readwrite.ballerina meta.import.module.ballerina\"},\"5\":{\"name\":\"keyword.control.default.ballerina\"},\"6\":{\"name\":\"variable.other.readwrite.alias.ballerina\"}},\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(\\\\bdefault)|(\\\\*)|(\\\\b[_$[:alpha:]][_$[:alnum:]]*))\"},{\"match\":\"([_$[:alpha:]][_$[:alnum:]]*)\",\"name\":\"variable.other.readwrite.alias.ballerina\"}]},\"import-declaration\":{\"begin\":\"\\\\bimport\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.import.ballerina\"}},\"end\":\"\\\\;\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.terminator.statement.ballerina\"}},\"name\":\"meta.import.ballerina\",\"patterns\":[{\"match\":\"(\\\\')([_$[:alpha:]][_$[:alnum:]]*)\",\"name\":\"variable.other.property.ballerina\"},{\"include\":\"#keywords\"},{\"include\":\"#comment\"},{\"include\":\"#import-clause\"},{\"include\":\"#punctuation-accessor\"}]},\"keywords\":{\"patterns\":[{\"match\":\"\\\\b(fork|join|while|returns|transaction|transactional|retry|commit|rollback|typeof|enum|wait|match)\\\\b\",\"name\":\"keyword.control.ballerina\"},{\"match\":\"\\\\b(return|break|continue|check|checkpanic|panic|trap|from|where)\\\\b\",\"name\":\"keyword.control.flow.ballerina\"},{\"match\":\"\\\\b(public|private|external|return|record|object|remote|abstract|client|true|false|fail|import|version)\\\\b\",\"name\":\"keyword.other.ballerina\"},{\"match\":\"\\\\b(as|on|function|resource|listener|const|final|is|null|lock|annotation|source|worker|parameter|field|isolated|in)\\\\b\",\"name\":\"keyword.other.ballerina\"},{\"match\":\"\\\\b(xmlns|table|key|let|new|select|start|flush|default|do|base16|base64|conflict)\\\\b\",\"name\":\"keyword.other.ballerina\"},{\"match\":\"\\\\b(limit|outer|equals|order|by|ascending|descending|class|configurable|variable|module|service|group|collect)\\\\b\",\"name\":\"keyword.other.ballerina\"},{\"match\":\"(=>)\",\"name\":\"meta.arrow.ballerina storage.type.function.arrow.ballerina\"},{\"match\":\"(!|%|\\\\+|\\\\-|~=|===|==|=|!=|!==|<|>|&|\\\\||\\\\?:|\\\\.\\\\.\\\\.|<=|>=|&&|\\\\|\\\\||~|>>|>>>)\",\"name\":\"keyword.operator.ballerina\"},{\"include\":\"#types\"},{\"include\":\"#self-literal\"},{\"include\":\"#type-primitive\"}]},\"literal\":{\"patterns\":[{\"include\":\"#booleans\"},{\"include\":\"#numbers\"},{\"include\":\"#strings\"},{\"include\":\"#maps\"},{\"include\":\"#self-literal\"},{\"include\":\"#array-literal\"}]},\"maps\":{\"patterns\":[{\"begin\":\"\\\\{\",\"end\":\"\\\\}\",\"patterns\":[{\"include\":\"#code\"}]}]},\"matchBindingPattern\":{\"patterns\":[{\"begin\":\"var\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.ballerina\"}},\"end\":\"(?==>)|,\",\"patterns\":[{\"include\":\"#errorDestructure\"},{\"include\":\"#code\"},{\"match\":\"[_$[:alpha:]][_$[:alnum:]]*\",\"name\":\"variable.parameter.ballerina\"}]}]},\"matchStatement\":{\"patterns\":[{\"begin\":\"\\\\bmatch\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ballerina\"}},\"end\":\"\\\\}\",\"patterns\":[{\"include\":\"#matchStatementBody\"},{\"include\":\"#comment\"},{\"include\":\"#code\"}]}]},\"matchStatementBody\":{\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina.documentation\"}},\"end\":\"(?=\\\\})\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina.documentation\"}},\"patterns\":[{\"include\":\"#literal\"},{\"include\":\"#matchBindingPattern\"},{\"include\":\"#matchStatementPatternClause\"},{\"include\":\"#comment\"},{\"include\":\"#code\"}]}]},\"matchStatementPatternClause\":{\"patterns\":[{\"begin\":\"=>\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ballerina\"}},\"end\":\"((\\\\})|;|,)\",\"patterns\":[{\"include\":\"#callableUnitBody\"},{\"include\":\"#code\"}]}]},\"mdDocumentation\":{\"begin\":\"\\\\#\",\"end\":\"[\\\\r\\\\n]+\",\"name\":\"comment.mddocs.ballerina\",\"patterns\":[{\"include\":\"#mdDocumentationReturnParamDescription\"},{\"include\":\"#mdDocumentationParamDescription\"}]},\"mdDocumentationParamDescription\":{\"patterns\":[{\"begin\":\"(\\\\+\\\\s+)(\\\\'?[_$[:alpha:]][_$[:alnum:]]*)(\\\\s*\\\\-\\\\s+)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.ballerina\"},\"2\":{\"name\":\"variable.other.readwrite.ballerina\"},\"3\":{\"name\":\"keyword.operator.ballerina\"}},\"end\":\"(?=[^#\\\\r\\\\n]|(?:# *?\\\\+))\",\"patterns\":[{\"match\":\"#.*\",\"name\":\"comment.mddocs.paramdesc.ballerina\"}]}]},\"mdDocumentationReturnParamDescription\":{\"patterns\":[{\"begin\":\"(#)(?: *?)(\\\\+)(?: *)(return)(?: *)(-)?(.*)\",\"beginCaptures\":{\"1\":{\"name\":\"comment.mddocs.ballerina\"},\"2\":{\"name\":\"keyword.ballerina\"},\"3\":{\"name\":\"keyword.ballerina\"},\"4\":{\"name\":\"keyword.ballerina\"},\"5\":{\"name\":\"comment.mddocs.returnparamdesc.ballerina\"}},\"end\":\"(?=[^#\\\\r\\\\n]|(?:# *?\\\\+))\",\"patterns\":[{\"match\":\"#.*\",\"name\":\"comment.mddocs.returnparamdesc.ballerina\"}]}]},\"multiType\":{\"patterns\":[{\"match\":\"(?<=\\\\|)([_$[:alpha:]][_$[:alnum:]]*)|([_$[:alpha:]][_$[:alnum:]]*)(?=\\\\|)\",\"name\":\"storage.type.ballerina\"},{\"match\":\"\\\\|\",\"name\":\"keyword.operator.ballerina\"}]},\"numbers\":{\"patterns\":[{\"match\":\"\\\\b0[xX][\\\\da-fA-F]+\\\\b|\\\\b\\\\d+(?:\\\\.(?:\\\\d+|$))?\",\"name\":\"constant.numeric.decimal.ballerina\"}]},\"object-literal\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"name\":\"meta.objectliteral.ballerina\",\"patterns\":[{\"include\":\"#object-member\"},{\"include\":\"#punctuation-comma\"}]},\"object-member\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#function-defn\"},{\"include\":\"#literal\"},{\"include\":\"#keywords\"},{\"include\":\"#expression\"},{\"begin\":\"(?=\\\\[)\",\"end\":\"(?=:)|((?<=[\\\\]])(?=\\\\s*[\\\\(\\\\<]))\",\"name\":\"meta.object.member.ballerina meta.object-literal.key.ballerina\",\"patterns\":[{\"include\":\"#comment\"}]},{\"begin\":\"(?=[\\\\'\\\\\\\"\\\\`])\",\"end\":\"(?=:)|((?<=[\\\\'\\\\\\\"\\\\`])(?=((\\\\s*[\\\\(\\\\<,}])|(\\\\n*})|(\\\\s+(as)\\\\s+))))\",\"name\":\"meta.object.member.ballerina meta.object-literal.key.ballerina\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"}]},{\"begin\":\"(?=(\\\\b(?<!\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0(?:b|B)[01][01_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)|(?:\\\\b[0-9][0-9_]*(\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\b)|(?:\\\\B(\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)|(?:\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\b)|(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b)|(?:\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B)|(?:\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b)|(?:\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.)))(?!\\\\$)))\",\"end\":\"(?=:)|(?=\\\\s*([\\\\(\\\\<,}])|(\\\\s+as\\\\s+))\",\"name\":\"meta.object.member.ballerina meta.object-literal.key.ballerina\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#numbers\"}]},{\"begin\":\"(?<=[\\\\]\\\\'\\\\\\\"\\\\`])(?=\\\\s*[\\\\(\\\\<])\",\"end\":\"(?=\\\\}|;|,)|(?<=\\\\})\",\"name\":\"meta.method.declaration.ballerina\",\"patterns\":[{\"include\":\"#function-body\"}]},{\"captures\":{\"0\":{\"name\":\"meta.object-literal.key.ballerina\"},\"1\":{\"name\":\"constant.numeric.decimal.ballerina\"}},\"match\":\"(?![_$[:alpha:]])([[:digit:]]+)\\\\s*(?=(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*:)\",\"name\":\"meta.object.member.ballerina\"},{\"captures\":{\"0\":{\"name\":\"meta.object-literal.key.ballerina\"},\"1\":{\"name\":\"entity.name.function.ballerina\"}},\"match\":\"(?:([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(?=(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*:(\\\\s*\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/)*\\\\s*((((function\\\\s*[(<*])|(function\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\s*=>)))|((((<\\\\s*$)|((<\\\\s*([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)?[\\\\(]\\\\s*((([\\\\{\\\\[]\\\\s*)?$)|((\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+\\\\s*)?=\\\\s*))))))|((<\\\\s*([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)?[(]\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*(([)]\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\s*:)))|((<\\\\s*([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|\\\\<\\\\s*([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*\\\\>)*\\\\>)*>\\\\s*)?\\\\(\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*(([_$[:alpha:]]|(\\\\{([^\\\\{\\\\}]|(\\\\{([^\\\\{\\\\}]|\\\\{[^\\\\{\\\\}]*\\\\})*\\\\}))*\\\\})|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\.\\\\.\\\\.\\\\s*[_$[:alpha:]]))([^()\\\\'\\\\\\\"\\\\`]|(\\\\(([^\\\\(\\\\)]|(\\\\(([^\\\\(\\\\)]|\\\\([^\\\\(\\\\)]*\\\\))*\\\\)))*\\\\))|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))*)?\\\\)(\\\\s*:\\\\s*([^<>\\\\(\\\\)\\\\{\\\\}]|\\\\<([^<>]|\\\\<([^<>]|\\\\<[^<>]+\\\\>)+\\\\>)+\\\\>|\\\\([^\\\\(\\\\)]+\\\\)|\\\\{[^\\\\{\\\\}]+\\\\})+)?\\\\s*=>))))))\",\"name\":\"meta.object.member.ballerina\"},{\"captures\":{\"0\":{\"name\":\"meta.object-literal.key.ballerina\"}},\"match\":\"(?:[_$[:alpha:]][_$[:alnum:]]*)\\\\s*(?=(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*:)\",\"name\":\"meta.object.member.ballerina\"},{\"begin\":\"\\\\.\\\\.\\\\.\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.spread.ballerina\"}},\"end\":\"(?=,|\\\\})\",\"name\":\"meta.object.member.ballerina\",\"patterns\":[{\"include\":\"#expression\"}]},{\"captures\":{\"1\":{\"name\":\"variable.other.readwrite.ballerina\"}},\"match\":\"([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(?=,|\\\\}|$|\\\\/\\\\/|\\\\/\\\\*)\",\"name\":\"meta.object.member.ballerina\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.as.ballerina\"},\"2\":{\"name\":\"storage.modifier.ballerina\"}},\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+(const)(?=\\\\s*([,}]|$))\",\"name\":\"meta.object.member.ballerina\"},{\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.as.ballerina\"}},\"end\":\"(?=[;),}\\\\]:?\\\\-\\\\+\\\\>]|\\\\|\\\\||\\\\&\\\\&|\\\\!\\\\=\\\\=|$|^|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+))\",\"name\":\"meta.object.member.ballerina\"},{\"begin\":\"(?=[_$[:alpha:]][_$[:alnum:]]*\\\\s*=)\",\"end\":\"(?=,|\\\\}|$|\\\\/\\\\/|\\\\/\\\\*)\",\"name\":\"meta.object.member.ballerina\",\"patterns\":[{\"include\":\"#expression\"}]}]},\"objectDec\":{\"patterns\":[{\"begin\":\"\\\\bobject\\\\b(?!:)\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.other.ballerina\"}},\"end\":\"(?<=\\\\})\",\"patterns\":[{\"include\":\"#decl-block\"}]}]},\"objectInitBody\":{\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"end\":\"(?=\\\\})\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#code\"}]}]},\"objectInitParameters\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.begin.ballerina\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.ballerina\"}},\"patterns\":[{\"include\":\"#code\"},{\"match\":\"\\\\b([_$[:alpha:]][_$[:alnum:]]*)\\\\b\",\"name\":\"variable.parameter.ballerina\"}]}]},\"objectMemberFunctionDec\":{\"patterns\":[{\"begin\":\"\\\\bfunction\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ballerina\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"patterns\":[{\"include\":\"#functionParameters\"},{\"match\":\"\\\\breturns\\\\b\",\"name\":\"keyword.ballerina\"},{\"include\":\"#code\"}]}]},\"parameter\":{\"patterns\":[{\"begin\":\"((?=record|object|function)|([_$[:alpha:]][_$[:alnum:]]*)(?=\\\\|)|(?:[_$[:alpha:]][_$[:alnum:]]*))\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.ballerina\"}},\"end\":\"(?:\\\\,)|(?:\\\\|)|(?:\\\\:)|(?==>)|(?=\\\\))|(?=\\\\])\",\"patterns\":[{\"include\":\"#parameterWithDescriptor\"},{\"include\":\"#record\"},{\"include\":\"#objectDec\"},{\"include\":\"#functionType\"},{\"include\":\"#constrainType\"},{\"include\":\"#defaultValue\"},{\"include\":\"#comment\"},{\"include\":\"#parameterTuple\"},{\"match\":\"[_$[:alpha:]][_$[:alnum:]]*\",\"name\":\"default.variable.parameter.ballerina\"}]}]},\"parameter-name\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"support.type.primitive.ballerina\"}},\"match\":\"\\\\s*\\\\b(var)\\\\s+\"},{\"captures\":{\"2\":{\"name\":\"keyword.operator.rest.ballerina\"},\"3\":{\"name\":\"support.type.primitive.ballerina\"},\"4\":{\"name\":\"keyword.other.ballerina\"},\"5\":{\"name\":\"constant.language.boolean.ballerina\"},\"6\":{\"name\":\"keyword.control.flow.ballerina\"},\"7\":{\"name\":\"storage.type.ballerina\"},\"8\":{\"name\":\"variable.parameter.ballerina\"},\"9\":{\"name\":\"variable.parameter.ballerina\"},\"10\":{\"name\":\"keyword.operator.optional.ballerina\"}},\"match\":\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<!=|:)(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|(string|int|boolean|float|byte|decimal|json|xml|anydata)|\\\\b(is|new|isolated|null|function|in)\\\\b|\\\\b(true|false)\\\\b|\\\\b(check|foreach|if|checkpanic)\\\\b|\\\\b(readonly|error|map)\\\\b|([_$[:alpha:]][_$[:alnum:]]*))(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*(\\\\??)\"}]},\"parameterTuple\":{\"patterns\":[{\"begin\":\"\\\\[\",\"end\":\"(?=\\\\,)|(?=\\\\|)|(?=\\\\:)|(?==>)|(?=\\\\))\",\"patterns\":[{\"include\":\"#record\"},{\"include\":\"#objectDec\"},{\"include\":\"#parameterTupleType\"},{\"include\":\"#parameterTupleEnd\"},{\"include\":\"#comment\"}]}]},\"parameterTupleEnd\":{\"patterns\":[{\"begin\":\"\\\\]\",\"end\":\"(?=\\\\,)|(?=\\\\|)|(?=\\\\:)|(?==>)|(?=\\\\))\",\"patterns\":[{\"include\":\"#defaultWithParentheses\"},{\"match\":\"[_$[:alpha:]][_$[:alnum:]]*\",\"name\":\"default.variable.parameter.ballerina\"}]}]},\"parameterTupleType\":{\"patterns\":[{\"begin\":\"[_$[:alpha:]][_$[:alnum:]]*\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.ballerina\"}},\"end\":\"(?:\\\\,)|(?:\\\\|)|(?=\\\\])\"}]},\"parameterWithDescriptor\":{\"patterns\":[{\"begin\":\"\\\\&\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.ballerina\"}},\"end\":\"(?=\\\\,)|(?=\\\\|)|(?=\\\\))\",\"patterns\":[{\"include\":\"#parameter\"}]}]},\"parameters\":{\"patterns\":[{\"match\":\"\\\\s*(return|break|continue|check|checkpanic|panic|trap|from|where)\\\\b\",\"name\":\"keyword.control.flow.ballerina\"},{\"match\":\"\\\\s*(let|select)\\\\b\",\"name\":\"keyword.other.ballerina\"},{\"match\":\"\\\\,\",\"name\":\"punctuation.separator.parameter.ballerina\"}]},\"paranthesised\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.round.ballerina\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ballerina\"}},\"name\":\"meta.brace.round.block.ballerina\",\"patterns\":[{\"include\":\"#self-literal\"},{\"include\":\"#function-defn\"},{\"include\":\"#decl-block\"},{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#parameters\"},{\"include\":\"#annotationAttachment\"},{\"include\":\"#recordLiteral\"},{\"include\":\"#stringTemplate\"},{\"include\":\"#parameter-name\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#expression\"},{\"include\":\"#regex\"}]},\"paranthesisedBracket\":{\"patterns\":[{\"begin\":\"\\\\[\",\"end\":\"\\\\]\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#code\"}]}]},\"punctuation-accessor\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ballerina\"},\"2\":{\"name\":\"punctuation.accessor.optional.ballerina\"}},\"match\":\"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*[[:digit:]])))\"}]},\"punctuation-comma\":{\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.comma.ballerina\"}]},\"punctuation-semicolon\":{\"patterns\":[{\"match\":\";\",\"name\":\"punctuation.terminator.statement.ballerina\"}]},\"record\":{\"begin\":\"\\\\brecord\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.other.ballerina\"}},\"end\":\"(?<=\\\\})\",\"name\":\"meta.record.ballerina\",\"patterns\":[{\"include\":\"#recordBody\"}]},\"recordBody\":{\"patterns\":[{\"include\":\"#decl-block\"}]},\"recordLiteral\":{\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"patterns\":[{\"include\":\"#code\"}]}]},\"regex\":{\"patterns\":[{\"begin\":\"(\\\\bre)(\\\\s*)(`)\",\"beginCaptures\":{\"1\":{\"name\":\"support.type.primitive.ballerina\"},\"3\":{\"name\":\"punctuation.definition.regexp.template.begin.ballerina\"}},\"end\":\"`\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.regexp.template.end.ballerina\"}},\"name\":\"regexp.template.ballerina\",\"patterns\":[{\"include\":\"#template-substitution-element\"},{\"include\":\"#regexp\"}]}]},\"regex-character-class\":{\"patterns\":[{\"match\":\"\\\\\\\\[wWsSdDtrn]|\\\\.\",\"name\":\"keyword.other.character-class.regexp.ballerina\"},{\"match\":\"\\\\\\\\[^pPu]\",\"name\":\"constant.character.escape.backslash.regexp\"}]},\"regex-unicode-properties-general-category\":{\"patterns\":[{\"match\":\"(Lu|Ll|Lt|Lm|Lo|L|Mn|Mc|Me|M|Nd|Nl|No|N|Pc|Pd|Ps|Pe|Pi|Pf|Po|P|Sm|Sc|Sk|So|S|Zs|Zl|Zp|Z|Cf|Cc|Cn|Co|C)\",\"name\":\"constant.other.unicode-property-general-category.regexp.ballerina\"}]},\"regex-unicode-property-key\":{\"patterns\":[{\"begin\":\"(sc=|gc=)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.unicode-property-key.regexp.ballerina\"}},\"end\":\"()\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.other.unicode-property.end.regexp.ballerina\"}},\"name\":\"keyword.other.unicode-property-key.regexp.ballerina\",\"patterns\":[{\"include\":\"#regex-unicode-properties-general-category\"}]}]},\"regexp\":{\"patterns\":[{\"match\":\"\\\\^|\\\\$\",\"name\":\"keyword.control.assertion.regexp.ballerina\"},{\"match\":\"[?+*]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)\\\\}\\\\??\",\"name\":\"keyword.operator.quantifier.regexp.ballerina\"},{\"match\":\"\\\\|\",\"name\":\"keyword.operator.or.regexp.ballerina\"},{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.group.regexp.ballerina\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.group.regexp.ballerina\"}},\"name\":\"meta.group.assertion.regexp.ballerina\",\"patterns\":[{\"include\":\"#template-substitution-element\"},{\"include\":\"#regexp\"},{\"include\":\"#flags-on-off\"},{\"include\":\"#unicode-property-escape\"}]},{\"begin\":\"(\\\\[)(\\\\^)?\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.character-class.start.regexp.ballerina\"},\"2\":{\"name\":\"keyword.operator.negation.regexp.ballerina\"}},\"end\":\"(\\\\])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.character-class.end.regexp.ballerina\"}},\"name\":\"constant.other.character-class.set.regexp.ballerina\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.character.numeric.regexp\"},\"2\":{\"name\":\"constant.character.escape.backslash.regexp\"},\"3\":{\"name\":\"constant.character.numeric.regexp\"},\"4\":{\"name\":\"constant.character.escape.backslash.regexp\"}},\"match\":\"(?:.|(\\\\\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\\\\\[^pPu]))\\\\-(?:[^\\\\]\\\\\\\\]|(\\\\\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\\\\\[^pPu]))\",\"name\":\"constant.other.character-class.range.regexp.ballerina\"},{\"include\":\"#regex-character-class\"},{\"include\":\"#unicode-values\"},{\"include\":\"#unicode-property-escape\"}]},{\"include\":\"#template-substitution-element\"},{\"include\":\"#regex-character-class\"},{\"include\":\"#unicode-values\"},{\"include\":\"#unicode-property-escape\"}]},\"self-literal\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.language.this.ballerina\"},\"2\":{\"name\":\"punctuation.accessor.ballerina\"},\"3\":{\"name\":\"entity.name.function.ballerina\"}},\"match\":\"(\\\\bself\\\\b)\\\\s*(.)\\\\s*([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(?=\\\\()\"},{\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))self\\\\b(?!\\\\$)\",\"name\":\"variable.language.this.ballerina\"}]},\"service-decl\":{\"begin\":\"\\\\bservice\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ballerina\"}},\"end\":\"(?=;|^\\\\s*$|(?:^\\\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\\\b))|(?<=\\\\})|(?<=\\\\,)\",\"name\":\"meta.service.declaration.ballerina\",\"patterns\":[{\"include\":\"#class-defn\"},{\"include\":\"#serviceName\"},{\"include\":\"#serviceOn\"},{\"include\":\"#serviceBody\"},{\"include\":\"#objectDec\"}]},\"serviceBody\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#mdDocumentation\"},{\"include\":\"#documentationDef\"},{\"include\":\"#decl-block\"}]},\"serviceName\":{\"patterns\":[{\"include\":\"#string\"},{\"match\":\"(\\\\/([_$[:alpha:]][_$[:alnum:]]*)|\\\\\\\"[_$[:alpha:]][_$[:alnum:]]*\\\\\\\")\",\"name\":\"entity.service.path.ballerina\"}]},\"serviceOn\":{\"patterns\":[{\"begin\":\"on\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.other.ballerina\"}},\"end\":\"(?={)\",\"patterns\":[{\"include\":\"#code\"}]}]},\"source\":{\"patterns\":[{\"begin\":\"(\\\\bsource\\\\b)\\\\s+([_$[:alpha:]][_$[:alnum:]]*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.ballerina\"},\"2\":{\"name\":\"variable.other.readwrite.ballerina\"}},\"end\":\"(?=\\\\,)|(?=\\\\;)\"}]},\"statements\":{\"patterns\":[{\"include\":\"#stringTemplate\"},{\"include\":\"#declaration\"},{\"include\":\"#control-statement\"},{\"include\":\"#decl-block\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-semicolon\"},{\"include\":\"#string\"},{\"include\":\"#comment\"},{\"include\":\"#mdDocumentation\"},{\"include\":\"#keywords\"},{\"include\":\"#annotationAttachment\"},{\"include\":\"#regex\"}]},\"string\":{\"patterns\":[{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ballerina\"}},\"end\":\"(\\\")|((?:[^\\\\\\\\\\\\n])$)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.ballerina\"},\"2\":{\"name\":\"invalid.illegal.newline.ballerina\"}},\"name\":\"string.quoted.double.ballerina\",\"patterns\":[{\"include\":\"#string-character-escape\"}]}]},\"string-character-escape\":{\"patterns\":[{\"match\":\"\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\\\\{[0-9A-Fa-f]+\\\\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\",\"name\":\"constant.character.escape.ballerina\"}]},\"stringTemplate\":{\"patterns\":[{\"begin\":\"((string)|([_$[:alpha:]][_$[:alnum:]]*))?(`)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.tagged-template.ballerina\"},\"2\":{\"name\":\"support.type.primitive.ballerina\"},\"4\":{\"name\":\"punctuation.definition.string.template.begin.ballerina\"}},\"end\":\"\\\\\\\\?`\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.template.end.ballerina\"}},\"name\":\"string.template.ballerina\",\"patterns\":[{\"include\":\"#template-substitution-element\"},{\"include\":\"#string-character-escape\"}]}]},\"strings\":{\"patterns\":[{\"begin\":\"\\\\\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"string.begin.ballerina\"}},\"end\":\"\\\\\\\"\",\"endCaptures\":{\"0\":{\"name\":\"string.end.ballerina\"}},\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.ballerina\"},{\"match\":\".\",\"name\":\"string\"}]}]},\"template-substitution-element\":{\"patterns\":[{\"begin\":\"\\\\$\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.begin.ballerina\"}},\"contentName\":\"meta.embedded.line.ballerina\",\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.end.ballerina\"}},\"name\":\"meta.template.expression.ballerina\",\"patterns\":[{\"include\":\"#expression\"}]}]},\"templateVariable\":{\"patterns\":[{\"begin\":\"\\\\${\",\"beginCaptures\":{\"0\":{\"name\":\"constant.character.escape.ballerina\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"constant.character.escape.ballerina\"}},\"patterns\":[{\"include\":\"#code\"}]}]},\"ternary-expression\":{\"begin\":\"(?!\\\\?\\\\.\\\\s*[^[:digit:]])(\\\\?)(?!\\\\?)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.ternary.ballerina\"}},\"end\":\"\\\\s*\",\"endCaptures\":{\"1\":{\"name\":\"keyword.operator.ternary.ballerina\"}},\"patterns\":[{\"include\":\"#expression\"}]},\"tupleType\":{\"patterns\":[{\"begin\":\"\\\\[\",\"end\":\"(?=\\\\]|;)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#constrainType\"},{\"include\":\"#paranthesisedBracket\"},{\"match\":\"\\\\b([_$[:alpha:]][_$[:alnum:]]*)\\\\b\",\"name\":\"storage.type.ballerina\"}]}]},\"type\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#numbers\"},{\"include\":\"#type-primitive\"},{\"include\":\"#type-tuple\"}]},\"type-annotation\":{\"patterns\":[{\"begin\":\"(\\\\:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.annotation.ballerina\"}},\"end\":\"(?<![:|&])((?=$|^|[,);\\\\}\\\\]\\\\?\\\\>\\\\=>]|//)|(?==[^>])|((?<=[\\\\}>\\\\]\\\\)]|[_$[:alpha:]])\\\\s*(?=\\\\{)))(\\\\?)?\",\"name\":\"meta.type.annotation.ballerina\",\"patterns\":[{\"include\":\"#booleans\"},{\"include\":\"#stringTemplate\"},{\"include\":\"#regex\"},{\"include\":\"#self-literal\"},{\"include\":\"#xml\"},{\"include\":\"#call\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.ballerina\"},\"2\":{\"name\":\"constant.language.boolean.ballerina\"},\"3\":{\"name\":\"keyword.control.ballerina\"},\"4\":{\"name\":\"storage.type.ballerina\"},\"5\":{\"name\":\"support.type.primitive.ballerina\"},\"6\":{\"name\":\"variable.other.readwrite.ballerina\"},\"8\":{\"name\":\"punctuation.accessor.ballerina\"},\"9\":{\"name\":\"entity.name.function.ballerina\"},\"10\":{\"name\":\"punctuation.definition.parameters.begin.ballerina\"},\"11\":{\"name\":\"punctuation.definition.parameters.end.ballerina\"}},\"match\":\"\\\\b(is|new|isolated|null|function|in)\\\\b|\\\\b(true|false)\\\\b|\\\\b(check|foreach|if|checkpanic)\\\\b|\\\\b(readonly|error|map)\\\\b|\\\\b(var)\\\\b|([_$[:alpha:]][_$[:alnum:]]*)((\\\\.)([_$[:alpha:]][_$[:alnum:]]*)(\\\\()(\\\\)))?\"},{\"match\":\"\\\\?\",\"name\":\"keyword.operator.optional.ballerina\"},{\"include\":\"#multiType\"},{\"include\":\"#type\"},{\"include\":\"#paranthesised\"}]}]},\"type-primitive\":{\"patterns\":[{\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(string|int|boolean|float|byte|decimal|json|xml|anydata)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"support.type.primitive.ballerina\"}]},\"type-tuple\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.square.ballerina\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.square.ballerina\"}},\"name\":\"meta.type.tuple.ballerina\",\"patterns\":[{\"include\":\"#self-literal\"},{\"include\":\"#booleans\"},{\"match\":\"\\\\.\\\\.\\\\.\",\"name\":\"keyword.operator.rest.ballerina\"},{\"captures\":{\"1\":{\"name\":\"entity.name.label.ballerina\"},\"2\":{\"name\":\"keyword.operator.optional.ballerina\"},\"3\":{\"name\":\"punctuation.separator.label.ballerina\"}},\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(\\\\?)?\\\\s*(:)\"},{\"include\":\"#identifiers\"},{\"include\":\"#type\"},{\"include\":\"#punctuation-comma\"}]},\"typeDefinition\":{\"patterns\":[{\"begin\":\"(\\\\btype\\\\b)\\\\s+([_$[:alpha:]][_$[:alnum:]]*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.ballerina\"},\"2\":{\"name\":\"entity.name.type.ballerina\"}},\"end\":\"\\\\;\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.terminator.statement.ballerina\"}},\"patterns\":[{\"include\":\"#functionParameters\"},{\"include\":\"#functionReturns\"},{\"include\":\"#mdDocumentation\"},{\"include\":\"#record\"},{\"include\":\"#string\"},{\"include\":\"#keywords\"},{\"include\":\"#multiType\"},{\"include\":\"#type-primitive\"},{\"match\":\"[_$[:alpha:]][_$[:alnum:]]*\",\"name\":\"variable.other.readwrite.ballerina\"},{\"include\":\"#type-annotation\"},{\"include\":\"#typeDescription\"},{\"include\":\"#decl-block\"}]}]},\"typeDescription\":{\"patterns\":[{\"begin\":\"[_$[:alpha:]][_$[:alnum:]]*\",\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#numbers\"},{\"include\":\"#decl-block\"},{\"include\":\"#type-primitive\"},{\"match\":\"[_$[:alpha:]][_$[:alnum:]]*\",\"name\":\"storage.type.ballerina\"}]}]},\"types\":{\"patterns\":[{\"match\":\"\\\\b(handle|any|future|typedesc)\\\\b\",\"name\":\"storage.type.ballerina\"},{\"match\":\"\\\\b(boolean|int|string|float|decimal|byte|json|xml|anydata)\\\\b\",\"name\":\"support.type.primitive.ballerina\"},{\"match\":\"\\\\b(map|error|never|readonly|distinct)\\\\b\",\"name\":\"storage.type.ballerina\"},{\"match\":\"\\\\b(stream)\\\\b\",\"name\":\"storage.type.ballerina\"}]},\"unicode-property-escape\":{\"patterns\":[{\"begin\":\"(\\\\\\\\p|\\\\\\\\P)(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.unicode-property.regexp.ballerina\"},\"2\":{\"name\":\"punctuation.other.unicode-property.begin.regexp.ballerina\"}},\"end\":\"(\\\\})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.other.unicode-property.end.regexp.ballerina\"}},\"name\":\"keyword.other.unicode-property.regexp.ballerina\",\"patterns\":[{\"include\":\"#regex-unicode-properties-general-category\"},{\"include\":\"#regex-unicode-property-key\"}]}]},\"unicode-values\":{\"patterns\":[{\"begin\":\"(\\\\\\\\u)(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.unicode-value.regexp.ballerina\"},\"2\":{\"name\":\"punctuation.other.unicode-value.begin.regexp.ballerina\"}},\"end\":\"(\\\\})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.other.unicode-value.end.regexp.ballerina\"}},\"name\":\"keyword.other.unicode-value.ballerina\",\"patterns\":[{\"match\":\"([0-9A-Fa-f]{1,6})\",\"name\":\"constant.other.unicode-value.regexp.ballerina\"}]}]},\"var-expr\":{\"patterns\":[{\"begin\":\"(?=\\\\b(var))\",\"beginCaptures\":{\"0\":{\"name\":\"storage.modifier.ballerina support.type.primitive.ballerina\"}},\"end\":\"(?!\\\\b(var))((?=;|}|;|^\\\\s*$|(?:^\\\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\\\b))|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?=(if)\\\\s+))|((?<!^string|[^\\\\._$[:alnum:]]string|^int|[^\\\\._$[:alnum:]]int)(?=\\\\s*$)))\",\"name\":\"meta.var.expr.ballerina\",\"patterns\":[{\"begin\":\"\\\\b(var)(?=\\\\s+|\\\\[|\\\\?|\\\\||\\\\:)\",\"beginCaptures\":{\"0\":{\"name\":\"support.type.primitive.ballerina\"}},\"end\":\"(?=\\\\S)\"},{\"match\":\"\\\\|\",\"name\":\"keyword.operator.type.annotation.ballerina\"},{\"match\":\"\\\\bin\\\\b\",\"name\":\"keyword.other.ballerina\"},{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#stringTemplate\"},{\"include\":\"#numbers\"},{\"include\":\"#multiType\"},{\"include\":\"#self-literal\"},{\"include\":\"#var-single-variable\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#type-annotation\"},{\"include\":\"#keywords\"},{\"include\":\"#type-tuple\"},{\"include\":\"#regex\"}]},{\"include\":\"#punctuation-comma\"},{\"begin\":\"(?=\\\\b(const(?!\\\\s+enum\\\\b)))\",\"end\":\"(?!\\\\b(const(?!\\\\s+enum\\\\b)))((?=\\\\bannotation\\\\b|;|}|;|^\\\\s*$|(?:^\\\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\\\b))|((?<!^string|[^\\\\._$[:alnum:]]string|^int|[^\\\\._$[:alnum:]]int)(?=\\\\s*$)))\",\"name\":\"meta.var.expr.ballerina\",\"patterns\":[{\"begin\":\"\\\\b(const(?!\\\\s+enum\\\\b))\\\\s+\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.other.ballerina\"}},\"end\":\"(?=\\\\S)\"},{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#stringTemplate\"},{\"include\":\"#var-single-const\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#type-annotation\"}]},{\"include\":\"#punctuation-comma\"},{\"begin\":\"(string|int|boolean|float|byte|decimal|json|xml|anydata)(?=\\\\s+|\\\\[|\\\\?|\\\\||\\\\:)\",\"beginCaptures\":{\"0\":{\"name\":\"support.type.primitive.ballerina\"}},\"end\":\"(?!\\\\b(var))((?=;|}|;|^\\\\s*$|(?:^\\\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\\\b))|((?<!^string|[^\\\\._$[:alnum:]]string|^int|[^\\\\._$[:alnum:]]int)(?=\\\\s*$)))\",\"name\":\"meta.var.expr.ballerina\",\"patterns\":[{\"include\":\"#xml\"},{\"begin\":\"(string|int|boolean|float|byte|decimal|json|xml|anydata)(?=\\\\s+|\\\\[|\\\\?|\\\\||\\\\:)\",\"beginCaptures\":{\"0\":{\"name\":\"support.type.primitive.ballerina\"}},\"end\":\"(?=\\\\S)\"},{\"match\":\"\\\\|\",\"name\":\"keyword.operator.type.annotation.ballerina\"},{\"include\":\"#string\"},{\"include\":\"#stringTemplate\"},{\"include\":\"#numbers\"},{\"include\":\"#multiType\"},{\"include\":\"#var-single-variable\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#type-annotation\"},{\"include\":\"#keywords\"},{\"include\":\"#type-tuple\"},{\"include\":\"#regex\"}]},{\"include\":\"#punctuation-comma\"}]},\"var-single-const\":{\"patterns\":[{\"name\":\"meta.var-single-variable.expr.ballerina\"},{\"begin\":\"\\\\b(var)\\\\s*\",\"beginCaptures\":{\"0\":{\"name\":\"support.type.primitive.ballerina\"}},\"end\":\"(?=\\\\S)\"},{\"include\":\"#types\"},{\"begin\":\"([_$[:alpha:]][_$[:alnum:]]*)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.definition.variable.ballerina variable.other.constant.ballerina\"}},\"end\":\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))\\\\s+))\"}]},\"var-single-variable\":{\"patterns\":[{\"begin\":\"((string|int|boolean|float|byte|decimal|json|xml|anydata)|\\\\b(readonly|error|map)\\\\b|([_$[:alpha:]][_$[:alnum:]]*))(?=\\\\s+|\\\\;|\\\\>|\\\\|)\",\"beginCaptures\":{\"2\":{\"name\":\"support.type.primitive.ballerina\"},\"3\":{\"name\":\"storage.type.ballerina\"},\"4\":{\"name\":\"meta.definition.variable.ballerina variable.other.readwrite.ballerina\"}},\"end\":\"(?=$|^|[;,=}])\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.terminator.statement.ballerina\"}},\"name\":\"meta.var-single-variable.expr.ballerina\",\"patterns\":[{\"include\":\"#call\"},{\"include\":\"#self-literal\"},{\"include\":\"#if-statement\"},{\"include\":\"#string\"},{\"include\":\"#numbers\"},{\"include\":\"#keywords\"}]},{\"begin\":\"([_$[:alpha:]][_$[:alnum:]]*)\\\\s+(\\\\!)?\",\"beginCaptures\":{\"1\":{\"name\":\"meta.definition.variable.ballerina variable.other.readwrite.ballerina\"},\"2\":{\"name\":\"keyword.operator.definiteassignment.ballerina\"}},\"end\":\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))\\\\s+))\",\"name\":\"meta.var-single-variable.expr.ballerina\"}]},\"variable-initializer\":{\"patterns\":[{\"begin\":\"(?<!=|!)(=)(?!=|>)(?=\\\\s*\\\\S)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.ballerina\"}},\"end\":\"(?=$|[,);}\\\\]])\",\"patterns\":[{\"match\":\"(\\\\')([_$[:alpha:]][_$[:alnum:]]*)\",\"name\":\"variable.other.property.ballerina\"},{\"include\":\"#xml\"},{\"include\":\"#function-defn\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-accessor\"},{\"include\":\"#regex\"}]},{\"begin\":\"(?<!=|!)(=)(?!=|>)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.ballerina\"}},\"end\":\"(?=[,);}\\\\]]|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))\\\\s+))|(?=^\\\\s*$)|(?<=\\\\S)(?<!=)(?=\\\\s*$)\",\"patterns\":[{\"include\":\"#expression\"}]}]},\"variableDef\":{\"patterns\":[{\"begin\":\"(?:(?!\\\\+)[_$[:alpha:]][_$[:alnum:]]*)(?: |\\\\t)|(?=\\\\()\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.ballerina\"}},\"end\":\"(?:[_$[:alpha:]][_$[:alnum:]]*)|(?=\\\\,)|(?=;)|\\\\.\\\\.\\\\.\",\"patterns\":[{\"include\":\"#tupleType\"},{\"include\":\"#constrainType\"},{\"include\":\"#comment\"}]}]},\"variableDefInline\":{\"patterns\":[{\"begin\":\"(?=record)|(?=object)\",\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#record\"},{\"include\":\"#objectDec\"}]}]},\"workerBody\":{\"patterns\":[{\"begin\":\"\\\\{\",\"end\":\"(?=\\\\})\",\"patterns\":[{\"include\":\"#code\"}]}]},\"workerDef\":{\"patterns\":[{\"begin\":\"\\\\bworker\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ballerina\"}},\"end\":\"\\\\}\",\"patterns\":[{\"include\":\"#functionReturns\"},{\"include\":\"#workerBody\"}]}]},\"xml\":{\"patterns\":[{\"begin\":\"(\\\\bxml)(\\\\s*)(`)\",\"beginCaptures\":{\"1\":{\"name\":\"support.type.primitive.ballerina\"},\"3\":{\"name\":\"punctuation.definition.string.template.begin.ballerina\"}},\"end\":\"`\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.template.end.ballerina\"}},\"name\":\"string.template.ballerina\",\"patterns\":[{\"include\":\"#xmlTag\"},{\"include\":\"#xmlComment\"},{\"include\":\"#templateVariable\"},{\"match\":\".\",\"name\":\"string\"}]}]},\"xmlComment\":{\"patterns\":[{\"begin\":\"<!--\",\"beginCaptures\":{\"0\":{\"name\":\"comment.block.xml.ballerina\"}},\"end\":\"-->\",\"endCaptures\":{\"0\":{\"name\":\"comment.block.xml.ballerina\"}},\"name\":\"comment.block.xml.ballerina\"}]},\"xmlDoubleQuotedString\":{\"patterns\":[{\"begin\":\"\\\\\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"string.begin.ballerina\"}},\"end\":\"\\\\\\\"\",\"endCaptures\":{\"0\":{\"name\":\"string.end.ballerina\"}},\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.ballerina\"},{\"match\":\".\",\"name\":\"string\"}]}]},\"xmlSingleQuotedString\":{\"patterns\":[{\"begin\":\"\\\\'\",\"beginCaptures\":{\"0\":{\"name\":\"string.begin.ballerina\"}},\"end\":\"\\\\'\",\"endCaptures\":{\"0\":{\"name\":\"string.end.ballerina\"}},\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.ballerina\"},{\"match\":\".\",\"name\":\"string\"}]}]},\"xmlTag\":{\"patterns\":[{\"begin\":\"(<\\\\/?\\\\??)\\\\s*([-_a-zA-Z0-9]+)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.xml.ballerina\"},\"2\":{\"name\":\"entity.name.tag.xml.ballerina\"}},\"end\":\"\\\\??\\\\/?>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.xml.ballerina\"}},\"patterns\":[{\"include\":\"#xmlSingleQuotedString\"},{\"include\":\"#xmlDoubleQuotedString\"},{\"match\":\"xmlns\",\"name\":\"keyword.other.ballerina\"},{\"match\":\"([a-zA-Z0-9-]+)\",\"name\":\"entity.other.attribute-name.xml.ballerina\"}]}]}},\"scopeName\":\"source.ballerina\"}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Ballerina\",\"fileTypes\":[\"bal\"],\"name\":\"ballerina\",\"patterns\":[{\"include\":\"#statements\"}],\"repository\":{\"access-modifier\":{\"patterns\":[{\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(p(?:ublic|rivate))(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"storage.modifier.ballerina keyword.other.ballerina\"}]},\"annotationAttachment\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.decorator.ballerina\"},\"2\":{\"name\":\"support.type.ballerina\"},\"3\":{\"name\":\"punctuation.decorator.ballerina\"},\"4\":{\"name\":\"support.type.ballerina\"}},\"match\":\"(@)([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(:?)\\\\s*((?:[_$[:alpha:]][_$[:alnum:]]*)?)\"}]},\"annotationDefinition\":{\"patterns\":[{\"begin\":\"\\\\bannotation\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ballerina\"}},\"end\":\";\",\"patterns\":[{\"include\":\"#code\"}]}]},\"array-literal\":{\"begin\":\"\\\\s*(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.brace.square.ballerina\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.square.ballerina\"}},\"name\":\"meta.array.literal.ballerina\",\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"booleans\":{\"patterns\":[{\"match\":\"\\\\b(true|false)\\\\b\",\"name\":\"constant.language.boolean.ballerina\"}]},\"butClause\":{\"patterns\":[{\"begin\":\"=>\",\"beginCaptures\":{\"0\":{\"name\":\"meta.arrow.ballerina storage.type.function.arrow.ballerina\"}},\"end\":\",|(?=})\",\"patterns\":[{\"include\":\"#code\"}]}]},\"butExp\":{\"patterns\":[{\"begin\":\"\\\\bbut\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ballerina\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina.documentation\"}},\"patterns\":[{\"include\":\"#butExpBody\"},{\"include\":\"#comment\"}]}]},\"butExpBody\":{\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina.documentation\"}},\"end\":\"(?=})\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina.documentation\"}},\"patterns\":[{\"include\":\"#parameter\"},{\"include\":\"#butClause\"},{\"include\":\"#comment\"}]}]},\"call\":{\"patterns\":[{\"match\":\"'?([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(?=\\\\()\",\"name\":\"entity.name.function.ballerina\"}]},\"callableUnitBody\":{\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"end\":\"(?=})\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"patterns\":[{\"include\":\"#workerDef\"},{\"include\":\"#service-decl\"},{\"include\":\"#objectDec\"},{\"include\":\"#function-defn\"},{\"include\":\"#forkStatement\"},{\"include\":\"#code\"}]}]},\"class-body\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"name\":\"meta.class.body.ballerina\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#mdDocumentation\"},{\"include\":\"#function-defn\"},{\"include\":\"#var-expr\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#access-modifier\"},{\"include\":\"#keywords\"},{\"begin\":\"(?<=:)\\\\s*\",\"end\":\"(?=[\\\\s;),}\\\\]:\\\\-+]|^\\\\s*$|^\\\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\\\b)\"},{\"include\":\"#decl-block\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#punctuation-semicolon\"}]},\"class-defn\":{\"begin\":\"(\\\\s+)(class\\\\b)|^class\\\\b(?=\\\\s+|/[/*])\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.class.ballerina keyword.other.ballerina\"}},\"end\":\"(?<=})\",\"name\":\"meta.class.ballerina\",\"patterns\":[{\"include\":\"#keywords\"},{\"captures\":{\"0\":{\"name\":\"entity.name.type.class.ballerina\"}},\"match\":\"[_$[:alpha:]][_$[:alnum:]]*\"},{\"include\":\"#class-body\"}]},\"code\":{\"patterns\":[{\"include\":\"#booleans\"},{\"include\":\"#matchStatement\"},{\"include\":\"#butExp\"},{\"include\":\"#xml\"},{\"include\":\"#stringTemplate\"},{\"include\":\"#keywords\"},{\"include\":\"#strings\"},{\"include\":\"#comment\"},{\"include\":\"#mdDocumentation\"},{\"include\":\"#annotationAttachment\"},{\"include\":\"#numbers\"},{\"include\":\"#maps\"},{\"include\":\"#paranthesised\"},{\"include\":\"#paranthesisedBracket\"},{\"include\":\"#regex\"}]},\"comment\":{\"patterns\":[{\"match\":\"//.*\",\"name\":\"comment.ballerina\"}]},\"constrainType\":{\"patterns\":[{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.begin.ballerina\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.ballerina\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#constrainType\"},{\"match\":\"\\\\b([_$[:alpha:]][_$[:alnum:]]*)\\\\b\",\"name\":\"storage.type.ballerina\"}]}]},\"control-statement\":{\"patterns\":[{\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(return)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.flow.ballerina\"}},\"end\":\"(?=[;}]|$|;|^\\\\s*$|^\\\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\\\b)\",\"patterns\":[{\"include\":\"#expression\"}]},{\"include\":\"#for-loop\"},{\"include\":\"#if-statement\"},{\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(else|if)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.control.conditional.ballerina\"}]},\"decl-block\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"end\":\"(?=} external;)|(})\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"name\":\"meta.block.ballerina\",\"patterns\":[{\"include\":\"#statements\"},{\"include\":\"#mdDocumentation\"}]},\"declaration\":{\"patterns\":[{\"include\":\"#import-declaration\"},{\"include\":\"#var-expr\"},{\"include\":\"#typeDefinition\"},{\"include\":\"#function-defn\"},{\"include\":\"#service-decl\"},{\"include\":\"#class-defn\"},{\"include\":\"#enum-decl\"},{\"include\":\"#source\"},{\"include\":\"#keywords\"}]},\"defaultValue\":{\"patterns\":[{\"begin\":\"[=:]\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.ballerina\"}},\"end\":\"(?=[,)])\",\"patterns\":[{\"include\":\"#code\"}]}]},\"defaultWithParentheses\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}}}]},\"documentationBody\":{\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina.documentation\"}},\"end\":\"(?=})\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina.documentation\"}},\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.other.ballerina.documentation\"},\"2\":{\"name\":\"keyword.other.ballerina.documentation\"},\"3\":{\"name\":\"variable.parameter.ballerina.documentation\"},\"4\":{\"name\":\"keyword.other.ballerina.documentation\"}},\"match\":\"([PRTFV])(\\\\{\\\\{)(.*)(}})\"},{\"begin\":\"```\",\"end\":\"```\",\"name\":\"comment.block.code.ballerina.documentation\"},{\"begin\":\"``\",\"end\":\"``\",\"name\":\"comment.block.code.ballerina.documentation\"},{\"begin\":\"`\",\"end\":\"`\",\"name\":\"comment.block.code.ballerina.documentation\"},{\"match\":\".\",\"name\":\"comment.block.ballerina.documentation\"}]}]},\"documentationDef\":{\"patterns\":[{\"begin\":\"\\\\bd(?:ocumentation|eprecated)\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ballerina\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"delimiter.curly\"}},\"patterns\":[{\"include\":\"#documentationBody\"},{\"include\":\"#comment\"}]}]},\"enum-decl\":{\"begin\":\"(?:\\\\b(const)\\\\s+)?\\\\b(enum)\\\\s+([_$[:alpha:]][_$[:alnum:]]*)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ballerina\"},\"2\":{\"name\":\"keyword.other.ballerina\"},\"3\":{\"name\":\"entity.name.type.enum.ballerina\"}},\"end\":\"(?<=})\",\"name\":\"meta.enum.declaration.ballerina\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#mdDocumentation\"},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#mdDocumentation\"},{\"begin\":\"([_$[:alpha:]][_$[:alnum:]]*)\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.enummember.ballerina\"}},\"end\":\"(?=[,}]|$)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#variable-initializer\"}]},{\"begin\":\"(?=(('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^`\\\\\\\\]|\\\\\\\\.)*`)|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])+])))\",\"end\":\"(?=[,}]|$)\",\"patterns\":[{\"include\":\"#string\"},{\"include\":\"#array-literal\"},{\"include\":\"#comment\"},{\"include\":\"#variable-initializer\"}]},{\"include\":\"#punctuation-comma\"}]}]},\"errorDestructure\":{\"patterns\":[{\"begin\":\"error\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.ballerina\"}},\"end\":\"(?==>)\",\"patterns\":[{\"include\":\"#code\"}]}]},\"expression\":{\"patterns\":[{\"include\":\"#keywords\"},{\"include\":\"#expressionWithoutIdentifiers\"},{\"include\":\"#identifiers\"},{\"include\":\"#regex\"}]},\"expression-operators\":{\"patterns\":[{\"match\":\"\\\\*=|(?<!\\\\()/=|%=|\\\\+=|-=\",\"name\":\"keyword.operator.assignment.compound.ballerina\"},{\"match\":\"&=|\\\\^=|<<=|>>=|>>>=|\\\\|=\",\"name\":\"keyword.operator.assignment.compound.bitwise.ballerina\"},{\"match\":\"<<|>>>|>>\",\"name\":\"keyword.operator.bitwise.shift.ballerina\"},{\"match\":\"(?:==|!=)(?:=|)\",\"name\":\"keyword.operator.comparison.ballerina\"},{\"match\":\"<=|>=|<>|[<>]\",\"name\":\"keyword.operator.relational.ballerina\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.logical.ballerina\"},\"2\":{\"name\":\"keyword.operator.assignment.compound.ballerina\"},\"3\":{\"name\":\"keyword.operator.arithmetic.ballerina\"}},\"match\":\"(?<=[_$[:alnum:]])(!)\\\\s*(?:(/=)|(/)(?![/*]))\"},{\"match\":\"!|&&|\\\\|\\\\||\\\\?\\\\?\",\"name\":\"keyword.operator.logical.ballerina\"},{\"match\":\"[\\\\&~\\\\^|]\",\"name\":\"keyword.operator.bitwise.ballerina\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.ballerina\"},{\"match\":\"--\",\"name\":\"keyword.operator.decrement.ballerina\"},{\"match\":\"\\\\+\\\\+\",\"name\":\"keyword.operator.increment.ballerina\"},{\"match\":\"[%*/\\\\-+]\",\"name\":\"keyword.operator.arithmetic.ballerina\"}]},\"expressionWithoutIdentifiers\":{\"patterns\":[{\"include\":\"#xml\"},{\"include\":\"#string\"},{\"include\":\"#stringTemplate\"},{\"include\":\"#comment\"},{\"include\":\"#object-literal\"},{\"include\":\"#ternary-expression\"},{\"include\":\"#expression-operators\"},{\"include\":\"#literal\"},{\"include\":\"#paranthesised\"},{\"include\":\"#regex\"}]},\"flags-on-off\":{\"name\":\"meta.flags.regexp.ballerina\",\"patterns\":[{\"begin\":\"(\\\\??)([imsx]*)(-?)([imsx]*)(:)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.other.non-capturing-group-begin.regexp.ballerina\"},\"2\":{\"name\":\"keyword.other.non-capturing-group.flags-on.regexp.ballerina\"},\"3\":{\"name\":\"punctuation.other.non-capturing-group.off.regexp.ballerina\"},\"4\":{\"name\":\"keyword.other.non-capturing-group.flags-off.regexp.ballerina\"},\"5\":{\"name\":\"punctuation.other.non-capturing-group-end.regexp.ballerina\"}},\"end\":\"()\",\"name\":\"constant.other.flag.regexp.ballerina\",\"patterns\":[{\"include\":\"#regexp\"},{\"include\":\"#template-substitution-element\"}]}]},\"for-loop\":{\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))foreach\\\\s*\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.loop.ballerina\"},\"1\":{\"name\":\"support.type.primitive.ballerina\"}},\"end\":\"(?=\\\\{)\",\"patterns\":[{\"match\":\"\\\\bin\\\\b\",\"name\":\"keyword.other.ballerina\"},{\"include\":\"#identifiers\"},{\"include\":\"#comment\"},{\"include\":\"#var-expr\"},{\"include\":\"#expression\"}]},\"forkBody\":{\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"end\":\"(?=})\",\"patterns\":[{\"include\":\"#workerDef\"}]}]},\"forkStatement\":{\"patterns\":[{\"begin\":\"\\\\bfork\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ballerina\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"patterns\":[{\"include\":\"#forkBody\"}]}]},\"function-body\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#functionParameters\"},{\"include\":\"#decl-block\"},{\"begin\":\"=>\",\"beginCaptures\":{\"0\":{\"name\":\"meta.arrow.ballerina storage.type.function.arrow.ballerina\"}},\"end\":\"(?=;)|(?=,)|(?=)(?=\\\\);)\",\"name\":\"meta.block.ballerina\",\"patterns\":[{\"include\":\"#statements\"},{\"include\":\"#punctuation-comma\"}]},{\"match\":\"\\\\*\",\"name\":\"keyword.generator.asterisk.ballerina\"}]},\"function-defn\":{\"begin\":\"(?:(p(?:ublic|rivate))\\\\s+)?(function\\\\b)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.ballerina\"},\"2\":{\"name\":\"keyword.other.ballerina\"}},\"end\":\"(?<=;)|(?<=})|(?<=,)|(?=)(?=\\\\);)\",\"name\":\"meta.function.ballerina\",\"patterns\":[{\"match\":\"\\\\bexternal\\\\b\",\"name\":\"keyword.ballerina\"},{\"include\":\"#stringTemplate\"},{\"include\":\"#annotationAttachment\"},{\"include\":\"#functionReturns\"},{\"include\":\"#functionName\"},{\"include\":\"#functionParameters\"},{\"include\":\"#punctuation-semicolon\"},{\"include\":\"#function-body\"},{\"include\":\"#regex\"}]},\"function-parameters-body\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#numbers\"},{\"include\":\"#string\"},{\"include\":\"#annotationAttachment\"},{\"include\":\"#recordLiteral\"},{\"include\":\"#keywords\"},{\"include\":\"#parameter-name\"},{\"include\":\"#array-literal\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#identifiers\"},{\"include\":\"#regex\"},{\"match\":\",\",\"name\":\"punctuation.separator.parameter.ballerina\"}]},\"functionName\":{\"patterns\":[{\"match\":\"\\\\bfunction\\\\b\",\"name\":\"keyword.other.ballerina\"},{\"include\":\"#type-primitive\"},{\"include\":\"#self-literal\"},{\"include\":\"#string\"},{\"captures\":{\"2\":{\"name\":\"variable.language.this.ballerina\"},\"3\":{\"name\":\"keyword.other.ballerina\"},\"4\":{\"name\":\"support.type.primitive.ballerina\"},\"5\":{\"name\":\"storage.type.ballerina\"},\"6\":{\"name\":\"meta.definition.function.ballerina entity.name.function.ballerina\"}},\"match\":\"\\\\s+(\\\\b(self)|\\\\b(is|new|isolated|null|function|in)\\\\b|(string|int|boolean|float|byte|decimal|json|xml|anydata)\\\\b|\\\\b(readonly|error|map)\\\\b|([_$[:alpha:]][_$[:alnum:]]*))\"}]},\"functionParameters\":{\"begin\":\"[(\\\\[]\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.begin.ballerina\"}},\"end\":\"[)\\\\]]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.ballerina\"}},\"name\":\"meta.parameters.ballerina\",\"patterns\":[{\"include\":\"#function-parameters-body\"}]},\"functionReturns\":{\"begin\":\"\\\\s*(returns)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.ballerina\"}},\"end\":\"(?==>)|(=)|(?=\\\\{)|(\\\\))|(?=;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.operator.ballerina\"}},\"name\":\"meta.type.function.return.ballerina\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#numbers\"},{\"include\":\"#keywords\"},{\"include\":\"#type-primitive\"},{\"captures\":{\"1\":{\"name\":\"support.type.primitive.ballerina\"}},\"match\":\"\\\\s*\\\\b(var)(?=\\\\s+|[\\\\[?])\"},{\"match\":\"\\\\|\",\"name\":\"keyword.operator.ballerina\"},{\"match\":\"\\\\?\",\"name\":\"keyword.operator.optional.ballerina\"},{\"include\":\"#type-annotation\"},{\"include\":\"#type-tuple\"},{\"include\":\"#keywords\"},{\"match\":\"[_$[:alpha:]][_$[:alnum:]]*\",\"name\":\"variable.other.readwrite.ballerina\"}]},\"functionType\":{\"patterns\":[{\"begin\":\"\\\\bfunction\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ballerina\"}},\"end\":\"(?=,)|(?=\\\\|)|(?=:)|(?==>)|(?=\\\\))|(?=])\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#functionTypeParamList\"},{\"include\":\"#functionTypeReturns\"}]}]},\"functionTypeParamList\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"delimiter.parenthesis\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"delimiter.parenthesis\"}},\"patterns\":[{\"match\":\"public\",\"name\":\"keyword\"},{\"include\":\"#annotationAttachment\"},{\"include\":\"#recordLiteral\"},{\"include\":\"#record\"},{\"include\":\"#objectDec\"},{\"include\":\"#functionType\"},{\"include\":\"#constrainType\"},{\"include\":\"#parameterTuple\"},{\"include\":\"#functionTypeType\"},{\"include\":\"#comment\"}]}]},\"functionTypeReturns\":{\"patterns\":[{\"begin\":\"\\\\breturns\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword\"}},\"end\":\"(?=,)|\\\\||(?=])|(?=\\\\))\",\"patterns\":[{\"include\":\"#functionTypeReturnsParameter\"},{\"include\":\"#comment\"}]}]},\"functionTypeReturnsParameter\":{\"patterns\":[{\"begin\":\"((?=record|object|function)|[_$[:alpha:]][_$[:alnum:]]*)\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.ballerina\"}},\"end\":\"(?=,)|[|:]|(?==>)|(?=\\\\))|(?=])\",\"patterns\":[{\"include\":\"#record\"},{\"include\":\"#objectDec\"},{\"include\":\"#functionType\"},{\"include\":\"#constrainType\"},{\"include\":\"#defaultValue\"},{\"include\":\"#comment\"},{\"include\":\"#parameterTuple\"},{\"match\":\"[_$[:alpha:]][_$[:alnum:]]*\",\"name\":\"default.variable.parameter.ballerina\"}]}]},\"functionTypeType\":{\"patterns\":[{\"begin\":\"[_$[:alpha:]][_$[:alnum:]]*\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.ballerina\"}},\"end\":\"(?=,)|\\\\||(?=])|(?=\\\\))\"}]},\"identifiers\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ballerina\"},\"2\":{\"name\":\"punctuation.accessor.optional.ballerina\"},\"3\":{\"name\":\"entity.name.function.ballerina\"}},\"match\":\"(?:(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*)?([_$[:alpha:]][_$[:alnum:]]*)(?=\\\\s*=\\\\s*((((function\\\\s*[(<*])|(function\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\s*=>)))|((((<\\\\s*$)|((<\\\\s*([_$[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*]))([^=<>]|=[^<]|<\\\\s*([_$[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*]))([^=<>]|=[^<]|<\\\\s*([_$[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*]))([^=<>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([{\\\\[]\\\\s*)?$)|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*([_$[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*]))([^=<>]|=[^<]|<\\\\s*([_$[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*]))([^=<>]|=[^<]|<\\\\s*([_$[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*]))([^=<>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\s*:)))|((<\\\\s*([_$[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*]))([^=<>]|=[^<]|<\\\\s*([_$[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*]))([^=<>]|=[^<]|<\\\\s*([_$[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*]))([^=<>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([_$[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[_$[:alpha:]]))([^()'\\\"`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^`\\\\\\\\]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ballerina\"},\"2\":{\"name\":\"punctuation.accessor.optional.ballerina\"},\"3\":{\"name\":\"entity.name.function.ballerina\"}},\"match\":\"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(#?[_$[:alpha:]][_$[:alnum:]]*)\\\\s*(?=\\\\()\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ballerina\"},\"2\":{\"name\":\"punctuation.accessor.optional.ballerina\"},\"3\":{\"name\":\"variable.other.property.ballerina\"}},\"match\":\"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(#?[_$[:alpha:]][_$[:alnum:]]*)\"},{\"include\":\"#type-primitive\"},{\"include\":\"#self-literal\"},{\"match\":\"\\\\b(check|foreach|if|checkpanic)\\\\b\",\"name\":\"keyword.control.ballerina\"},{\"include\":\"#call\"},{\"match\":\"\\\\b(var)\\\\b\",\"name\":\"support.type.primitive.ballerina\"},{\"captures\":{\"1\":{\"name\":\"variable.other.readwrite.ballerina\"},\"3\":{\"name\":\"punctuation.accessor.ballerina\"},\"4\":{\"name\":\"entity.name.function.ballerina\"},\"5\":{\"name\":\"punctuation.definition.parameters.begin.ballerina\"},\"6\":{\"name\":\"punctuation.definition.parameters.end.ballerina\"}},\"match\":\"([_$[:alpha:]][_$[:alnum:]]*)((\\\\.)([_$[:alpha:]][_$[:alnum:]]*)(\\\\()(\\\\)))?\"},{\"match\":\"(')([_$[:alpha:]][_$[:alnum:]]*)\",\"name\":\"variable.other.property.ballerina\"},{\"include\":\"#type-annotation\"}]},\"if-statement\":{\"patterns\":[{\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?=\\\\bif\\\\b\\\\s*(?!\\\\{))\",\"end\":\"(?<=})\",\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(if)\\\\s*(\\\\()?\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.conditional.ballerina\"},\"2\":{\"name\":\"meta.brace.round.ballerina\"}},\"end\":\"(\\\\))|(?=\\\\{)\",\"endCaptures\":{\"1\":{\"name\":\"meta.brace.round.ballerina\"}},\"patterns\":[{\"include\":\"#decl-block\"},{\"include\":\"#keywords\"},{\"include\":\"#identifiers\"},{\"include\":\"#type-primitive\"},{\"include\":\"#xml\"},{\"include\":\"#string\"},{\"include\":\"#stringTemplate\"},{\"include\":\"#comment\"},{\"include\":\"#ternary-expression\"},{\"include\":\"#expression-operators\"},{\"include\":\"#literal\"},{\"include\":\"#paranthesised\"},{\"include\":\"#regex\"}]},{\"begin\":\"(?<=\\\\))(?=[\\\\s=])\",\"end\":\"(?=\\\\{)\",\"patterns\":[{\"include\":\"#literal\"},{\"include\":\"#keywords\"}]},{\"include\":\"#decl-block\"}]}]},\"import-clause\":{\"patterns\":[{\"include\":\"#comment\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.default.ballerina\"},\"3\":{\"name\":\"variable.other.readwrite.ballerina meta.import.module.ballerina\"},\"5\":{\"name\":\"keyword.control.default.ballerina\"},\"6\":{\"name\":\"variable.other.readwrite.alias.ballerina\"}},\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(\\\\bdefault)|(\\\\*)|(\\\\b[_$[:alpha:]][_$[:alnum:]]*))\"},{\"match\":\"([_$[:alpha:]][_$[:alnum:]]*)\",\"name\":\"variable.other.readwrite.alias.ballerina\"}]},\"import-declaration\":{\"begin\":\"\\\\bimport\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.import.ballerina\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.terminator.statement.ballerina\"}},\"name\":\"meta.import.ballerina\",\"patterns\":[{\"match\":\"(')([_$[:alpha:]][_$[:alnum:]]*)\",\"name\":\"variable.other.property.ballerina\"},{\"include\":\"#keywords\"},{\"include\":\"#comment\"},{\"include\":\"#import-clause\"},{\"include\":\"#punctuation-accessor\"}]},\"keywords\":{\"patterns\":[{\"match\":\"\\\\b(fork|join|while|returns|transaction|transactional|retry|commit|rollback|typeof|enum|wait|match)\\\\b\",\"name\":\"keyword.control.ballerina\"},{\"match\":\"\\\\b(return|break|continue|check|checkpanic|panic|trap|from|where)\\\\b\",\"name\":\"keyword.control.flow.ballerina\"},{\"match\":\"\\\\b(public|private|external|return|record|object|remote|abstract|client|true|false|fail|import|version)\\\\b\",\"name\":\"keyword.other.ballerina\"},{\"match\":\"\\\\b(as|on|function|resource|listener|const|final|is|null|lock|annotation|source|worker|parameter|field|isolated|in)\\\\b\",\"name\":\"keyword.other.ballerina\"},{\"match\":\"\\\\b(xmlns|table|key|let|new|select|start|flush|default|do|base16|base64|conflict)\\\\b\",\"name\":\"keyword.other.ballerina\"},{\"match\":\"\\\\b(limit|outer|equals|order|by|ascending|descending|class|configurable|variable|module|service|group|collect)\\\\b\",\"name\":\"keyword.other.ballerina\"},{\"match\":\"(=>)\",\"name\":\"meta.arrow.ballerina storage.type.function.arrow.ballerina\"},{\"match\":\"([!%+\\\\-]|~=|===|==|=|!=|!==|[<>\\\\&|]|\\\\?:|\\\\.\\\\.\\\\.|<=|>=|&&|\\\\|\\\\||~|>>|>>>)\",\"name\":\"keyword.operator.ballerina\"},{\"include\":\"#types\"},{\"include\":\"#self-literal\"},{\"include\":\"#type-primitive\"}]},\"literal\":{\"patterns\":[{\"include\":\"#booleans\"},{\"include\":\"#numbers\"},{\"include\":\"#strings\"},{\"include\":\"#maps\"},{\"include\":\"#self-literal\"},{\"include\":\"#array-literal\"}]},\"maps\":{\"patterns\":[{\"begin\":\"\\\\{\",\"end\":\"}\",\"patterns\":[{\"include\":\"#code\"}]}]},\"matchBindingPattern\":{\"patterns\":[{\"begin\":\"var\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.ballerina\"}},\"end\":\"(?==>)|,\",\"patterns\":[{\"include\":\"#errorDestructure\"},{\"include\":\"#code\"},{\"match\":\"[_$[:alpha:]][_$[:alnum:]]*\",\"name\":\"variable.parameter.ballerina\"}]}]},\"matchStatement\":{\"patterns\":[{\"begin\":\"\\\\bmatch\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.ballerina\"}},\"end\":\"}\",\"patterns\":[{\"include\":\"#matchStatementBody\"},{\"include\":\"#comment\"},{\"include\":\"#code\"}]}]},\"matchStatementBody\":{\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina.documentation\"}},\"end\":\"(?=})\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina.documentation\"}},\"patterns\":[{\"include\":\"#literal\"},{\"include\":\"#matchBindingPattern\"},{\"include\":\"#matchStatementPatternClause\"},{\"include\":\"#comment\"},{\"include\":\"#code\"}]}]},\"matchStatementPatternClause\":{\"patterns\":[{\"begin\":\"=>\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ballerina\"}},\"end\":\"((})|[;,])\",\"patterns\":[{\"include\":\"#callableUnitBody\"},{\"include\":\"#code\"}]}]},\"mdDocumentation\":{\"begin\":\"#\",\"end\":\"[\\\\r\\\\n]+\",\"name\":\"comment.mddocs.ballerina\",\"patterns\":[{\"include\":\"#mdDocumentationReturnParamDescription\"},{\"include\":\"#mdDocumentationParamDescription\"}]},\"mdDocumentationParamDescription\":{\"patterns\":[{\"begin\":\"(\\\\+\\\\s+)('?[_$[:alpha:]][_$[:alnum:]]*)(\\\\s*-\\\\s+)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.ballerina\"},\"2\":{\"name\":\"variable.other.readwrite.ballerina\"},\"3\":{\"name\":\"keyword.operator.ballerina\"}},\"end\":\"(?=[^#\\\\r\\\\n]|# *?\\\\+)\",\"patterns\":[{\"match\":\"#.*\",\"name\":\"comment.mddocs.paramdesc.ballerina\"}]}]},\"mdDocumentationReturnParamDescription\":{\"patterns\":[{\"begin\":\"(#) *?(\\\\+) *(return) *(-)?(.*)\",\"beginCaptures\":{\"1\":{\"name\":\"comment.mddocs.ballerina\"},\"2\":{\"name\":\"keyword.ballerina\"},\"3\":{\"name\":\"keyword.ballerina\"},\"4\":{\"name\":\"keyword.ballerina\"},\"5\":{\"name\":\"comment.mddocs.returnparamdesc.ballerina\"}},\"end\":\"(?=[^#\\\\r\\\\n]|# *?\\\\+)\",\"patterns\":[{\"match\":\"#.*\",\"name\":\"comment.mddocs.returnparamdesc.ballerina\"}]}]},\"multiType\":{\"patterns\":[{\"match\":\"(?<=\\\\|)([_$[:alpha:]][_$[:alnum:]]*)|([_$[:alpha:]][_$[:alnum:]]*)(?=\\\\|)\",\"name\":\"storage.type.ballerina\"},{\"match\":\"\\\\|\",\"name\":\"keyword.operator.ballerina\"}]},\"numbers\":{\"patterns\":[{\"match\":\"\\\\b(?:0[xX][\\\\da-fA-F]+\\\\b|\\\\d+(?:\\\\.(?:\\\\d+|$))?)\",\"name\":\"constant.numeric.decimal.ballerina\"}]},\"object-literal\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"name\":\"meta.objectliteral.ballerina\",\"patterns\":[{\"include\":\"#object-member\"},{\"include\":\"#punctuation-comma\"}]},\"object-member\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#function-defn\"},{\"include\":\"#literal\"},{\"include\":\"#keywords\"},{\"include\":\"#expression\"},{\"begin\":\"(?=\\\\[)\",\"end\":\"(?=:)|((?<=])(?=\\\\s*[(<]))\",\"name\":\"meta.object.member.ballerina meta.object-literal.key.ballerina\",\"patterns\":[{\"include\":\"#comment\"}]},{\"begin\":\"(?=['\\\"`])\",\"end\":\"(?=:)|((?<=['\\\"`])(?=((\\\\s*[(<,}])|(\\\\n*})|(\\\\s+(as)\\\\s+))))\",\"name\":\"meta.object.member.ballerina meta.object-literal.key.ballerina\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"}]},{\"begin\":\"(?=(\\\\b(?<!\\\\$)0[xX]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0[bB][01][01_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0[oO]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[eE][+\\\\-]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[eE][+\\\\-]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[eE][+\\\\-]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[eE][+\\\\-]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$)))\",\"end\":\"(?=:)|(?=\\\\s*([(<,}])|(\\\\s+as\\\\s+))\",\"name\":\"meta.object.member.ballerina meta.object-literal.key.ballerina\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#numbers\"}]},{\"begin\":\"(?<=[\\\\]'\\\"`])(?=\\\\s*[(<])\",\"end\":\"(?=[};,])|(?<=})\",\"name\":\"meta.method.declaration.ballerina\",\"patterns\":[{\"include\":\"#function-body\"}]},{\"captures\":{\"0\":{\"name\":\"meta.object-literal.key.ballerina\"},\"1\":{\"name\":\"constant.numeric.decimal.ballerina\"}},\"match\":\"(?![_$[:alpha:]])(\\\\d+)\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*:)\",\"name\":\"meta.object.member.ballerina\"},{\"captures\":{\"0\":{\"name\":\"meta.object-literal.key.ballerina\"},\"1\":{\"name\":\"entity.name.function.ballerina\"}},\"match\":\"([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*:(\\\\s*/\\\\*([^*]|(\\\\*[^/]))*\\\\*/)*\\\\s*((((function\\\\s*[(<*])|(function\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\s*=>)))|((((<\\\\s*$)|((<\\\\s*([_$[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*]))([^=<>]|=[^<]|<\\\\s*([_$[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*]))([^=<>]|=[^<]|<\\\\s*([_$[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*]))([^=<>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([{\\\\[]\\\\s*)?$)|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*([_$[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*]))([^=<>]|=[^<]|<\\\\s*([_$[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*]))([^=<>]|=[^<]|<\\\\s*([_$[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*]))([^=<>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\s*:)))|((<\\\\s*([_$[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*]))([^=<>]|=[^<]|<\\\\s*([_$[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*]))([^=<>]|=[^<]|<\\\\s*([_$[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*]))([^=<>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([_$[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[_$[:alpha:]]))([^()'\\\"`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^`\\\\\\\\]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))\",\"name\":\"meta.object.member.ballerina\"},{\"captures\":{\"0\":{\"name\":\"meta.object-literal.key.ballerina\"}},\"match\":\"[_$[:alpha:]][_$[:alnum:]]*\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*:)\",\"name\":\"meta.object.member.ballerina\"},{\"begin\":\"\\\\.\\\\.\\\\.\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.spread.ballerina\"}},\"end\":\"(?=[,}])\",\"name\":\"meta.object.member.ballerina\",\"patterns\":[{\"include\":\"#expression\"}]},{\"captures\":{\"1\":{\"name\":\"variable.other.readwrite.ballerina\"}},\"match\":\"([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(?=[,}]|$|//|/\\\\*)\",\"name\":\"meta.object.member.ballerina\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.as.ballerina\"},\"2\":{\"name\":\"storage.modifier.ballerina\"}},\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+(const)(?=\\\\s*([,}]|$))\",\"name\":\"meta.object.member.ballerina\"},{\"begin\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.as.ballerina\"}},\"end\":\"(?=[;),}\\\\]:?\\\\-+>]|\\\\|\\\\||&&|!==|$|^|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+))\",\"name\":\"meta.object.member.ballerina\"},{\"begin\":\"(?=[_$[:alpha:]][_$[:alnum:]]*\\\\s*=)\",\"end\":\"(?=[,}]|$|//|/\\\\*)\",\"name\":\"meta.object.member.ballerina\",\"patterns\":[{\"include\":\"#expression\"}]}]},\"objectDec\":{\"patterns\":[{\"begin\":\"\\\\bobject\\\\b(?!:)\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.other.ballerina\"}},\"end\":\"(?<=})\",\"patterns\":[{\"include\":\"#decl-block\"}]}]},\"objectInitBody\":{\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"end\":\"(?=})\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#code\"}]}]},\"objectInitParameters\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.begin.ballerina\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.ballerina\"}},\"patterns\":[{\"include\":\"#code\"},{\"match\":\"\\\\b([_$[:alpha:]][_$[:alnum:]]*)\\\\b\",\"name\":\"variable.parameter.ballerina\"}]}]},\"objectMemberFunctionDec\":{\"patterns\":[{\"begin\":\"\\\\bfunction\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ballerina\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"patterns\":[{\"include\":\"#functionParameters\"},{\"match\":\"\\\\breturns\\\\b\",\"name\":\"keyword.ballerina\"},{\"include\":\"#code\"}]}]},\"parameter\":{\"patterns\":[{\"begin\":\"((?=record|object|function)|([_$[:alpha:]][_$[:alnum:]]*)(?=\\\\|)|[_$[:alpha:]][_$[:alnum:]]*)\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.ballerina\"}},\"end\":\"[,|:]|(?==>)|(?=\\\\))|(?=])\",\"patterns\":[{\"include\":\"#parameterWithDescriptor\"},{\"include\":\"#record\"},{\"include\":\"#objectDec\"},{\"include\":\"#functionType\"},{\"include\":\"#constrainType\"},{\"include\":\"#defaultValue\"},{\"include\":\"#comment\"},{\"include\":\"#parameterTuple\"},{\"match\":\"[_$[:alpha:]][_$[:alnum:]]*\",\"name\":\"default.variable.parameter.ballerina\"}]}]},\"parameter-name\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"support.type.primitive.ballerina\"}},\"match\":\"\\\\s*\\\\b(var)\\\\s+\"},{\"captures\":{\"2\":{\"name\":\"keyword.operator.rest.ballerina\"},\"3\":{\"name\":\"support.type.primitive.ballerina\"},\"4\":{\"name\":\"keyword.other.ballerina\"},\"5\":{\"name\":\"constant.language.boolean.ballerina\"},\"6\":{\"name\":\"keyword.control.flow.ballerina\"},\"7\":{\"name\":\"storage.type.ballerina\"},\"8\":{\"name\":\"variable.parameter.ballerina\"},\"9\":{\"name\":\"variable.parameter.ballerina\"},\"10\":{\"name\":\"keyword.operator.optional.ballerina\"}},\"match\":\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<![=:])(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|(string|int|boolean|float|byte|decimal|json|xml|anydata)|\\\\b(is|new|isolated|null|function|in)\\\\b|\\\\b(true|false)\\\\b|\\\\b(check|foreach|if|checkpanic)\\\\b|\\\\b(readonly|error|map)\\\\b|([_$[:alpha:]][_$[:alnum:]]*))(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*(\\\\??)\"}]},\"parameterTuple\":{\"patterns\":[{\"begin\":\"\\\\[\",\"end\":\"(?=,)|(?=\\\\|)|(?=:)|(?==>)|(?=\\\\))\",\"patterns\":[{\"include\":\"#record\"},{\"include\":\"#objectDec\"},{\"include\":\"#parameterTupleType\"},{\"include\":\"#parameterTupleEnd\"},{\"include\":\"#comment\"}]}]},\"parameterTupleEnd\":{\"patterns\":[{\"begin\":\"]\",\"end\":\"(?=,)|(?=\\\\|)|(?=:)|(?==>)|(?=\\\\))\",\"patterns\":[{\"include\":\"#defaultWithParentheses\"},{\"match\":\"[_$[:alpha:]][_$[:alnum:]]*\",\"name\":\"default.variable.parameter.ballerina\"}]}]},\"parameterTupleType\":{\"patterns\":[{\"begin\":\"[_$[:alpha:]][_$[:alnum:]]*\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.ballerina\"}},\"end\":\"[,|]|(?=])\"}]},\"parameterWithDescriptor\":{\"patterns\":[{\"begin\":\"&\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.ballerina\"}},\"end\":\"(?=,)|(?=\\\\|)|(?=\\\\))\",\"patterns\":[{\"include\":\"#parameter\"}]}]},\"parameters\":{\"patterns\":[{\"match\":\"\\\\s*(return|break|continue|check|checkpanic|panic|trap|from|where)\\\\b\",\"name\":\"keyword.control.flow.ballerina\"},{\"match\":\"\\\\s*(let|select)\\\\b\",\"name\":\"keyword.other.ballerina\"},{\"match\":\",\",\"name\":\"punctuation.separator.parameter.ballerina\"}]},\"paranthesised\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.round.ballerina\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ballerina\"}},\"name\":\"meta.brace.round.block.ballerina\",\"patterns\":[{\"include\":\"#self-literal\"},{\"include\":\"#function-defn\"},{\"include\":\"#decl-block\"},{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#parameters\"},{\"include\":\"#annotationAttachment\"},{\"include\":\"#recordLiteral\"},{\"include\":\"#stringTemplate\"},{\"include\":\"#parameter-name\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#expression\"},{\"include\":\"#regex\"}]},\"paranthesisedBracket\":{\"patterns\":[{\"begin\":\"\\\\[\",\"end\":\"]\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#code\"}]}]},\"punctuation-accessor\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ballerina\"},\"2\":{\"name\":\"punctuation.accessor.optional.ballerina\"}},\"match\":\"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\"}]},\"punctuation-comma\":{\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.comma.ballerina\"}]},\"punctuation-semicolon\":{\"patterns\":[{\"match\":\";\",\"name\":\"punctuation.terminator.statement.ballerina\"}]},\"record\":{\"begin\":\"\\\\brecord\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.other.ballerina\"}},\"end\":\"(?<=})\",\"name\":\"meta.record.ballerina\",\"patterns\":[{\"include\":\"#recordBody\"}]},\"recordBody\":{\"patterns\":[{\"include\":\"#decl-block\"}]},\"recordLiteral\":{\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ballerina\"}},\"patterns\":[{\"include\":\"#code\"}]}]},\"regex\":{\"patterns\":[{\"begin\":\"(\\\\bre)(\\\\s*)(`)\",\"beginCaptures\":{\"1\":{\"name\":\"support.type.primitive.ballerina\"},\"3\":{\"name\":\"punctuation.definition.regexp.template.begin.ballerina\"}},\"end\":\"`\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.regexp.template.end.ballerina\"}},\"name\":\"regexp.template.ballerina\",\"patterns\":[{\"include\":\"#template-substitution-element\"},{\"include\":\"#regexp\"}]}]},\"regex-character-class\":{\"patterns\":[{\"match\":\"\\\\\\\\[wWsSdDtrn]|\\\\.\",\"name\":\"keyword.other.character-class.regexp.ballerina\"},{\"match\":\"\\\\\\\\[^pPu]\",\"name\":\"constant.character.escape.backslash.regexp\"}]},\"regex-unicode-properties-general-category\":{\"patterns\":[{\"match\":\"(Lu|Ll|Lt|Lm|Lo|L|Mn|Mc|Me|M|Nd|Nl|No|N|Pc|Pd|Ps|Pe|Pi|Pf|Po|P|Sm|Sc|Sk|So|S|Zs|Zl|Zp|Z|Cf|Cc|Cn|Co|C)\",\"name\":\"constant.other.unicode-property-general-category.regexp.ballerina\"}]},\"regex-unicode-property-key\":{\"patterns\":[{\"begin\":\"(sc=|gc=)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.unicode-property-key.regexp.ballerina\"}},\"end\":\"()\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.other.unicode-property.end.regexp.ballerina\"}},\"name\":\"keyword.other.unicode-property-key.regexp.ballerina\",\"patterns\":[{\"include\":\"#regex-unicode-properties-general-category\"}]}]},\"regexp\":{\"patterns\":[{\"match\":\"[\\\\^$]\",\"name\":\"keyword.control.assertion.regexp.ballerina\"},{\"match\":\"[?+*]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??\",\"name\":\"keyword.operator.quantifier.regexp.ballerina\"},{\"match\":\"\\\\|\",\"name\":\"keyword.operator.or.regexp.ballerina\"},{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.group.regexp.ballerina\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.group.regexp.ballerina\"}},\"name\":\"meta.group.assertion.regexp.ballerina\",\"patterns\":[{\"include\":\"#template-substitution-element\"},{\"include\":\"#regexp\"},{\"include\":\"#flags-on-off\"},{\"include\":\"#unicode-property-escape\"}]},{\"begin\":\"(\\\\[)(\\\\^)?\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.character-class.start.regexp.ballerina\"},\"2\":{\"name\":\"keyword.operator.negation.regexp.ballerina\"}},\"end\":\"(])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.character-class.end.regexp.ballerina\"}},\"name\":\"constant.other.character-class.set.regexp.ballerina\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.character.numeric.regexp\"},\"2\":{\"name\":\"constant.character.escape.backslash.regexp\"},\"3\":{\"name\":\"constant.character.numeric.regexp\"},\"4\":{\"name\":\"constant.character.escape.backslash.regexp\"}},\"match\":\"(?:.|(\\\\\\\\(?:[0-7]{3}|x\\\\h{2}|u\\\\h{4}))|(\\\\\\\\[^pPu]))-(?:[^\\\\]\\\\\\\\]|(\\\\\\\\(?:[0-7]{3}|x\\\\h{2}|u\\\\h{4}))|(\\\\\\\\[^pPu]))\",\"name\":\"constant.other.character-class.range.regexp.ballerina\"},{\"include\":\"#regex-character-class\"},{\"include\":\"#unicode-values\"},{\"include\":\"#unicode-property-escape\"}]},{\"include\":\"#template-substitution-element\"},{\"include\":\"#regex-character-class\"},{\"include\":\"#unicode-values\"},{\"include\":\"#unicode-property-escape\"}]},\"self-literal\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.language.this.ballerina\"},\"2\":{\"name\":\"punctuation.accessor.ballerina\"},\"3\":{\"name\":\"entity.name.function.ballerina\"}},\"match\":\"(\\\\bself\\\\b)\\\\s*(.)\\\\s*([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(?=\\\\()\"},{\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))self\\\\b(?!\\\\$)\",\"name\":\"variable.language.this.ballerina\"}]},\"service-decl\":{\"begin\":\"\\\\bservice\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ballerina\"}},\"end\":\"(?=;|^\\\\s*$|^\\\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\\\b)|(?<=})|(?<=,)\",\"name\":\"meta.service.declaration.ballerina\",\"patterns\":[{\"include\":\"#class-defn\"},{\"include\":\"#serviceName\"},{\"include\":\"#serviceOn\"},{\"include\":\"#serviceBody\"},{\"include\":\"#objectDec\"}]},\"serviceBody\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#mdDocumentation\"},{\"include\":\"#documentationDef\"},{\"include\":\"#decl-block\"}]},\"serviceName\":{\"patterns\":[{\"include\":\"#string\"},{\"match\":\"(/([_$[:alpha:]][_$[:alnum:]]*)|\\\"[_$[:alpha:]][_$[:alnum:]]*\\\")\",\"name\":\"entity.service.path.ballerina\"}]},\"serviceOn\":{\"patterns\":[{\"begin\":\"on\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.other.ballerina\"}},\"end\":\"(?=\\\\{)\",\"patterns\":[{\"include\":\"#code\"}]}]},\"source\":{\"patterns\":[{\"begin\":\"(\\\\bsource\\\\b)\\\\s+([_$[:alpha:]][_$[:alnum:]]*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.ballerina\"},\"2\":{\"name\":\"variable.other.readwrite.ballerina\"}},\"end\":\"(?=,)|(?=;)\"}]},\"statements\":{\"patterns\":[{\"include\":\"#stringTemplate\"},{\"include\":\"#declaration\"},{\"include\":\"#control-statement\"},{\"include\":\"#decl-block\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-semicolon\"},{\"include\":\"#string\"},{\"include\":\"#comment\"},{\"include\":\"#mdDocumentation\"},{\"include\":\"#keywords\"},{\"include\":\"#annotationAttachment\"},{\"include\":\"#regex\"}]},\"string\":{\"patterns\":[{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ballerina\"}},\"end\":\"(\\\")|([^\\\\\\\\\\\\n]$)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.ballerina\"},\"2\":{\"name\":\"invalid.illegal.newline.ballerina\"}},\"name\":\"string.quoted.double.ballerina\",\"patterns\":[{\"include\":\"#string-character-escape\"}]}]},\"string-character-escape\":{\"patterns\":[{\"match\":\"\\\\\\\\(x\\\\h{2}|u\\\\h{4}|u\\\\{\\\\h+}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\",\"name\":\"constant.character.escape.ballerina\"}]},\"stringTemplate\":{\"patterns\":[{\"begin\":\"((string)|([_$[:alpha:]][_$[:alnum:]]*))?(`)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.tagged-template.ballerina\"},\"2\":{\"name\":\"support.type.primitive.ballerina\"},\"4\":{\"name\":\"punctuation.definition.string.template.begin.ballerina\"}},\"end\":\"\\\\\\\\?`\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.template.end.ballerina\"}},\"name\":\"string.template.ballerina\",\"patterns\":[{\"include\":\"#template-substitution-element\"},{\"include\":\"#string-character-escape\"}]}]},\"strings\":{\"patterns\":[{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"string.begin.ballerina\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"string.end.ballerina\"}},\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.ballerina\"},{\"match\":\".\",\"name\":\"string\"}]}]},\"template-substitution-element\":{\"patterns\":[{\"begin\":\"\\\\$\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.begin.ballerina\"}},\"contentName\":\"meta.embedded.line.ballerina\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.end.ballerina\"}},\"name\":\"meta.template.expression.ballerina\",\"patterns\":[{\"include\":\"#expression\"}]}]},\"templateVariable\":{\"patterns\":[{\"begin\":\"\\\\$\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"constant.character.escape.ballerina\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"constant.character.escape.ballerina\"}},\"patterns\":[{\"include\":\"#code\"}]}]},\"ternary-expression\":{\"begin\":\"(?!\\\\?\\\\.\\\\s*\\\\D)(\\\\?)(?!\\\\?)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.ternary.ballerina\"}},\"end\":\"\\\\s*\",\"endCaptures\":{\"1\":{\"name\":\"keyword.operator.ternary.ballerina\"}},\"patterns\":[{\"include\":\"#expression\"}]},\"tupleType\":{\"patterns\":[{\"begin\":\"\\\\[\",\"end\":\"(?=[\\\\];])\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#constrainType\"},{\"include\":\"#paranthesisedBracket\"},{\"match\":\"\\\\b([_$[:alpha:]][_$[:alnum:]]*)\\\\b\",\"name\":\"storage.type.ballerina\"}]}]},\"type\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#numbers\"},{\"include\":\"#type-primitive\"},{\"include\":\"#type-tuple\"}]},\"type-annotation\":{\"patterns\":[{\"begin\":\"(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.annotation.ballerina\"}},\"end\":\"(?<![:|\\\\&])((?=$|^|[,);}\\\\]?>=]|//)|(?==[^>])|((?<=[}>\\\\])_$[:alpha:]])\\\\s*(?=\\\\{)))(\\\\?)?\",\"name\":\"meta.type.annotation.ballerina\",\"patterns\":[{\"include\":\"#booleans\"},{\"include\":\"#stringTemplate\"},{\"include\":\"#regex\"},{\"include\":\"#self-literal\"},{\"include\":\"#xml\"},{\"include\":\"#call\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.ballerina\"},\"2\":{\"name\":\"constant.language.boolean.ballerina\"},\"3\":{\"name\":\"keyword.control.ballerina\"},\"4\":{\"name\":\"storage.type.ballerina\"},\"5\":{\"name\":\"support.type.primitive.ballerina\"},\"6\":{\"name\":\"variable.other.readwrite.ballerina\"},\"8\":{\"name\":\"punctuation.accessor.ballerina\"},\"9\":{\"name\":\"entity.name.function.ballerina\"},\"10\":{\"name\":\"punctuation.definition.parameters.begin.ballerina\"},\"11\":{\"name\":\"punctuation.definition.parameters.end.ballerina\"}},\"match\":\"\\\\b(is|new|isolated|null|function|in)\\\\b|\\\\b(true|false)\\\\b|\\\\b(check|foreach|if|checkpanic)\\\\b|\\\\b(readonly|error|map)\\\\b|\\\\b(var)\\\\b|([_$[:alpha:]][_$[:alnum:]]*)((\\\\.)([_$[:alpha:]][_$[:alnum:]]*)(\\\\()(\\\\)))?\"},{\"match\":\"\\\\?\",\"name\":\"keyword.operator.optional.ballerina\"},{\"include\":\"#multiType\"},{\"include\":\"#type\"},{\"include\":\"#paranthesised\"}]}]},\"type-primitive\":{\"patterns\":[{\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(string|int|boolean|float|byte|decimal|json|xml|anydata)(?![_$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"support.type.primitive.ballerina\"}]},\"type-tuple\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.square.ballerina\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.square.ballerina\"}},\"name\":\"meta.type.tuple.ballerina\",\"patterns\":[{\"include\":\"#self-literal\"},{\"include\":\"#booleans\"},{\"match\":\"\\\\.\\\\.\\\\.\",\"name\":\"keyword.operator.rest.ballerina\"},{\"captures\":{\"1\":{\"name\":\"entity.name.label.ballerina\"},\"2\":{\"name\":\"keyword.operator.optional.ballerina\"},\"3\":{\"name\":\"punctuation.separator.label.ballerina\"}},\"match\":\"(?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))([_$[:alpha:]][_$[:alnum:]]*)\\\\s*(\\\\?)?\\\\s*(:)\"},{\"include\":\"#identifiers\"},{\"include\":\"#type\"},{\"include\":\"#punctuation-comma\"}]},\"typeDefinition\":{\"patterns\":[{\"begin\":\"(\\\\btype\\\\b)\\\\s+([_$[:alpha:]][_$[:alnum:]]*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.ballerina\"},\"2\":{\"name\":\"entity.name.type.ballerina\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.terminator.statement.ballerina\"}},\"patterns\":[{\"include\":\"#functionParameters\"},{\"include\":\"#functionReturns\"},{\"include\":\"#mdDocumentation\"},{\"include\":\"#record\"},{\"include\":\"#string\"},{\"include\":\"#keywords\"},{\"include\":\"#multiType\"},{\"include\":\"#type-primitive\"},{\"match\":\"[_$[:alpha:]][_$[:alnum:]]*\",\"name\":\"variable.other.readwrite.ballerina\"},{\"include\":\"#type-annotation\"},{\"include\":\"#typeDescription\"},{\"include\":\"#decl-block\"}]}]},\"typeDescription\":{\"patterns\":[{\"begin\":\"[_$[:alpha:]][_$[:alnum:]]*\",\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#numbers\"},{\"include\":\"#decl-block\"},{\"include\":\"#type-primitive\"},{\"match\":\"[_$[:alpha:]][_$[:alnum:]]*\",\"name\":\"storage.type.ballerina\"}]}]},\"types\":{\"patterns\":[{\"match\":\"\\\\b(handle|any|future|typedesc)\\\\b\",\"name\":\"storage.type.ballerina\"},{\"match\":\"\\\\b(boolean|int|string|float|decimal|byte|json|xml|anydata)\\\\b\",\"name\":\"support.type.primitive.ballerina\"},{\"match\":\"\\\\b(map|error|never|readonly|distinct)\\\\b\",\"name\":\"storage.type.ballerina\"},{\"match\":\"\\\\b(stream)\\\\b\",\"name\":\"storage.type.ballerina\"}]},\"unicode-property-escape\":{\"patterns\":[{\"begin\":\"(\\\\\\\\[pP])(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.unicode-property.regexp.ballerina\"},\"2\":{\"name\":\"punctuation.other.unicode-property.begin.regexp.ballerina\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.other.unicode-property.end.regexp.ballerina\"}},\"name\":\"keyword.other.unicode-property.regexp.ballerina\",\"patterns\":[{\"include\":\"#regex-unicode-properties-general-category\"},{\"include\":\"#regex-unicode-property-key\"}]}]},\"unicode-values\":{\"patterns\":[{\"begin\":\"(\\\\\\\\u)(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.unicode-value.regexp.ballerina\"},\"2\":{\"name\":\"punctuation.other.unicode-value.begin.regexp.ballerina\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.other.unicode-value.end.regexp.ballerina\"}},\"name\":\"keyword.other.unicode-value.ballerina\",\"patterns\":[{\"match\":\"(\\\\h{1,6})\",\"name\":\"constant.other.unicode-value.regexp.ballerina\"}]}]},\"var-expr\":{\"patterns\":[{\"begin\":\"(?=\\\\b(var))\",\"beginCaptures\":{\"0\":{\"name\":\"storage.modifier.ballerina support.type.primitive.ballerina\"}},\"end\":\"(?!\\\\b(var))((?=[;}]|^\\\\s*$|^\\\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\\\b)|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?=(if)\\\\s+))|((?<!^string|[^._$[:alnum:]]string|^int|[^._$[:alnum:]]int)(?=\\\\s*$)))\",\"name\":\"meta.var.expr.ballerina\",\"patterns\":[{\"begin\":\"\\\\b(var)(?=\\\\s+|[\\\\[?|:])\",\"beginCaptures\":{\"0\":{\"name\":\"support.type.primitive.ballerina\"}},\"end\":\"(?=\\\\S)\"},{\"match\":\"\\\\|\",\"name\":\"keyword.operator.type.annotation.ballerina\"},{\"match\":\"\\\\bin\\\\b\",\"name\":\"keyword.other.ballerina\"},{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#stringTemplate\"},{\"include\":\"#numbers\"},{\"include\":\"#multiType\"},{\"include\":\"#self-literal\"},{\"include\":\"#var-single-variable\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#type-annotation\"},{\"include\":\"#keywords\"},{\"include\":\"#type-tuple\"},{\"include\":\"#regex\"}]},{\"include\":\"#punctuation-comma\"},{\"begin\":\"(?=\\\\b(const(?!\\\\s+enum\\\\b)))\",\"end\":\"(?!\\\\b(const(?!\\\\s+enum\\\\b)))((?=\\\\bannotation\\\\b|[;}]|^\\\\s*$|^\\\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\\\b)|((?<!^string|[^._$[:alnum:]]string|^int|[^._$[:alnum:]]int)(?=\\\\s*$)))\",\"name\":\"meta.var.expr.ballerina\",\"patterns\":[{\"begin\":\"\\\\b(const(?!\\\\s+enum\\\\b))\\\\s+\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.other.ballerina\"}},\"end\":\"(?=\\\\S)\"},{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#stringTemplate\"},{\"include\":\"#var-single-const\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#type-annotation\"}]},{\"include\":\"#punctuation-comma\"},{\"begin\":\"(string|int|boolean|float|byte|decimal|json|xml|anydata)(?=\\\\s+|[\\\\[?|:])\",\"beginCaptures\":{\"0\":{\"name\":\"support.type.primitive.ballerina\"}},\"end\":\"(?!\\\\b(var))((?=[;}]|^\\\\s*$|^\\\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\\\b)|((?<!^string|[^._$[:alnum:]]string|^int|[^._$[:alnum:]]int)(?=\\\\s*$)))\",\"name\":\"meta.var.expr.ballerina\",\"patterns\":[{\"include\":\"#xml\"},{\"begin\":\"(string|int|boolean|float|byte|decimal|json|xml|anydata)(?=\\\\s+|[\\\\[?|:])\",\"beginCaptures\":{\"0\":{\"name\":\"support.type.primitive.ballerina\"}},\"end\":\"(?=\\\\S)\"},{\"match\":\"\\\\|\",\"name\":\"keyword.operator.type.annotation.ballerina\"},{\"include\":\"#string\"},{\"include\":\"#stringTemplate\"},{\"include\":\"#numbers\"},{\"include\":\"#multiType\"},{\"include\":\"#var-single-variable\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#type-annotation\"},{\"include\":\"#keywords\"},{\"include\":\"#type-tuple\"},{\"include\":\"#regex\"}]},{\"include\":\"#punctuation-comma\"}]},\"var-single-const\":{\"patterns\":[{\"name\":\"meta.var-single-variable.expr.ballerina\"},{\"begin\":\"\\\\b(var)\\\\s*\",\"beginCaptures\":{\"0\":{\"name\":\"support.type.primitive.ballerina\"}},\"end\":\"(?=\\\\S)\"},{\"include\":\"#types\"},{\"begin\":\"([_$[:alpha:]][_$[:alnum:]]*)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.definition.variable.ballerina variable.other.constant.ballerina\"}},\"end\":\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))\\\\s+))\"}]},\"var-single-variable\":{\"patterns\":[{\"begin\":\"((string|int|boolean|float|byte|decimal|json|xml|anydata)|\\\\b(readonly|error|map)\\\\b|([_$[:alpha:]][_$[:alnum:]]*))(?=\\\\s+|[;>|])\",\"beginCaptures\":{\"2\":{\"name\":\"support.type.primitive.ballerina\"},\"3\":{\"name\":\"storage.type.ballerina\"},\"4\":{\"name\":\"meta.definition.variable.ballerina variable.other.readwrite.ballerina\"}},\"end\":\"(?=$|^|[;,=}])\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.terminator.statement.ballerina\"}},\"name\":\"meta.var-single-variable.expr.ballerina\",\"patterns\":[{\"include\":\"#call\"},{\"include\":\"#self-literal\"},{\"include\":\"#if-statement\"},{\"include\":\"#string\"},{\"include\":\"#numbers\"},{\"include\":\"#keywords\"}]},{\"begin\":\"([_$[:alpha:]][_$[:alnum:]]*)\\\\s+(!)?\",\"beginCaptures\":{\"1\":{\"name\":\"meta.definition.variable.ballerina variable.other.readwrite.ballerina\"},\"2\":{\"name\":\"keyword.operator.definiteassignment.ballerina\"}},\"end\":\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))\\\\s+))\",\"name\":\"meta.var-single-variable.expr.ballerina\"}]},\"variable-initializer\":{\"patterns\":[{\"begin\":\"(?<![=!])(=)(?![=>])(?=\\\\s*\\\\S)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.ballerina\"}},\"end\":\"(?=$|[,);}\\\\]])\",\"patterns\":[{\"match\":\"(')([_$[:alpha:]][_$[:alnum:]]*)\",\"name\":\"variable.other.property.ballerina\"},{\"include\":\"#xml\"},{\"include\":\"#function-defn\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-accessor\"},{\"include\":\"#regex\"}]},{\"begin\":\"(?<![=!])(=)(?![=>])\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.ballerina\"}},\"end\":\"(?=[,);}\\\\]]|((?<![_$[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))\\\\s+))|(?=^\\\\s*$)|(?<=\\\\S)(?<!=)(?=\\\\s*$)\",\"patterns\":[{\"include\":\"#expression\"}]}]},\"variableDef\":{\"patterns\":[{\"begin\":\"(?!\\\\+)[_$[:alpha:]][_$[:alnum:]]*[ \\\\t]|(?=\\\\()\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.ballerina\"}},\"end\":\"[_$[:alpha:]][_$[:alnum:]]*|(?=,)|(?=;)|\\\\.\\\\.\\\\.\",\"patterns\":[{\"include\":\"#tupleType\"},{\"include\":\"#constrainType\"},{\"include\":\"#comment\"}]}]},\"variableDefInline\":{\"patterns\":[{\"begin\":\"(?=record)|(?=object)\",\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#record\"},{\"include\":\"#objectDec\"}]}]},\"workerBody\":{\"patterns\":[{\"begin\":\"\\\\{\",\"end\":\"(?=})\",\"patterns\":[{\"include\":\"#code\"}]}]},\"workerDef\":{\"patterns\":[{\"begin\":\"\\\\bworker\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.ballerina\"}},\"end\":\"}\",\"patterns\":[{\"include\":\"#functionReturns\"},{\"include\":\"#workerBody\"}]}]},\"xml\":{\"patterns\":[{\"begin\":\"(\\\\bxml)(\\\\s*)(`)\",\"beginCaptures\":{\"1\":{\"name\":\"support.type.primitive.ballerina\"},\"3\":{\"name\":\"punctuation.definition.string.template.begin.ballerina\"}},\"end\":\"`\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.template.end.ballerina\"}},\"name\":\"string.template.ballerina\",\"patterns\":[{\"include\":\"#xmlTag\"},{\"include\":\"#xmlComment\"},{\"include\":\"#templateVariable\"},{\"match\":\".\",\"name\":\"string\"}]}]},\"xmlComment\":{\"patterns\":[{\"begin\":\"<!--\",\"beginCaptures\":{\"0\":{\"name\":\"comment.block.xml.ballerina\"}},\"end\":\"-->\",\"endCaptures\":{\"0\":{\"name\":\"comment.block.xml.ballerina\"}},\"name\":\"comment.block.xml.ballerina\"}]},\"xmlDoubleQuotedString\":{\"patterns\":[{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"string.begin.ballerina\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"string.end.ballerina\"}},\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.ballerina\"},{\"match\":\".\",\"name\":\"string\"}]}]},\"xmlSingleQuotedString\":{\"patterns\":[{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"string.begin.ballerina\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"string.end.ballerina\"}},\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.ballerina\"},{\"match\":\".\",\"name\":\"string\"}]}]},\"xmlTag\":{\"patterns\":[{\"begin\":\"(</?\\\\??)\\\\s*([\\\\-_a-zA-Z0-9]+)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.xml.ballerina\"},\"2\":{\"name\":\"entity.name.tag.xml.ballerina\"}},\"end\":\"\\\\??/?>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.xml.ballerina\"}},\"patterns\":[{\"include\":\"#xmlSingleQuotedString\"},{\"include\":\"#xmlDoubleQuotedString\"},{\"match\":\"xmlns\",\"name\":\"keyword.other.ballerina\"},{\"match\":\"([a-zA-Z0-9\\\\-]+)\",\"name\":\"entity.other.attribute-name.xml.ballerina\"}]}]}},\"scopeName\":\"source.ballerina\"}"))
2
2
 
3
3
  export default [
4
4
  lang
package/dist/bat.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Batch File\",\"injections\":{\"L:meta.block.repeat.batchfile\":{\"patterns\":[{\"include\":\"#repeatParameter\"}]}},\"name\":\"bat\",\"patterns\":[{\"include\":\"#commands\"},{\"include\":\"#comments\"},{\"include\":\"#constants\"},{\"include\":\"#controls\"},{\"include\":\"#escaped_characters\"},{\"include\":\"#labels\"},{\"include\":\"#numbers\"},{\"include\":\"#operators\"},{\"include\":\"#parens\"},{\"include\":\"#strings\"},{\"include\":\"#variables\"}],\"repository\":{\"command_set\":{\"patterns\":[{\"begin\":\"(?<=^|[\\\\s@])(?i:SET)(?=$|\\\\s)\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.command.batchfile\"}},\"end\":\"(?=$\\\\n|[&|><)])\",\"patterns\":[{\"include\":\"#command_set_inside\"}]}]},\"command_set_group\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.group.begin.batchfile\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.group.end.batchfile\"}},\"patterns\":[{\"include\":\"#command_set_inside_arithmetic\"}]}]},\"command_set_inside\":{\"patterns\":[{\"include\":\"#escaped_characters\"},{\"include\":\"#variables\"},{\"include\":\"#numbers\"},{\"include\":\"#parens\"},{\"include\":\"#command_set_strings\"},{\"include\":\"#strings\"},{\"begin\":\"([^ ][^=]*)(=)\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.readwrite.batchfile\"},\"2\":{\"name\":\"keyword.operator.assignment.batchfile\"}},\"end\":\"(?=$\\\\n|[&|><)])\",\"patterns\":[{\"include\":\"#escaped_characters\"},{\"include\":\"#variables\"},{\"include\":\"#numbers\"},{\"include\":\"#parens\"},{\"include\":\"#strings\"}]},{\"begin\":\"\\\\s+/[aA]\\\\s+\",\"end\":\"(?=$\\\\n|[&|><)])\",\"name\":\"meta.expression.set.batchfile\",\"patterns\":[{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.batchfile\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.batchfile\"}},\"name\":\"string.quoted.double.batchfile\",\"patterns\":[{\"include\":\"#command_set_inside_arithmetic\"},{\"include\":\"#command_set_group\"},{\"include\":\"#variables\"}]},{\"include\":\"#command_set_inside_arithmetic\"},{\"include\":\"#command_set_group\"}]},{\"begin\":\"\\\\s+/[pP]\\\\s+\",\"end\":\"(?=$\\\\n|[&|><)])\",\"patterns\":[{\"include\":\"#command_set_strings\"},{\"begin\":\"([^ ][^=]*)(=)\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.readwrite.batchfile\"},\"2\":{\"name\":\"keyword.operator.assignment.batchfile\"}},\"end\":\"(?=$\\\\n|[&|><)])\",\"name\":\"meta.prompt.set.batchfile\",\"patterns\":[{\"include\":\"#strings\"}]}]}]},\"command_set_inside_arithmetic\":{\"patterns\":[{\"include\":\"#command_set_operators\"},{\"include\":\"#numbers\"},{\"match\":\",\",\"name\":\"punctuation.separator.batchfile\"}]},\"command_set_operators\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.other.readwrite.batchfile\"},\"2\":{\"name\":\"keyword.operator.assignment.augmented.batchfile\"}},\"match\":\"([^ ]*)(\\\\+\\\\=|\\\\-\\\\=|\\\\*\\\\=|\\\\/\\\\=|%%\\\\=|&\\\\=|\\\\|\\\\=|\\\\^\\\\=|<<\\\\=|>>\\\\=)\"},{\"match\":\"\\\\+|\\\\-|/|\\\\*|%%|\\\\||&|\\\\^|<<|>>|~\",\"name\":\"keyword.operator.arithmetic.batchfile\"},{\"match\":\"!\",\"name\":\"keyword.operator.logical.batchfile\"},{\"captures\":{\"1\":{\"name\":\"variable.other.readwrite.batchfile\"},\"2\":{\"name\":\"keyword.operator.assignment.batchfile\"}},\"match\":\"([^ =]*)(=)\"}]},\"command_set_strings\":{\"patterns\":[{\"begin\":\"(\\\")\\\\s*([^ ][^=]*)(=)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.begin.batchfile\"},\"2\":{\"name\":\"variable.other.readwrite.batchfile\"},\"3\":{\"name\":\"keyword.operator.assignment.batchfile\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.batchfile\"}},\"name\":\"string.quoted.double.batchfile\",\"patterns\":[{\"include\":\"#variables\"},{\"include\":\"#numbers\"},{\"include\":\"#escaped_characters\"}]}]},\"commands\":{\"patterns\":[{\"match\":\"(?<=^|[\\\\s@])(?i:adprep|append|arp|assoc|at|atmadm|attrib|auditpol|autochk|autoconv|autofmt|bcdboot|bcdedit|bdehdcfg|bitsadmin|bootcfg|brea|cacls|cd|certreq|certutil|change|chcp|chdir|chglogon|chgport|chgusr|chkdsk|chkntfs|choice|cipher|clip|cls|clscluadmin|cluster|cmd|cmdkey|cmstp|color|comp|compact|convert|copy|cprofile|cscript|csvde|date|dcdiag|dcgpofix|dcpromo|defra|del|dfscmd|dfsdiag|dfsrmig|diantz|dir|dirquota|diskcomp|diskcopy|diskpart|diskperf|diskraid|diskshadow|dispdiag|doin|dnscmd|doskey|driverquery|dsacls|dsadd|dsamain|dsdbutil|dsget|dsmgmt|dsmod|dsmove|dsquery|dsrm|edit|endlocal|eraseesentutl|eventcreate|eventquery|eventtriggers|evntcmd|expand|extract|fc|filescrn|find|findstr|finger|flattemp|fonde|forfiles|format|freedisk|fsutil|ftp|ftype|fveupdate|getmac|gettype|gpfixup|gpresult|gpupdate|graftabl|hashgen|hep|helpctr|hostname|icacls|iisreset|inuse|ipconfig|ipxroute|irftp|ismserv|jetpack|klist|ksetup|ktmutil|ktpass|label|ldifd|ldp|lodctr|logman|logoff|lpq|lpr|macfile|makecab|manage-bde|mapadmin|md|mkdir|mklink|mmc|mode|more|mount|mountvol|move|mqbup|mqsvc|mqtgsvc|msdt|msg|msiexec|msinfo32|mstsc|nbtstat|net computer|net group|net localgroup|net print|net session|net share|net start|net stop|net use|net user|net view|net|netcfg|netdiag|netdom|netsh|netstat|nfsadmin|nfsshare|nfsstat|nlb|nlbmgr|nltest|nslookup|ntackup|ntcmdprompt|ntdsutil|ntfrsutl|openfiles|pagefileconfig|path|pathping|pause|pbadmin|pentnt|perfmon|ping|pnpunatten|pnputil|popd|powercfg|powershell|powershell_ise|print|prncnfg|prndrvr|prnjobs|prnmngr|prnport|prnqctl|prompt|pubprn|pushd|pushprinterconnections|pwlauncher|qappsrv|qprocess|query|quser|qwinsta|rasdial|rcp|rd|rdpsign|regentc|recover|redircmp|redirusr|reg|regini|regsvr32|relog|ren|rename|rendom|repadmin|repair-bde|replace|reset session|rxec|risetup|rmdir|robocopy|route|rpcinfo|rpcping|rsh|runas|rundll32|rwinsta|sc|schtasks|scp|scwcmd|secedit|serverceipoptin|servrmanagercmd|serverweroptin|setspn|setx|sfc|sftp|shadow|shift|showmount|shutdown|sort|ssh|ssh-add|ssh-agent|ssh-keygen|ssh-keyscan|start|storrept|subst|sxstrace|ysocmgr|systeminfo|takeown|tapicfg|taskkill|tasklist|tcmsetup|telnet|tftp|time|timeout|title|tlntadmn|tpmvscmgr|tpmvscmgr|tacerpt|tracert|tree|tscon|tsdiscon|tsecimp|tskill|tsprof|type|typeperf|tzutil|uddiconfig|umount|unlodctr|ver|verifier|verif|vol|vssadmin|w32tm|waitfor|wbadmin|wdsutil|wecutil|wevtutil|where|whoami|winnt|winnt32|winpop|winrm|winrs|winsat|wlbs|wmic|wscript|wsl|xcopy)(?=$|\\\\s)\",\"name\":\"keyword.command.batchfile\"},{\"begin\":\"(?i)(?<=^|[\\\\s@])(echo)(?:(?=$|\\\\.|:)|\\\\s+(?:(on|off)(?=\\\\s*$))?)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.command.batchfile\"},\"2\":{\"name\":\"keyword.other.special-method.batchfile\"}},\"end\":\"(?=$\\\\n|[&|><)])\",\"patterns\":[{\"include\":\"#escaped_characters\"},{\"include\":\"#variables\"},{\"include\":\"#numbers\"},{\"include\":\"#strings\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.command.batchfile\"},\"2\":{\"name\":\"keyword.other.special-method.batchfile\"}},\"match\":\"(?i)(?<=^|[\\\\s@])(setlocal)(?:\\\\s*$|\\\\s+(EnableExtensions|DisableExtensions|EnableDelayedExpansion|DisableDelayedExpansion)(?=\\\\s*$))\"},{\"include\":\"#command_set\"}]},\"comments\":{\"patterns\":[{\"begin\":\"(?:^|(&))\\\\s*(?=((?::[+=,;: ])))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.conditional.batchfile\"}},\"end\":\"\\\\n\",\"patterns\":[{\"begin\":\"((?::[+=,;: ]))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.batchfile\"}},\"end\":\"(?=\\\\n)\",\"name\":\"comment.line.colon.batchfile\"}]},{\"begin\":\"(?<=^|[\\\\s@])(?i)(REM)(\\\\.)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.command.rem.batchfile\"},\"2\":{\"name\":\"punctuation.separator.batchfile\"}},\"end\":\"(?=$\\\\n|[&|><)])\",\"name\":\"comment.line.rem.batchfile\"},{\"begin\":\"(?<=^|[\\\\s@])(?i:rem)\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.command.rem.batchfile\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.rem.batchfile\",\"patterns\":[{\"match\":\"[><|]\",\"name\":\"invalid.illegal.unexpected-character.batchfile\"}]}]},\"constants\":{\"patterns\":[{\"match\":\"\\\\b(?i:NUL)\\\\b\",\"name\":\"constant.language.batchfile\"}]},\"controls\":{\"patterns\":[{\"match\":\"(?i)(?<=^|\\\\s)(?:call|exit(?=$|\\\\s)|goto(?=$|\\\\s|:))\",\"name\":\"keyword.control.statement.batchfile\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.conditional.batchfile\"},\"2\":{\"name\":\"keyword.operator.logical.batchfile\"},\"3\":{\"name\":\"keyword.other.special-method.batchfile\"}},\"match\":\"(?<=^|\\\\s)(?i)(if)\\\\s+(?:(not)\\\\s+)?(exist|defined|errorlevel|cmdextversion)(?=\\\\s)\"},{\"match\":\"(?<=^|\\\\s)(?i)(?:if|else)(?=$|\\\\s)\",\"name\":\"keyword.control.conditional.batchfile\"},{\"begin\":\"(?<=^|[\\\\s(&^])(?i)for(?=\\\\s)\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.repeat.batchfile\"}},\"end\":\"\\\\n\",\"name\":\"meta.block.repeat.batchfile\",\"patterns\":[{\"begin\":\"(?<=[\\\\s^])(?i)in(?=\\\\s)\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.repeat.in.batchfile\"}},\"end\":\"(?<=[\\\\s)^])(?i)do(?=\\\\s)|\\\\n\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.repeat.do.batchfile\"}},\"patterns\":[{\"include\":\"$self\"}]},{\"include\":\"$self\"}]}]},\"escaped_characters\":{\"patterns\":[{\"match\":\"%%|\\\\^\\\\^!|\\\\^(?=.)|\\\\^\\\\n\",\"name\":\"constant.character.escape.batchfile\"}]},\"labels\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.batchfile\"},\"2\":{\"name\":\"keyword.other.special-method.batchfile\"}},\"match\":\"(?i)(?:^\\\\s*|(?<=call|goto)\\\\s*)(:)([^+=,;:\\\\s]\\\\S*)\"}]},\"numbers\":{\"patterns\":[{\"match\":\"(?<=^|\\\\s|=)(0[xX][0-9A-Fa-f]*|[+-]?\\\\d+)(?=$|\\\\s|<|>)\",\"name\":\"constant.numeric.batchfile\"}]},\"operators\":{\"patterns\":[{\"match\":\"@(?=\\\\S)\",\"name\":\"keyword.operator.at.batchfile\"},{\"match\":\"(?<=\\\\s)(?i:EQU|NEQ|LSS|LEQ|GTR|GEQ)(?=\\\\s)|==\",\"name\":\"keyword.operator.comparison.batchfile\"},{\"match\":\"(?<=\\\\s)(?i)(NOT)(?=\\\\s)\",\"name\":\"keyword.operator.logical.batchfile\"},{\"match\":\"(?<!\\\\^)&&?|\\\\|\\\\|\",\"name\":\"keyword.operator.conditional.batchfile\"},{\"match\":\"(?<!\\\\^)\\\\|\",\"name\":\"keyword.operator.pipe.batchfile\"},{\"match\":\"<&?|>[&>]?\",\"name\":\"keyword.operator.redirection.batchfile\"}]},\"parens\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.group.begin.batchfile\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.group.end.batchfile\"}},\"name\":\"meta.group.batchfile\",\"patterns\":[{\"match\":\",|;\",\"name\":\"punctuation.separator.batchfile\"},{\"include\":\"$self\"}]}]},\"repeatParameter\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.batchfile\"}},\"match\":\"(%%)(?:(?i:~[fdpnxsatz]*(?:\\\\$PATH:)?)?[a-zA-Z])\",\"name\":\"variable.parameter.repeat.batchfile\"}]},\"strings\":{\"patterns\":[{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.batchfile\"}},\"end\":\"(\\\")|(\\\\n)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.batchfile\"},\"2\":{\"name\":\"invalid.illegal.newline.batchfile\"}},\"name\":\"string.quoted.double.batchfile\",\"patterns\":[{\"match\":\"%%\",\"name\":\"constant.character.escape.batchfile\"},{\"include\":\"#variables\"}]}]},\"variable\":{\"patterns\":[{\"begin\":\"%(?=[^%]+%)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.variable.begin.batchfile\"}},\"end\":\"(%)|\\\\n\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.variable.end.batchfile\"}},\"name\":\"variable.other.readwrite.batchfile\",\"patterns\":[{\"begin\":\":~\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.batchfile\"}},\"end\":\"(?=%|\\\\n)\",\"name\":\"meta.variable.substring.batchfile\",\"patterns\":[{\"include\":\"#variable_substring\"}]},{\"begin\":\":\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.batchfile\"}},\"end\":\"(?=%|\\\\n)\",\"name\":\"meta.variable.substitution.batchfile\",\"patterns\":[{\"include\":\"#variable_replace\"},{\"begin\":\"=\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.batchfile\"}},\"end\":\"(?=%|\\\\n)\",\"patterns\":[{\"include\":\"#variable_delayed_expansion\"},{\"match\":\"[^%]+\",\"name\":\"string.unquoted.batchfile\"}]}]}]}]},\"variable_delayed_expansion\":{\"patterns\":[{\"begin\":\"!(?=[^!]+!)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.variable.begin.batchfile\"}},\"end\":\"(!)|\\\\n\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.variable.end.batchfile\"}},\"name\":\"variable.other.readwrite.batchfile\",\"patterns\":[{\"begin\":\":~\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.batchfile\"}},\"end\":\"(?=!|\\\\n)\",\"name\":\"meta.variable.substring.batchfile\",\"patterns\":[{\"include\":\"#variable_substring\"}]},{\"begin\":\":\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.batchfile\"}},\"end\":\"(?=!|\\\\n)\",\"name\":\"meta.variable.substitution.batchfile\",\"patterns\":[{\"include\":\"#escaped_characters\"},{\"include\":\"#variable_replace\"},{\"include\":\"#variable\"},{\"begin\":\"=\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.batchfile\"}},\"end\":\"(?=!|\\\\n)\",\"patterns\":[{\"include\":\"#variable\"},{\"match\":\"[^!]+\",\"name\":\"string.unquoted.batchfile\"}]}]}]}]},\"variable_replace\":{\"patterns\":[{\"match\":\"[^=%!\\\\n]+\",\"name\":\"string.unquoted.batchfile\"}]},\"variable_substring\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.numeric.batchfile\"},\"2\":{\"name\":\"punctuation.separator.batchfile\"},\"3\":{\"name\":\"constant.numeric.batchfile\"}},\"match\":\"([+-]?\\\\d+)(?:(,)([+-]?\\\\d+))?\"}]},\"variables\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.batchfile\"}},\"match\":\"(%)(?:(?i:~[fdpnxsatz]*(?:\\\\$PATH:)?)?\\\\d|\\\\*)\",\"name\":\"variable.parameter.batchfile\"},{\"include\":\"#variable\"},{\"include\":\"#variable_delayed_expansion\"}]}},\"scopeName\":\"source.batchfile\",\"aliases\":[\"batch\"]}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Batch File\",\"injections\":{\"L:meta.block.repeat.batchfile\":{\"patterns\":[{\"include\":\"#repeatParameter\"}]}},\"name\":\"bat\",\"patterns\":[{\"include\":\"#commands\"},{\"include\":\"#comments\"},{\"include\":\"#constants\"},{\"include\":\"#controls\"},{\"include\":\"#escaped_characters\"},{\"include\":\"#labels\"},{\"include\":\"#numbers\"},{\"include\":\"#operators\"},{\"include\":\"#parens\"},{\"include\":\"#strings\"},{\"include\":\"#variables\"}],\"repository\":{\"command_set\":{\"patterns\":[{\"begin\":\"(?<=^|[\\\\s@])(?i:SET)(?=$|\\\\s)\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.command.batchfile\"}},\"end\":\"(?=$\\\\n|[\\\\&|><)])\",\"patterns\":[{\"include\":\"#command_set_inside\"}]}]},\"command_set_group\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.group.begin.batchfile\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.group.end.batchfile\"}},\"patterns\":[{\"include\":\"#command_set_inside_arithmetic\"}]}]},\"command_set_inside\":{\"patterns\":[{\"include\":\"#escaped_characters\"},{\"include\":\"#variables\"},{\"include\":\"#numbers\"},{\"include\":\"#parens\"},{\"include\":\"#command_set_strings\"},{\"include\":\"#strings\"},{\"begin\":\"([^ ][^=]*)(=)\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.readwrite.batchfile\"},\"2\":{\"name\":\"keyword.operator.assignment.batchfile\"}},\"end\":\"(?=$\\\\n|[\\\\&|><)])\",\"patterns\":[{\"include\":\"#escaped_characters\"},{\"include\":\"#variables\"},{\"include\":\"#numbers\"},{\"include\":\"#parens\"},{\"include\":\"#strings\"}]},{\"begin\":\"\\\\s+/[aA]\\\\s+\",\"end\":\"(?=$\\\\n|[\\\\&|><)])\",\"name\":\"meta.expression.set.batchfile\",\"patterns\":[{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.batchfile\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.batchfile\"}},\"name\":\"string.quoted.double.batchfile\",\"patterns\":[{\"include\":\"#command_set_inside_arithmetic\"},{\"include\":\"#command_set_group\"},{\"include\":\"#variables\"}]},{\"include\":\"#command_set_inside_arithmetic\"},{\"include\":\"#command_set_group\"}]},{\"begin\":\"\\\\s+/[pP]\\\\s+\",\"end\":\"(?=$\\\\n|[\\\\&|><)])\",\"patterns\":[{\"include\":\"#command_set_strings\"},{\"begin\":\"([^ ][^=]*)(=)\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.readwrite.batchfile\"},\"2\":{\"name\":\"keyword.operator.assignment.batchfile\"}},\"end\":\"(?=$\\\\n|[\\\\&|><)])\",\"name\":\"meta.prompt.set.batchfile\",\"patterns\":[{\"include\":\"#strings\"}]}]}]},\"command_set_inside_arithmetic\":{\"patterns\":[{\"include\":\"#command_set_operators\"},{\"include\":\"#numbers\"},{\"match\":\",\",\"name\":\"punctuation.separator.batchfile\"}]},\"command_set_operators\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.other.readwrite.batchfile\"},\"2\":{\"name\":\"keyword.operator.assignment.augmented.batchfile\"}},\"match\":\"([^ ]*)(\\\\+=|-=|\\\\*=|/=|%%=|&=|\\\\|=|\\\\^=|<<=|>>=)\"},{\"match\":\"[+\\\\-/*]|%%|[|\\\\&\\\\^]|<<|>>|~\",\"name\":\"keyword.operator.arithmetic.batchfile\"},{\"match\":\"!\",\"name\":\"keyword.operator.logical.batchfile\"},{\"captures\":{\"1\":{\"name\":\"variable.other.readwrite.batchfile\"},\"2\":{\"name\":\"keyword.operator.assignment.batchfile\"}},\"match\":\"([^ =]*)(=)\"}]},\"command_set_strings\":{\"patterns\":[{\"begin\":\"(\\\")\\\\s*([^ ][^=]*)(=)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.begin.batchfile\"},\"2\":{\"name\":\"variable.other.readwrite.batchfile\"},\"3\":{\"name\":\"keyword.operator.assignment.batchfile\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.batchfile\"}},\"name\":\"string.quoted.double.batchfile\",\"patterns\":[{\"include\":\"#variables\"},{\"include\":\"#numbers\"},{\"include\":\"#escaped_characters\"}]}]},\"commands\":{\"patterns\":[{\"match\":\"(?<=^|[\\\\s@])(?i:adprep|append|arp|assoc|at|atmadm|attrib|auditpol|autochk|autoconv|autofmt|bcdboot|bcdedit|bdehdcfg|bitsadmin|bootcfg|brea|cacls|cd|certreq|certutil|change|chcp|chdir|chglogon|chgport|chgusr|chkdsk|chkntfs|choice|cipher|clip|cls|clscluadmin|cluster|cmd|cmdkey|cmstp|color|comp|compact|convert|copy|cprofile|cscript|csvde|date|dcdiag|dcgpofix|dcpromo|defra|del|dfscmd|dfsdiag|dfsrmig|diantz|dir|dirquota|diskcomp|diskcopy|diskpart|diskperf|diskraid|diskshadow|dispdiag|doin|dnscmd|doskey|driverquery|dsacls|dsadd|dsamain|dsdbutil|dsget|dsmgmt|dsmod|dsmove|dsquery|dsrm|edit|endlocal|eraseesentutl|eventcreate|eventquery|eventtriggers|evntcmd|expand|extract|fc|filescrn|find|findstr|finger|flattemp|fonde|forfiles|format|freedisk|fsutil|ftp|ftype|fveupdate|getmac|gettype|gpfixup|gpresult|gpupdate|graftabl|hashgen|hep|helpctr|hostname|icacls|iisreset|inuse|ipconfig|ipxroute|irftp|ismserv|jetpack|klist|ksetup|ktmutil|ktpass|label|ldifd|ldp|lodctr|logman|logoff|lpq|lpr|macfile|makecab|manage-bde|mapadmin|md|mkdir|mklink|mmc|mode|more|mount|mountvol|move|mqbup|mqsvc|mqtgsvc|msdt|msg|msiexec|msinfo32|mstsc|nbtstat|net computer|net group|net localgroup|net print|net session|net share|net start|net stop|net use|net user|net view|net|netcfg|netdiag|netdom|netsh|netstat|nfsadmin|nfsshare|nfsstat|nlb|nlbmgr|nltest|nslookup|ntackup|ntcmdprompt|ntdsutil|ntfrsutl|openfiles|pagefileconfig|path|pathping|pause|pbadmin|pentnt|perfmon|ping|pnpunatten|pnputil|popd|powercfg|powershell|powershell_ise|print|prncnfg|prndrvr|prnjobs|prnmngr|prnport|prnqctl|prompt|pubprn|pushd|pushprinterconnections|pwlauncher|qappsrv|qprocess|query|quser|qwinsta|rasdial|rcp|rd|rdpsign|regentc|recover|redircmp|redirusr|reg|regini|regsvr32|relog|ren|rename|rendom|repadmin|repair-bde|replace|reset session|rxec|risetup|rmdir|robocopy|route|rpcinfo|rpcping|rsh|runas|rundll32|rwinsta|sc|schtasks|scp|scwcmd|secedit|serverceipoptin|servrmanagercmd|serverweroptin|setspn|setx|sfc|sftp|shadow|shift|showmount|shutdown|sort|ssh|ssh-add|ssh-agent|ssh-keygen|ssh-keyscan|start|storrept|subst|sxstrace|ysocmgr|systeminfo|takeown|tapicfg|taskkill|tasklist|tcmsetup|telnet|tftp|time|timeout|title|tlntadmn|tpmvscmgr|tpmvscmgr|tacerpt|tracert|tree|tscon|tsdiscon|tsecimp|tskill|tsprof|type|typeperf|tzutil|uddiconfig|umount|unlodctr|ver|verifier|verif|vol|vssadmin|w32tm|waitfor|wbadmin|wdsutil|wecutil|wevtutil|where|whoami|winnt|winnt32|winpop|winrm|winrs|winsat|wlbs|wmic|wscript|wsl|xcopy)(?=$|\\\\s)\",\"name\":\"keyword.command.batchfile\"},{\"begin\":\"(?i)(?<=^|[\\\\s@])(echo)(?:(?=$|[.:])|\\\\s+(?:(o(?:n|ff))(?=\\\\s*$))?)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.command.batchfile\"},\"2\":{\"name\":\"keyword.other.special-method.batchfile\"}},\"end\":\"(?=$\\\\n|[\\\\&|><)])\",\"patterns\":[{\"include\":\"#escaped_characters\"},{\"include\":\"#variables\"},{\"include\":\"#numbers\"},{\"include\":\"#strings\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.command.batchfile\"},\"2\":{\"name\":\"keyword.other.special-method.batchfile\"}},\"match\":\"(?i)(?<=^|[\\\\s@])(setlocal)(?:\\\\s*$|\\\\s+((?:Enable|Disable)(?:Extensions|DelayedExpansion))(?=\\\\s*$))\"},{\"include\":\"#command_set\"}]},\"comments\":{\"patterns\":[{\"begin\":\"(?:^|(&))\\\\s*(?=(:[+=,;: ]))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.conditional.batchfile\"}},\"end\":\"\\\\n\",\"patterns\":[{\"begin\":\"(:[+=,;: ])\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.batchfile\"}},\"end\":\"(?=\\\\n)\",\"name\":\"comment.line.colon.batchfile\"}]},{\"begin\":\"(?<=^|[\\\\s@])(?i)(REM)(\\\\.)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.command.rem.batchfile\"},\"2\":{\"name\":\"punctuation.separator.batchfile\"}},\"end\":\"(?=$\\\\n|[\\\\&|><)])\",\"name\":\"comment.line.rem.batchfile\"},{\"begin\":\"(?<=^|[\\\\s@])(?i:rem)\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.command.rem.batchfile\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.rem.batchfile\",\"patterns\":[{\"match\":\"[><|]\",\"name\":\"invalid.illegal.unexpected-character.batchfile\"}]}]},\"constants\":{\"patterns\":[{\"match\":\"\\\\b(?i:NUL)\\\\b\",\"name\":\"constant.language.batchfile\"}]},\"controls\":{\"patterns\":[{\"match\":\"(?i)(?<=^|\\\\s)(?:call|exit(?=$|\\\\s)|goto(?=$|[\\\\s:]))\",\"name\":\"keyword.control.statement.batchfile\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.conditional.batchfile\"},\"2\":{\"name\":\"keyword.operator.logical.batchfile\"},\"3\":{\"name\":\"keyword.other.special-method.batchfile\"}},\"match\":\"(?<=^|\\\\s)(?i)(if)\\\\s+(?:(not)\\\\s+)?(exist|defined|errorlevel|cmdextversion)(?=\\\\s)\"},{\"match\":\"(?<=^|\\\\s)(?i)(?:if|else)(?=$|\\\\s)\",\"name\":\"keyword.control.conditional.batchfile\"},{\"begin\":\"(?<=^|[\\\\s(\\\\&\\\\^])(?i)for(?=\\\\s)\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.repeat.batchfile\"}},\"end\":\"\\\\n\",\"name\":\"meta.block.repeat.batchfile\",\"patterns\":[{\"begin\":\"(?<=[\\\\s\\\\^])(?i)in(?=\\\\s)\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.repeat.in.batchfile\"}},\"end\":\"(?<=[\\\\s)\\\\^])(?i)do(?=\\\\s)|\\\\n\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.repeat.do.batchfile\"}},\"patterns\":[{\"include\":\"$self\"}]},{\"include\":\"$self\"}]}]},\"escaped_characters\":{\"patterns\":[{\"match\":\"%%|\\\\^\\\\^!|\\\\^(?=.)|\\\\^\\\\n\",\"name\":\"constant.character.escape.batchfile\"}]},\"labels\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.batchfile\"},\"2\":{\"name\":\"keyword.other.special-method.batchfile\"}},\"match\":\"(?i)(?:^\\\\s*|(?<=call|goto)\\\\s*)(:)([^+=,;:\\\\s]\\\\S*)\"}]},\"numbers\":{\"patterns\":[{\"match\":\"(?<=^|[\\\\s=])(0[xX]\\\\h*|[+\\\\-]?\\\\d+)(?=$|[\\\\s<>])\",\"name\":\"constant.numeric.batchfile\"}]},\"operators\":{\"patterns\":[{\"match\":\"@(?=\\\\S)\",\"name\":\"keyword.operator.at.batchfile\"},{\"match\":\"(?<=\\\\s)(?i:EQU|NEQ|LSS|LEQ|GTR|GEQ)(?=\\\\s)|==\",\"name\":\"keyword.operator.comparison.batchfile\"},{\"match\":\"(?<=\\\\s)(?i)(NOT)(?=\\\\s)\",\"name\":\"keyword.operator.logical.batchfile\"},{\"match\":\"(?<!\\\\^)&&?|\\\\|\\\\|\",\"name\":\"keyword.operator.conditional.batchfile\"},{\"match\":\"(?<!\\\\^)\\\\|\",\"name\":\"keyword.operator.pipe.batchfile\"},{\"match\":\"<&?|>[\\\\&>]?\",\"name\":\"keyword.operator.redirection.batchfile\"}]},\"parens\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.group.begin.batchfile\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.group.end.batchfile\"}},\"name\":\"meta.group.batchfile\",\"patterns\":[{\"match\":\"[,;]\",\"name\":\"punctuation.separator.batchfile\"},{\"include\":\"$self\"}]}]},\"repeatParameter\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.batchfile\"}},\"match\":\"(%%)(?i:~[fdpnxsatz]*(?:\\\\$PATH:)?)?[a-zA-Z]\",\"name\":\"variable.parameter.repeat.batchfile\"}]},\"strings\":{\"patterns\":[{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.batchfile\"}},\"end\":\"(\\\")|(\\\\n)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.batchfile\"},\"2\":{\"name\":\"invalid.illegal.newline.batchfile\"}},\"name\":\"string.quoted.double.batchfile\",\"patterns\":[{\"match\":\"%%\",\"name\":\"constant.character.escape.batchfile\"},{\"include\":\"#variables\"}]}]},\"variable\":{\"patterns\":[{\"begin\":\"%(?=[^%]+%)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.variable.begin.batchfile\"}},\"end\":\"(%)|\\\\n\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.variable.end.batchfile\"}},\"name\":\"variable.other.readwrite.batchfile\",\"patterns\":[{\"begin\":\":~\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.batchfile\"}},\"end\":\"(?=[%\\\\n])\",\"name\":\"meta.variable.substring.batchfile\",\"patterns\":[{\"include\":\"#variable_substring\"}]},{\"begin\":\":\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.batchfile\"}},\"end\":\"(?=[%\\\\n])\",\"name\":\"meta.variable.substitution.batchfile\",\"patterns\":[{\"include\":\"#variable_replace\"},{\"begin\":\"=\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.batchfile\"}},\"end\":\"(?=[%\\\\n])\",\"patterns\":[{\"include\":\"#variable_delayed_expansion\"},{\"match\":\"[^%]+\",\"name\":\"string.unquoted.batchfile\"}]}]}]}]},\"variable_delayed_expansion\":{\"patterns\":[{\"begin\":\"!(?=[^!]+!)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.variable.begin.batchfile\"}},\"end\":\"(!)|\\\\n\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.variable.end.batchfile\"}},\"name\":\"variable.other.readwrite.batchfile\",\"patterns\":[{\"begin\":\":~\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.batchfile\"}},\"end\":\"(?=[!\\\\n])\",\"name\":\"meta.variable.substring.batchfile\",\"patterns\":[{\"include\":\"#variable_substring\"}]},{\"begin\":\":\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.batchfile\"}},\"end\":\"(?=[!\\\\n])\",\"name\":\"meta.variable.substitution.batchfile\",\"patterns\":[{\"include\":\"#escaped_characters\"},{\"include\":\"#variable_replace\"},{\"include\":\"#variable\"},{\"begin\":\"=\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.batchfile\"}},\"end\":\"(?=[!\\\\n])\",\"patterns\":[{\"include\":\"#variable\"},{\"match\":\"[^!]+\",\"name\":\"string.unquoted.batchfile\"}]}]}]}]},\"variable_replace\":{\"patterns\":[{\"match\":\"[^=%!\\\\n]+\",\"name\":\"string.unquoted.batchfile\"}]},\"variable_substring\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.numeric.batchfile\"},\"2\":{\"name\":\"punctuation.separator.batchfile\"},\"3\":{\"name\":\"constant.numeric.batchfile\"}},\"match\":\"([+\\\\-]?\\\\d+)(?:(,)([+\\\\-]?\\\\d+))?\"}]},\"variables\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.batchfile\"}},\"match\":\"(%)(?:(?i:~[fdpnxsatz]*(?:\\\\$PATH:)?)?\\\\d|\\\\*)\",\"name\":\"variable.parameter.batchfile\"},{\"include\":\"#variable\"},{\"include\":\"#variable_delayed_expansion\"}]}},\"scopeName\":\"source.batchfile\",\"aliases\":[\"batch\"]}"))
2
2
 
3
3
  export default [
4
4
  lang