@shikijs/langs 1.26.0 → 1.26.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) 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-let-declaration.mjs +1 -1
  6. package/dist/angular-ts.mjs +1 -1
  7. package/dist/apex.mjs +1 -1
  8. package/dist/apl.mjs +1 -1
  9. package/dist/applescript.mjs +1 -1
  10. package/dist/ara.mjs +1 -1
  11. package/dist/asciidoc.mjs +1 -1
  12. package/dist/asm.mjs +1 -1
  13. package/dist/astro.mjs +1 -1
  14. package/dist/awk.mjs +1 -1
  15. package/dist/ballerina.mjs +1 -1
  16. package/dist/bat.mjs +1 -1
  17. package/dist/beancount.mjs +1 -1
  18. package/dist/berry.mjs +1 -1
  19. package/dist/bibtex.mjs +1 -1
  20. package/dist/bicep.mjs +1 -1
  21. package/dist/blade.mjs +1 -1
  22. package/dist/c.mjs +1 -1
  23. package/dist/cadence.mjs +1 -1
  24. package/dist/cairo.mjs +1 -1
  25. package/dist/clarity.mjs +1 -1
  26. package/dist/clojure.mjs +1 -1
  27. package/dist/cobol.mjs +1 -1
  28. package/dist/codeql.mjs +1 -1
  29. package/dist/coffee.mjs +1 -1
  30. package/dist/common-lisp.mjs +1 -1
  31. package/dist/coq.mjs +1 -1
  32. package/dist/cpp-macro.mjs +1 -1
  33. package/dist/cpp.mjs +1 -1
  34. package/dist/crystal.mjs +1 -1
  35. package/dist/csharp.mjs +1 -1
  36. package/dist/css.mjs +1 -1
  37. package/dist/cue.mjs +1 -1
  38. package/dist/cypher.mjs +1 -1
  39. package/dist/d.mjs +1 -1
  40. package/dist/dart.mjs +1 -1
  41. package/dist/dax.mjs +1 -1
  42. package/dist/diff.mjs +1 -1
  43. package/dist/dotenv.mjs +1 -1
  44. package/dist/dream-maker.mjs +1 -1
  45. package/dist/edge.mjs +1 -1
  46. package/dist/elixir.mjs +1 -1
  47. package/dist/elm.mjs +1 -1
  48. package/dist/emacs-lisp.mjs +1 -1
  49. package/dist/erlang.mjs +1 -1
  50. package/dist/es-tag-css.mjs +1 -1
  51. package/dist/es-tag-glsl.mjs +1 -1
  52. package/dist/es-tag-html.mjs +1 -1
  53. package/dist/es-tag-sql.mjs +1 -1
  54. package/dist/es-tag-xml.mjs +1 -1
  55. package/dist/fennel.mjs +1 -1
  56. package/dist/fish.mjs +1 -1
  57. package/dist/fluent.mjs +1 -1
  58. package/dist/fortran-free-form.mjs +1 -1
  59. package/dist/fsharp.mjs +1 -1
  60. package/dist/gdresource.mjs +1 -1
  61. package/dist/gdscript.mjs +1 -1
  62. package/dist/gdshader.mjs +1 -1
  63. package/dist/genie.mjs +1 -1
  64. package/dist/git-commit.mjs +1 -1
  65. package/dist/gleam.mjs +1 -1
  66. package/dist/glimmer-js.mjs +1 -1
  67. package/dist/glimmer-ts.mjs +1 -1
  68. package/dist/gnuplot.mjs +1 -1
  69. package/dist/go.mjs +1 -1
  70. package/dist/graphql.mjs +1 -1
  71. package/dist/groovy.mjs +1 -1
  72. package/dist/hack.mjs +1 -1
  73. package/dist/haml.mjs +1 -1
  74. package/dist/handlebars.mjs +1 -1
  75. package/dist/haskell.mjs +1 -1
  76. package/dist/haxe.mjs +1 -1
  77. package/dist/hcl.mjs +1 -1
  78. package/dist/hjson.mjs +1 -1
  79. package/dist/hlsl.mjs +1 -1
  80. package/dist/html.mjs +1 -1
  81. package/dist/http.mjs +1 -1
  82. package/dist/hy.mjs +1 -1
  83. package/dist/imba.mjs +1 -1
  84. package/dist/index.d.mts +3 -1
  85. package/dist/index.mjs +90 -6
  86. package/dist/java.mjs +1 -1
  87. package/dist/javascript.mjs +1 -1
  88. package/dist/jinja.mjs +1 -1
  89. package/dist/jison.mjs +1 -1
  90. package/dist/json.mjs +1 -1
  91. package/dist/json5.mjs +1 -1
  92. package/dist/jsonc.mjs +1 -1
  93. package/dist/jsonl.mjs +1 -1
  94. package/dist/jsonnet.mjs +1 -1
  95. package/dist/jssm.mjs +1 -1
  96. package/dist/jsx.mjs +1 -1
  97. package/dist/julia.mjs +1 -1
  98. package/dist/kotlin.mjs +1 -1
  99. package/dist/kusto.mjs +1 -1
  100. package/dist/latex.mjs +1 -1
  101. package/dist/lean.mjs +1 -1
  102. package/dist/less.mjs +1 -1
  103. package/dist/liquid.mjs +1 -1
  104. package/dist/log.mjs +1 -1
  105. package/dist/logo.mjs +1 -1
  106. package/dist/lua.mjs +1 -1
  107. package/dist/luau.mjs +1 -1
  108. package/dist/make.mjs +1 -1
  109. package/dist/markdown.mjs +1 -1
  110. package/dist/marko.mjs +1 -1
  111. package/dist/matlab.mjs +1 -1
  112. package/dist/mdc.mjs +1 -1
  113. package/dist/mdx.mjs +1 -1
  114. package/dist/mermaid.mjs +1 -1
  115. package/dist/mipsasm.mjs +1 -1
  116. package/dist/mojo.mjs +1 -1
  117. package/dist/move.mjs +1 -1
  118. package/dist/nextflow.mjs +1 -1
  119. package/dist/nginx.mjs +1 -1
  120. package/dist/nim.mjs +1 -1
  121. package/dist/nix.mjs +1 -1
  122. package/dist/nushell.mjs +1 -1
  123. package/dist/objective-c.mjs +1 -1
  124. package/dist/objective-cpp.mjs +1 -1
  125. package/dist/ocaml.mjs +1 -1
  126. package/dist/perl.mjs +1 -1
  127. package/dist/php.mjs +1 -1
  128. package/dist/polar.mjs +1 -1
  129. package/dist/postcss.mjs +1 -1
  130. package/dist/powerquery.mjs +1 -1
  131. package/dist/powershell.mjs +1 -1
  132. package/dist/prisma.mjs +1 -1
  133. package/dist/prolog.mjs +1 -1
  134. package/dist/proto.mjs +1 -1
  135. package/dist/pug.mjs +1 -1
  136. package/dist/puppet.mjs +1 -1
  137. package/dist/purescript.mjs +1 -1
  138. package/dist/python.mjs +1 -1
  139. package/dist/qml.mjs +1 -1
  140. package/dist/r.mjs +1 -1
  141. package/dist/racket.mjs +1 -1
  142. package/dist/raku.mjs +1 -1
  143. package/dist/razor.mjs +1 -1
  144. package/dist/reg.mjs +1 -1
  145. package/dist/regexp.mjs +1 -1
  146. package/dist/rel.mjs +1 -1
  147. package/dist/riscv.mjs +1 -1
  148. package/dist/rst.mjs +1 -1
  149. package/dist/ruby.mjs +1 -1
  150. package/dist/rust.mjs +1 -1
  151. package/dist/sas.mjs +1 -1
  152. package/dist/sass.mjs +1 -1
  153. package/dist/scala.mjs +1 -1
  154. package/dist/scheme.mjs +1 -1
  155. package/dist/scss.mjs +1 -1
  156. package/dist/shaderlab.mjs +1 -1
  157. package/dist/shellscript.mjs +1 -1
  158. package/dist/smalltalk.mjs +1 -1
  159. package/dist/solidity.mjs +1 -1
  160. package/dist/soy.mjs +1 -1
  161. package/dist/sparql.mjs +1 -1
  162. package/dist/splunk.mjs +1 -1
  163. package/dist/sql.mjs +1 -1
  164. package/dist/ssh-config.mjs +1 -1
  165. package/dist/stata.mjs +1 -1
  166. package/dist/stylus.mjs +1 -1
  167. package/dist/svelte.mjs +1 -1
  168. package/dist/swift.mjs +1 -1
  169. package/dist/system-verilog.mjs +1 -1
  170. package/dist/systemd.mjs +1 -1
  171. package/dist/talonscript.mjs +1 -1
  172. package/dist/tcl.mjs +1 -1
  173. package/dist/templ.mjs +1 -1
  174. package/dist/terraform.mjs +1 -1
  175. package/dist/tex.mjs +1 -1
  176. package/dist/toml.mjs +1 -1
  177. package/dist/tsx.mjs +1 -1
  178. package/dist/turtle.mjs +1 -1
  179. package/dist/twig.mjs +1 -1
  180. package/dist/typescript.mjs +1 -1
  181. package/dist/typespec.mjs +1 -1
  182. package/dist/typst.mjs +1 -1
  183. package/dist/v.mjs +1 -1
  184. package/dist/vala.mjs +1 -1
  185. package/dist/vb.mjs +1 -1
  186. package/dist/verilog.mjs +1 -1
  187. package/dist/vhdl.mjs +1 -1
  188. package/dist/viml.mjs +1 -1
  189. package/dist/vue-html.mjs +1 -1
  190. package/dist/vue.mjs +1 -1
  191. package/dist/vyper.mjs +1 -1
  192. package/dist/wasm.mjs +1 -1
  193. package/dist/wgsl.mjs +1 -1
  194. package/dist/wikitext.mjs +1 -1
  195. package/dist/wolfram.mjs +1 -1
  196. package/dist/xml.mjs +1 -1
  197. package/dist/yaml.mjs +1 -1
  198. package/dist/zenscript.mjs +1 -1
  199. package/dist/zig.mjs +1 -1
  200. package/package.json +3 -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\":\"(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(public|private)(?![_$0-9A-Za-z])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"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\":\"(@)((?:[_$A-Za-z][_$0-9A-Za-z]*))\\\\s*(:?)\\\\s*((?:[_$A-Za-z][_$0-9A-Za-z]*)?)\"}]},\"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\":\"(?:\\\\')?([_$A-Za-z][_$0-9A-Za-z]*)\\\\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\":\"[_$A-Za-z][_$0-9A-Za-z]*\"},{\"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([_$A-Za-z][_$0-9A-Za-z]*)\\\\b\",\"name\":\"storage.type.ballerina\"}]}]},\"control-statement\":{\"patterns\":[{\"begin\":\"(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(return)(?![_$0-9A-Za-z])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"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\":\"(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(else|if)(?![_$0-9A-Za-z])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"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+([_$A-Za-z][_$0-9A-Za-z]*)\",\"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\":\"([_$A-Za-z][_$0-9A-Za-z]*)\",\"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\":\"(?<=[_$0-9A-Za-z])(!)\\\\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\":\"(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))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|([_$A-Za-z][_$0-9A-Za-z]*))\"}]},\"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\":\"[_$A-Za-z][_$0-9A-Za-z]*\",\"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)|(?:[_$A-Za-z][_$0-9A-Za-z]*))\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.ballerina\"}},\"end\":\"(?=\\\\,)|(?:\\\\|)|(?::)|(?==>)|(?=\\\\))|(?=\\\\])\",\"patterns\":[{\"include\":\"#record\"},{\"include\":\"#objectDec\"},{\"include\":\"#functionType\"},{\"include\":\"#constrainType\"},{\"include\":\"#defaultValue\"},{\"include\":\"#comment\"},{\"include\":\"#parameterTuple\"},{\"match\":\"[_$A-Za-z][_$0-9A-Za-z]*\",\"name\":\"default.variable.parameter.ballerina\"}]}]},\"functionTypeType\":{\"patterns\":[{\"begin\":\"[_$A-Za-z][_$0-9A-Za-z]*\",\"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*)?([_$A-Za-z][_$0-9A-Za-z]*)(?=\\\\s*=\\\\s*((((function\\\\s*[(<*])|(function\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\s*=>)))|((((<\\\\s*$)|((<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\s*)?[(]\\\\s*((([{\\\\[]\\\\s*)?$)|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+\\\\})+\\\\s*)?=\\\\s*))))))|((<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\s*)?[(]\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*(([)]\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\s*:)))|((<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*(([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\.\\\\.\\\\.\\\\s*[_$A-Za-z]))([^()\\\\'\\\\\\\"\\\\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))*)?\\\\)(\\\\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*(\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)\\\\s*(?=\\\\()\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ballerina\"},\"2\":{\"name\":\"punctuation.accessor.optional.ballerina\"},\"3\":{\"name\":\"variable.other.property.ballerina\"}},\"match\":\"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*[\\\\d])))\\\\s*(\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)\"},{\"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\":\"([_$A-Za-z][_$0-9A-Za-z]*)((\\\\.)([_$A-Za-z][_$0-9A-Za-z]*)(\\\\()(\\\\)))?\"},{\"match\":\"(\\\\')([_$A-Za-z][_$0-9A-Za-z]*)\",\"name\":\"variable.other.property.ballerina\"},{\"include\":\"#type-annotation\"}]},\"if-statement\":{\"patterns\":[{\"begin\":\"(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?=\\\\bif\\\\b\\\\s*(?!\\\\{))\",\"end\":\"(?<=\\\\})\",\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(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\":\"(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(\\\\bdefault)|(\\\\*)|(\\\\b[_$A-Za-z][_$0-9A-Za-z]*))\"},{\"match\":\"([_$A-Za-z][_$0-9A-Za-z]*)\",\"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\":\"(\\\\')([_$A-Za-z][_$0-9A-Za-z]*)\",\"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\":\"[_$A-Za-z][_$0-9A-Za-z]*\",\"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+)(\\\\'?[_$A-Za-z][_$0-9A-Za-z]*)(\\\\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\":\"(?<=\\\\|)([_$A-Za-z][_$0-9A-Za-z]*)|([_$A-Za-z][_$0-9A-Za-z]*)(?=\\\\|)\",\"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\\\\d[0-9_]*(\\\\.)\\\\d[0-9_]*[eE][+-]?\\\\d[0-9_]*(n)?\\\\b)|(?:\\\\b\\\\d[0-9_]*(\\\\.)[eE][+-]?\\\\d[0-9_]*(n)?\\\\b)|(?:\\\\B(\\\\.)\\\\d[0-9_]*[eE][+-]?\\\\d[0-9_]*(n)?\\\\b)|(?:\\\\b\\\\d[0-9_]*[eE][+-]?\\\\d[0-9_]*(n)?\\\\b)|(?:\\\\b\\\\d[0-9_]*(\\\\.)\\\\d[0-9_]*(n)?\\\\b)|(?:\\\\b\\\\d[0-9_]*(\\\\.)(n)?\\\\B)|(?:\\\\B(\\\\.)\\\\d[0-9_]*(n)?\\\\b)|(?:\\\\b\\\\d[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\":\"(?![_$A-Za-z])([\\\\d]+)\\\\s*(?=(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*:)\",\"name\":\"meta.object.member.ballerina\"},{\"captures\":{\"0\":{\"name\":\"meta.object-literal.key.ballerina\"},\"1\":{\"name\":\"entity.name.function.ballerina\"}},\"match\":\"(?:([_$A-Za-z][_$0-9A-Za-z]*)\\\\s*(?=(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*:(\\\\s*\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/)*\\\\s*((((function\\\\s*[(<*])|(function\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\s*=>)))|((((<\\\\s*$)|((<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\s*)?[(]\\\\s*((([{\\\\[]\\\\s*)?$)|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+\\\\})+\\\\s*)?=\\\\s*))))))|((<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\s*)?[(]\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*(([)]\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\s*:)))|((<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*(([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\.\\\\.\\\\.\\\\s*[_$A-Za-z]))([^()\\\\'\\\\\\\"\\\\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\'([^\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\')|(\\\\\\\"([^\\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))*)?\\\\)(\\\\s*:\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+\\\\})+)?\\\\s*=>))))))\",\"name\":\"meta.object.member.ballerina\"},{\"captures\":{\"0\":{\"name\":\"meta.object-literal.key.ballerina\"}},\"match\":\"(?:[_$A-Za-z][_$0-9A-Za-z]*)\\\\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\":\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\s*(?=,|\\\\}|$|\\\\/\\\\/|\\\\/\\\\*)\",\"name\":\"meta.object.member.ballerina\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.as.ballerina\"},\"2\":{\"name\":\"storage.modifier.ballerina\"}},\"match\":\"(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+(const)(?=\\\\s*([,}]|$))\",\"name\":\"meta.object.member.ballerina\"},{\"begin\":\"(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.as.ballerina\"}},\"end\":\"(?=[;),}\\\\]:?\\\\-+>]|\\\\|\\\\||\\\\&\\\\&|!==|$|^|((?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+))\",\"name\":\"meta.object.member.ballerina\"},{\"begin\":\"(?=[_$A-Za-z][_$0-9A-Za-z]*\\\\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([_$A-Za-z][_$0-9A-Za-z]*)\\\\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)|([_$A-Za-z][_$0-9A-Za-z]*)(?=\\\\|)|(?:[_$A-Za-z][_$0-9A-Za-z]*))\",\"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\":\"[_$A-Za-z][_$0-9A-Za-z]*\",\"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\":\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(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|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*(\\\\??)\"}]},\"parameterTuple\":{\"patterns\":[{\"begin\":\"\\\\[\",\"end\":\"(?=\\\\,)|(?=\\\\|)|(?=:)|(?==>)|(?=\\\\))\",\"patterns\":[{\"include\":\"#record\"},{\"include\":\"#objectDec\"},{\"include\":\"#parameterTupleType\"},{\"include\":\"#parameterTupleEnd\"},{\"include\":\"#comment\"}]}]},\"parameterTupleEnd\":{\"patterns\":[{\"begin\":\"\\\\]\",\"end\":\"(?=\\\\,)|(?=\\\\|)|(?=:)|(?==>)|(?=\\\\))\",\"patterns\":[{\"include\":\"#defaultWithParentheses\"},{\"match\":\"[_$A-Za-z][_$0-9A-Za-z]*\",\"name\":\"default.variable.parameter.ballerina\"}]}]},\"parameterTupleType\":{\"patterns\":[{\"begin\":\"[_$A-Za-z][_$0-9A-Za-z]*\",\"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[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*([_$A-Za-z][_$0-9A-Za-z]*)\\\\s*(?=\\\\()\"},{\"match\":\"(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))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\":\"(\\\\/([_$A-Za-z][_$0-9A-Za-z]*)|\\\\\\\"[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\")\",\"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+([_$A-Za-z][_$0-9A-Za-z]*)\",\"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)|([_$A-Za-z][_$0-9A-Za-z]*))?(`)\",\"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([_$A-Za-z][_$0-9A-Za-z]*)\\\\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\":\"(?<![:|&])((?=$|^|[,);}\\\\]?>=>]|//)|(?==[^>])|((?<=[}>\\\\])]|[_$A-Za-z])\\\\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|([_$A-Za-z][_$0-9A-Za-z]*)((\\\\.)([_$A-Za-z][_$0-9A-Za-z]*)(\\\\()(\\\\)))?\"},{\"match\":\"\\\\?\",\"name\":\"keyword.operator.optional.ballerina\"},{\"include\":\"#multiType\"},{\"include\":\"#type\"},{\"include\":\"#paranthesised\"}]}]},\"type-primitive\":{\"patterns\":[{\"match\":\"(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(string|int|boolean|float|byte|decimal|json|xml|anydata)(?![_$0-9A-Za-z])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"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\":\"(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))([_$A-Za-z][_$0-9A-Za-z]*)\\\\s*(\\\\?)?\\\\s*(:)\"},{\"include\":\"#identifiers\"},{\"include\":\"#type\"},{\"include\":\"#punctuation-comma\"}]},\"typeDefinition\":{\"patterns\":[{\"begin\":\"(\\\\btype\\\\b)\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)\",\"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\":\"[_$A-Za-z][_$0-9A-Za-z]*\",\"name\":\"variable.other.readwrite.ballerina\"},{\"include\":\"#type-annotation\"},{\"include\":\"#typeDescription\"},{\"include\":\"#decl-block\"}]}]},\"typeDescription\":{\"patterns\":[{\"begin\":\"[_$A-Za-z][_$0-9A-Za-z]*\",\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#numbers\"},{\"include\":\"#decl-block\"},{\"include\":\"#type-primitive\"},{\"match\":\"[_$A-Za-z][_$0-9A-Za-z]*\",\"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))|((?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?=(if)\\\\s+))|((?<!^string|[^\\\\._$0-9A-Za-z]string|^int|[^\\\\._$0-9A-Za-z]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|[^\\\\._$0-9A-Za-z]string|^int|[^\\\\._$0-9A-Za-z]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|[^\\\\._$0-9A-Za-z]string|^int|[^\\\\._$0-9A-Za-z]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\":\"([_$A-Za-z][_$0-9A-Za-z]*)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.definition.variable.ballerina variable.other.constant.ballerina\"}},\"end\":\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))\\\\s+))\"}]},\"var-single-variable\":{\"patterns\":[{\"begin\":\"((string|int|boolean|float|byte|decimal|json|xml|anydata)|\\\\b(readonly|error|map)\\\\b|([_$A-Za-z][_$0-9A-Za-z]*))(?=\\\\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\":\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\s+(!)?\",\"beginCaptures\":{\"1\":{\"name\":\"meta.definition.variable.ballerina variable.other.readwrite.ballerina\"},\"2\":{\"name\":\"keyword.operator.definiteassignment.ballerina\"}},\"end\":\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))\\\\s+))\",\"name\":\"meta.var-single-variable.expr.ballerina\"}]},\"variable-initializer\":{\"patterns\":[{\"begin\":\"(?<!=|!)(=)(?!=|>)(?=\\\\s*\\\\S)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.ballerina\"}},\"end\":\"(?=$|[,);}\\\\]])\",\"patterns\":[{\"match\":\"(\\\\')([_$A-Za-z][_$0-9A-Za-z]*)\",\"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\":\"(?=[,);}\\\\]]|((?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))\\\\s+))|(?=^\\\\s*$)|(?<=\\\\S)(?<!=)(?=\\\\s*$)\",\"patterns\":[{\"include\":\"#expression\"}]}]},\"variableDef\":{\"patterns\":[{\"begin\":\"(?:(?!\\\\+)[_$A-Za-z][_$0-9A-Za-z]*)(?: |\\\\t)|(?=\\\\()\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.ballerina\"}},\"end\":\"(?:[_$A-Za-z][_$0-9A-Za-z]*)|(?=\\\\,)|(?=;)|\\\\.\\\\.\\\\.\",\"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:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(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\"}"))
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+(?:(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\"]}"))
2
2
 
3
3
  export default [
4
4
  lang