@shikijs/langs-precompiled 3.3.0 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/dist/abap.mjs +1 -1
  2. package/dist/ada.mjs +1 -1
  3. package/dist/angular-expression.mjs +1 -1
  4. package/dist/angular-ts.mjs +1 -1
  5. package/dist/applescript.mjs +1 -1
  6. package/dist/ara.mjs +1 -1
  7. package/dist/asciidoc.mjs +1 -1
  8. package/dist/astro.mjs +1 -1
  9. package/dist/awk.mjs +1 -1
  10. package/dist/ballerina.mjs +1 -1
  11. package/dist/bat.mjs +1 -1
  12. package/dist/blade.mjs +1 -1
  13. package/dist/c.mjs +1 -1
  14. package/dist/cadence.mjs +1 -1
  15. package/dist/clarity.mjs +1 -1
  16. package/dist/cmake.mjs +1 -1
  17. package/dist/cobol.mjs +1 -1
  18. package/dist/codeql.mjs +1 -1
  19. package/dist/coffee.mjs +1 -1
  20. package/dist/common-lisp.mjs +1 -1
  21. package/dist/coq.mjs +1 -1
  22. package/dist/cpp-macro.mjs +1 -1
  23. package/dist/cpp.mjs +1 -1
  24. package/dist/crystal.mjs +1 -1
  25. package/dist/css.mjs +1 -1
  26. package/dist/cypher.mjs +1 -1
  27. package/dist/d.mjs +1 -1
  28. package/dist/dax.mjs +1 -1
  29. package/dist/dream-maker.mjs +1 -1
  30. package/dist/elixir.mjs +1 -1
  31. package/dist/elm.mjs +1 -1
  32. package/dist/emacs-lisp.mjs +1 -1
  33. package/dist/erlang.mjs +1 -1
  34. package/dist/fennel.mjs +1 -1
  35. package/dist/fortran-free-form.mjs +1 -1
  36. package/dist/fsharp.mjs +1 -1
  37. package/dist/gdresource.mjs +1 -1
  38. package/dist/gdscript.mjs +1 -1
  39. package/dist/gherkin.mjs +1 -1
  40. package/dist/gleam.mjs +1 -1
  41. package/dist/glimmer-js.mjs +1 -1
  42. package/dist/glimmer-ts.mjs +1 -1
  43. package/dist/glsl.mjs +1 -1
  44. package/dist/gnuplot.mjs +1 -1
  45. package/dist/go.mjs +1 -1
  46. package/dist/groovy.mjs +1 -1
  47. package/dist/hack.mjs +1 -1
  48. package/dist/handlebars.mjs +1 -1
  49. package/dist/haxe.mjs +1 -1
  50. package/dist/hlsl.mjs +1 -1
  51. package/dist/html.mjs +1 -1
  52. package/dist/imba.mjs +1 -1
  53. package/dist/java.mjs +1 -1
  54. package/dist/javascript.mjs +1 -1
  55. package/dist/jinja.mjs +1 -1
  56. package/dist/jsonnet.mjs +1 -1
  57. package/dist/jsx.mjs +1 -1
  58. package/dist/julia.mjs +1 -1
  59. package/dist/kusto.mjs +1 -1
  60. package/dist/latex.mjs +1 -1
  61. package/dist/lean.mjs +1 -1
  62. package/dist/less.mjs +1 -1
  63. package/dist/liquid.mjs +1 -1
  64. package/dist/llvm.mjs +1 -1
  65. package/dist/log.mjs +1 -1
  66. package/dist/logo.mjs +1 -1
  67. package/dist/luau.mjs +1 -1
  68. package/dist/make.mjs +1 -1
  69. package/dist/markdown.mjs +1 -1
  70. package/dist/marko.mjs +1 -1
  71. package/dist/matlab.mjs +1 -1
  72. package/dist/mdc.mjs +1 -1
  73. package/dist/mdx.mjs +1 -1
  74. package/dist/mermaid.mjs +1 -1
  75. package/dist/mipsasm.mjs +1 -1
  76. package/dist/mojo.mjs +1 -1
  77. package/dist/nginx.mjs +1 -1
  78. package/dist/nim.mjs +1 -1
  79. package/dist/nix.mjs +1 -1
  80. package/dist/nushell.mjs +1 -1
  81. package/dist/objective-c.mjs +1 -1
  82. package/dist/objective-cpp.mjs +1 -1
  83. package/dist/ocaml.mjs +1 -1
  84. package/dist/pascal.mjs +1 -1
  85. package/dist/perl.mjs +1 -1
  86. package/dist/php.mjs +1 -1
  87. package/dist/plsql.mjs +1 -1
  88. package/dist/powershell.mjs +1 -1
  89. package/dist/prolog.mjs +1 -1
  90. package/dist/python.mjs +1 -1
  91. package/dist/qss.mjs +1 -1
  92. package/dist/r.mjs +1 -1
  93. package/dist/racket.mjs +1 -1
  94. package/dist/raku.mjs +1 -1
  95. package/dist/riscv.mjs +1 -1
  96. package/dist/ruby.mjs +1 -1
  97. package/dist/sas.mjs +1 -1
  98. package/dist/scheme.mjs +1 -1
  99. package/dist/shaderlab.mjs +1 -1
  100. package/dist/shellscript.mjs +1 -1
  101. package/dist/smalltalk.mjs +1 -3
  102. package/dist/splunk.mjs +1 -1
  103. package/dist/sql.mjs +1 -1
  104. package/dist/stata.mjs +1 -1
  105. package/dist/stylus.mjs +1 -1
  106. package/dist/svelte.mjs +1 -1
  107. package/dist/system-verilog.mjs +1 -1
  108. package/dist/systemd.mjs +1 -1
  109. package/dist/talonscript.mjs +1 -1
  110. package/dist/templ.mjs +1 -1
  111. package/dist/terraform.mjs +1 -1
  112. package/dist/tex.mjs +1 -1
  113. package/dist/toml.mjs +1 -1
  114. package/dist/tsx.mjs +1 -1
  115. package/dist/typescript.mjs +1 -1
  116. package/dist/typst.mjs +1 -1
  117. package/dist/v.mjs +1 -1
  118. package/dist/vala.mjs +1 -1
  119. package/dist/vb.mjs +1 -1
  120. package/dist/vhdl.mjs +1 -1
  121. package/dist/viml.mjs +1 -1
  122. package/dist/vyper.mjs +1 -1
  123. package/dist/wasm.mjs +1 -1
  124. package/dist/wikitext.mjs +1 -1
  125. package/dist/wolfram.mjs +1 -1
  126. package/dist/zenscript.mjs +1 -1
  127. package/package.json +4 -4
package/dist/astro.mjs CHANGED
@@ -5,7 +5,7 @@ import typescript from './typescript.mjs'
5
5
  import css from './css.mjs'
6
6
  import postcss from './postcss.mjs'
7
7
 
8
- const lang = Object.freeze({displayName:"Astro",fileTypes:["astro"],injections:{"L:(meta.script.astro) (meta.lang.js | meta.lang.javascript | meta.lang.partytown | meta.lang.node) - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.js",end:/(?=<\/)/dgv,name:"meta.embedded.block.astro",patterns:[{include:"source.js"}]}]},"L:(meta.script.astro) (meta.lang.json) - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.json",end:/(?=<\/)/dgv,name:"meta.embedded.block.astro",patterns:[{include:"source.json"}]}]},"L:(meta.script.astro) (meta.lang.ts | meta.lang.typescript) - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.ts",end:/(?=<\/)/dgv,name:"meta.embedded.block.astro",patterns:[{include:"source.ts"}]}]},"L:meta.script.astro - meta.lang - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.js",end:/(?=<\/)/dgv,name:"meta.embedded.block.astro",patterns:[{include:"source.js"}]}]},"L:meta.style.astro - meta.lang - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.css",end:/(?=<\/)/dgv,name:"meta.embedded.block.astro",patterns:[{include:"source.css"}]}]},"L:meta.style.astro meta.lang.css - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.css",end:/(?=<\/)/dgv,name:"meta.embedded.block.astro",patterns:[{include:"source.css"}]}]},"L:meta.style.astro meta.lang.less - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.css.less",end:/(?=<\/)/dgv,name:"meta.embedded.block.astro",patterns:[{include:"source.css.less"}]}]},"L:meta.style.astro meta.lang.postcss - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.css.postcss",end:/(?=<\/)/dgv,name:"meta.embedded.block.astro",patterns:[{include:"source.css.postcss"}]}]},"L:meta.style.astro meta.lang.sass - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.sass",end:/(?=<\/)/dgv,name:"meta.embedded.block.astro",patterns:[{include:"source.sass"}]}]},"L:meta.style.astro meta.lang.scss - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.css.scss",end:/(?=<\/)/dgv,name:"meta.embedded.block.astro",patterns:[{include:"source.css.scss"}]}]},"L:meta.style.astro meta.lang.stylus - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.stylus",end:/(?=<\/)/dgv,name:"meta.embedded.block.astro",patterns:[{include:"source.stylus"}]}]}},name:"astro",patterns:[{include:"#scope"},{include:"#frontmatter"},{include:"#text"}],repository:{"attribute-literal":{begin:/(`)/dgv,end:/\1()/dgv,name:"string.template.astro",patterns:[{include:"source.tsx#template-substitution-element"},{include:"source.tsx#string-character-escape"}]},attributes:{patterns:[{include:"#attributes-events"},{include:"#attributes-keyvalue"},{include:"#attributes-interpolated"}]},"attributes-events":{begin:/(on(s(croll|t(orage|alled)|u(spend|bmit)|e(curitypolicyviolation|ek(ing|ed)|lect))|hashchange|c(hange|o(ntextmenu|py)|u(t|echange)|l(ick|ose)|an(cel|play(through)?))|t(imeupdate|oggle)|in(put|valid)|o((?:n|ff)line)|d(urationchange|r(op|ag(start|over|e(n(ter|d)|xit)|leave)?)|blclick)|un(handledrejection|load)|p(opstate|lay(ing)?|a(ste|use|ge(show|hide))|rogress)|e(nded|rror|mptied)|volumechange|key(down|up|press)|focus|w(heel|aiting)|l(oad(start|e(nd|d((?:|meta)data)))?|anguagechange)|a(uxclick|fterprint|bort)|r(e(s(ize|et)|jectionhandled)|atechange)|m(ouse(o(ut|ver)|down|up|enter|leave|move)|essage(error)?)|b(efore(unload|print)|lur)))(?![\-\:\\w])/dgv,beginCaptures:{"0":{patterns:[{match:/[^\n]*/dgv,name:"entity.other.attribute-name.astro"}]}},end:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{"hiddenCaptures":[1]}),name:"meta.attribute.$1.astro",patterns:[{begin:/=/dgv,beginCaptures:{"0":{name:"punctuation.separator.key-value.astro"}},end:/(?<=[^\=\p{space}])(?!\p{space}*=)|(?=\/?>)/dgv,patterns:[{include:"#interpolation"},{include:"#attribute-literal"},{begin:/(?=[^\/\<\=\>\`\p{space}]|\/(?!>))/dgv,end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.line.js",patterns:[{captures:{"0":{name:"source.js"},"1":{patterns:[{include:"source.js"}]}},match:/(([^"'\/\<\=\>\`\p{space}]|\/(?!>))+)/dgv,name:"string.unquoted.astro"},{begin:/(")/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.astro"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.astro"}},name:"string.quoted.astro",patterns:[{captures:{"0":{patterns:[{include:"source.js"}]}},match:/([^\n"\/]|\/(?![\*\/]))+/dgv},{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.js"}},end:/(?=")|\n/dgv,name:"comment.line.double-slash.js"},{begin:/\/\*/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.js"}},end:/(?=")|\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.js"}},name:"comment.block.js"}]},{begin:/(')/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.astro"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.astro"}},name:"string.quoted.astro",patterns:[{captures:{"0":{patterns:[{include:"source.js"}]}},match:/([^\n'\/]|\/(?![\*\/]))+/dgv},{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.js"}},end:/(?=')|\n/dgv,name:"comment.line.double-slash.js"},{begin:/\/\*/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.js"}},end:/(?=')|\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.js"}},name:"comment.block.js"}]}]}]}]},"attributes-interpolated":{begin:/(?<![\:\=])\p{space}*(\{)/dgv,contentName:"meta.embedded.expression.astro source.tsx",end:/(\})/dgv,patterns:[{include:"source.tsx"}]},"attributes-keyvalue":{begin:/([\$\@_\p{Alpha}][\-\$\.\:_\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{"0":{patterns:[{match:/[^\n]*/dgv,name:"entity.other.attribute-name.astro"}]}},end:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{"hiddenCaptures":[1]}),name:"meta.attribute.$1.astro",patterns:[{begin:/=/dgv,beginCaptures:{"0":{name:"punctuation.separator.key-value.astro"}},end:/(?<=[^\=\p{space}])(?!\p{space}*=)|(?=\/?>)/dgv,patterns:[{include:"#attributes-value"}]}]},"attributes-value":{patterns:[{include:"#interpolation"},{match:/([^"'\/\<\=\>\`\p{space}]|\/(?!>))+/dgv,name:"string.unquoted.astro"},{begin:/(["'])/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.astro"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.astro"}},name:"string.quoted.astro"},{include:"#attribute-literal"}]},comments:{begin:/<!--/dgv,captures:{"0":{name:"punctuation.definition.comment.astro"}},end:/-->/dgv,name:"comment.block.astro",patterns:[{match:/*@__PURE__*/ new EmulatedRegExp("^-?>|<!--(?!>)|<!-(?=-->)|--!>","dgv",{"strategy":"clip_search"}),name:"invalid.illegal.characters-not-allowed-here.astro"}]},entities:{patterns:[{captures:{"1":{name:"punctuation.definition.entity.astro"},"912":{name:"punctuation.definition.entity.astro"}},match:/*@__PURE__*/ new EmulatedRegExp("(&)(?=[A-Za-z])((a(s(ymp(eq)?|cr|t)|n(d(slope|[dv]|and)?|g(s(t|ph)|zarr|e|le|rt(vb(d)?)?|msd(a([a-h]))?)?)|c(y|irc|d|ute|E)?|tilde|o(pf|gon)|uml|p(id|os|prox(eq)?|[Ee]|acir)?|elig|f(r)?|w((?:con|)int)|l(pha|e(ph|fsym))|acute|ring|grave|m(p|a(cr|lg))|breve)|A(s(sign|cr)|nd|MP|c(y|irc)|tilde|o(pf|gon)|uml|pplyFunction|fr|Elig|lpha|acute|ring|grave|macr|breve))|(B(scr|cy|opf|umpeq|e(cause|ta|rnoullis)|fr|a(ckslash|r(v|wed))|reve)|b(s(cr|im(e)?|ol(hsub|b)?|emi)|n(ot|e(quiv)?)|c(y|ong)|ig(s(tar|qcup)|c(irc|up|ap)|triangle(down|up)|o(times|dot|plus)|uplus|vee|wedge)|o(t(tom)?|pf|wtie|x(h([DUdu])?|times|H([DUdu])?|d([LRlr])|u([LRlr])|plus|D([LRlr])|v([HLRhlr])?|U([LRlr])|V([HLRhlr])?|minus|box))|Not|dquo|u(ll(et)?|mp(e(q)?|E)?)|prime|e(caus(e)?|t(h|ween|a)|psi|rnou|mptyv)|karow|fr|l(ock|k(1([24])|34)|a(nk|ck(square|triangle(down|left|right)?|lozenge)))|a(ck(sim(eq)?|cong|prime|epsilon)|r(vee|wed(ge)?))|r(eve|vbar)|brk(tbrk)?))|(c(s(cr|u(p(e)?|b(e)?))|h(cy|i|eck(mark)?)|ylcty|c(irc|ups(sm)?|edil|a(ps|ron))|tdot|ir(scir|c(eq|le(d(R|circ|S|dash|ast)|arrow(left|right)))?|e|fnint|E|mid)?|o(n(int|g(dot)?)|p(y(sr)?|f|rod)|lon(e(q)?)?|m(p(fn|le(xes|ment))?|ma(t)?))|dot|u(darr([lr])|p(s|c([au]p)|or|dot|brcap)?|e(sc|pr)|vee|wed|larr(p)?|r(vearrow(left|right)|ly(eq(succ|prec)|vee|wedge)|arr(m)?|ren))|e(nt(erdot)?|dil|mptyv)|fr|w((?:con|)int)|lubs(uit)?|a(cute|p(s|c([au]p)|dot|and|brcup)?|r(on|et))|r(oss|arr))|C(scr|hi|c(irc|onint|edil|aron)|ircle(Minus|Times|Dot|Plus)|Hcy|o(n(tourIntegral|int|gruent)|unterClockwiseContourIntegral|p(f|roduct)|lon(e)?)|dot|up(Cap)?|OPY|e(nterDot|dilla)|fr|lo(seCurly((?:Double|)Quote)|ckwiseContourIntegral)|a(yleys|cute|p(italDifferentialD)?)|ross))|(d(s(c([ry])|trok|ol)|har([lr])|c(y|aron)|t(dot|ri(f)?)|i(sin|e|v(ide(ontimes)?|onx)?|am(s|ond(suit)?)?|gamma)|Har|z(cy|igrarr)|o(t(square|plus|eq(dot)?|minus)?|ublebarwedge|pf|wn(harpoon(left|right)|downarrows|arrow)|llar)|d(otseq|a(rr|gger))?|u(har|arr)|jcy|e(lta|g|mptyv)|f(isht|r)|wangle|lc(orn|rop)|a(sh(v)?|leth|rr|gger)|r(c(orn|rop)|bkarow)|b(karow|lac)|Arr)|D(s(cr|trok)|c(y|aron)|Scy|i(fferentialD|a(critical(Grave|Tilde|Do(t|ubleAcute)|Acute)|mond))|o(t(Dot|Equal)?|uble(Right(Tee|Arrow)|ContourIntegral|Do(t|wnArrow)|Up((?:Down|)Arrow)|VerticalBar|L(ong(RightArrow|Left((?:Right|)Arrow))|eft(RightArrow|Tee|Arrow)))|pf|wn(Right(TeeVector|Vector(Bar)?)|Breve|Tee(Arrow)?|arrow|Left(RightVector|TeeVector|Vector(Bar)?)|Arrow(Bar|UpArrow)?))|Zcy|el(ta)?|D(otrahd)?|Jcy|fr|a(shv|rr|gger)))|(e(s(cr|im|dot)|n(sp|g)|c(y|ir(c)?|olon|aron)|t([ah])|o(pf|gon)|dot|u(ro|ml)|p(si(v|lon)?|lus|ar(sl)?)|e|D((?:|D)ot)|q(s(im|lant(less|gtr))|c(irc|olon)|u(iv(DD)?|est|als)|vparsl)|f(Dot|r)|l(s(dot)?|inters|l)?|a(ster|cute)|r(Dot|arr)|g(s(dot)?|rave)?|x(cl|ist|p(onentiale|ectation))|m(sp(1([34]))?|pty(set|v)?|acr))|E(s(cr|im)|c(y|irc|aron)|ta|o(pf|gon)|NG|dot|uml|TH|psilon|qu(ilibrium|al(Tilde)?)|fr|lement|acute|grave|x(ists|ponentialE)|m(pty((?:|Very)SmallSquare)|acr)))|(f(scr|nof|cy|ilig|o(pf|r(k(v)?|all))|jlig|partint|emale|f(ilig|l((?:|l)ig)|r)|l(tns|lig|at)|allingdotseq|r(own|a(sl|c(1([2-68])|78|2([35])|3([458])|45|5([68])))))|F(scr|cy|illed((?:|Very)SmallSquare)|o(uriertrf|pf|rAll)|fr))|(G(scr|c(y|irc|edil)|t|opf|dot|T|Jcy|fr|amma(d)?|reater(Greater|SlantEqual|Tilde|Equal(Less)?|FullEqual|Less)|g|breve)|g(s(cr|im([el])?)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|irc)|t(c(c|ir)|dot|quest|lPar|r(sim|dot|eq((?:q|)less)|less|a(pprox|rr)))?|imel|opf|dot|jcy|e(s(cc|dot(o(l)?)?|l(es)?)?|q(slant|q)?|l)?|v(nE|ertneqq)|fr|E(l)?|l([Eaj])?|a(cute|p|mma(d)?)|rave|g(g)?|breve))|(h(s(cr|trok|lash)|y(phen|bull)|circ|o(ok((?:lef|righ)tarrow)|pf|arr|rbar|mtht)|e(llip|arts(uit)?|rcon)|ks([ew]arow)|fr|a(irsp|lf|r(dcy|r(cir|w)?)|milt)|bar|Arr)|H(s(cr|trok)|circ|ilbertSpace|o(pf|rizontalLine)|ump(DownHump|Equal)|fr|a(cek|t)|ARDcy))|(i(s(cr|in(s(v)?|dot|[Ev])?)|n(care|t(cal|prod|e(rcal|gers)|larhk)?|odot|fin(tie)?)?|c(y|irc)?|t(ilde)?|i(nfin|i((?:|i)nt)|ota)?|o(cy|ta|pf|gon)|u(kcy|ml)|jlig|prod|e(cy|xcl)|quest|f([fr])|acute|grave|m(of|ped|a(cr|th|g(part|e|line))))|I(scr|n(t(e(rsection|gral))?|visible(Comma|Times))|c(y|irc)|tilde|o(ta|pf|gon)|dot|u(kcy|ml)|Ocy|Jlig|fr|Ecy|acute|grave|m(plies|a(cr|ginaryI))?))|(j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))|(k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))|(l(s(h|cr|trok|im([eg])?|q(uo(r)?|b)|aquo)|h(ar(d|u(l)?)|blk)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|ub|e((?:|d)il)|aron)|Barr|t(hree|c(c|ir)|imes|dot|quest|larr|r(i([ef])?|Par))?|Har|o(ng(left((?:|right)arrow)|rightarrow|mapsto)|times|z(enge|f)?|oparrow(left|right)|p(f|lus|ar)|w(ast|bar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|r((?:d|us)har))|ur((?:ds|u)har)|jcy|par(lt)?|e(s(s(sim|dot|eq((?:q|)gtr)|approx|gtr)|cc|dot(o(r)?)?|g(es)?)?|q(slant|q)?|ft(harpoon(down|up)|threetimes|leftarrows|arrow(tail)?|right(squigarrow|harpoons|arrow(s)?))|g)?|v(nE|ertneqq)|f(isht|loor|r)|E(g)?|l(hard|corner|tri|arr)?|a(ng(d|le)?|cute|t(e(s)?|ail)?|p|emptyv|quo|rr(sim|hk|tl|pl|fs|lp|b(fs)?)?|gran|mbda)|r(har(d)?|corner|tri|arr|m)|g(E)?|m(idot|oust(ache)?)|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr))|L(s(h|cr|trok)|c(y|edil|aron)|t|o(ng(RightArrow|left((?:|right)arrow)|rightarrow|Left((?:Right|)Arrow))|pf|wer((?:Righ|Lef)tArrow))|T|e(ss(Greater|SlantEqual|Tilde|EqualGreater|FullEqual|Less)|ft(Right(Vector|Arrow)|Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|rightarrow|Floor|A(ngleBracket|rrow(RightArrow|Bar)?)))|Jcy|fr|l(eftarrow)?|a(ng|cute|placetrf|rr|mbda)|midot))|(M(scr|cy|inusPlus|opf|u|e(diumSpace|llintrf)|fr|ap)|m(s(cr|tpos)|ho|nplus|c(y|omma)|i(nus(d(u)?|b)?|cro|d(cir|dot|ast)?)|o(dels|pf)|dash|u((?:lti|)map)?|p|easuredangle|DDot|fr|l(cp|dr)|a(cr|p(sto(down|up|left)?)?|l(t(ese)?|e)|rker)))|(n(s(hort(parallel|mid)|c(cue|[er])?|im(e(q)?)?|u(cc(eq)?|p(set(eq(q)?)?|[Ee])?|b(set(eq(q)?)?|[Ee])?)|par|qsu([bp]e)|mid)|Rightarrow|h(par|arr|Arr)|G(t(v)?|g)|c(y|ong(dot)?|up|edil|a(p|ron))|t(ilde|lg|riangle(left(eq)?|right(eq)?)|gl)|i(s(d)?|v)?|o(t(ni(v([abc]))?|in(dot|v([abc])|E)?)?|pf)|dash|u(m(sp|ero)?)?|jcy|p(olint|ar(sl|t|allel)?|r(cue|e(c(eq)?)?)?)|e(s(im|ear)|dot|quiv|ar(hk|r(ow)?)|xist(s)?|Arr)?|v(sim|infin|Harr|dash|Dash|l(t(rie)?|e|Arr)|ap|r(trie|Arr)|g([et]))|fr|w(near|ar(hk|r(ow)?)|Arr)|V([Dd]ash)|l(sim|t(ri(e)?)?|dr|e(s(s)?|q(slant|q)?|ft((?:|right)arrow))?|E|arr|Arr)|a(ng|cute|tur(al(s)?)?|p(id|os|prox|E)?|bla)|r(tri(e)?|ightarrow|arr([cw])?|Arr)|g(sim|t(r)?|e(s|q(slant|q)?)?|E)|mid|L(t(v)?|eft((?:|right)arrow)|l)|b(sp|ump(e)?))|N(scr|c(y|edil|aron)|tilde|o(nBreakingSpace|Break|t(R(ightTriangle(Bar|Equal)?|everseElement)|Greater(Greater|SlantEqual|Tilde|Equal|FullEqual|Less)?|S(u(cceeds(SlantEqual|Tilde|Equal)?|perset(Equal)?|bset(Equal)?)|quareSu(perset(Equal)?|bset(Equal)?))|Hump(DownHump|Equal)|Nested(GreaterGreater|LessLess)|C(ongruent|upCap)|Tilde(Tilde|Equal|FullEqual)?|DoubleVerticalBar|Precedes((?:Slant|)Equal)?|E(qual(Tilde)?|lement|xists)|VerticalBar|Le(ss(Greater|SlantEqual|Tilde|Equal|Less)?|ftTriangle(Bar|Equal)?))?|pf)|u|e(sted(GreaterGreater|LessLess)|wLine|gative(MediumSpace|Thi((?:n|ck)Space)|VeryThinSpace))|Jcy|fr|acute))|(o(s(cr|ol|lash)|h(m|bar)|c(y|ir(c)?)|ti(lde|mes(as)?)|S|int|opf|d(sold|iv|ot|ash|blac)|uml|p(erp|lus|ar)|elig|vbar|f(cir|r)|l(c(ir|ross)|t|ine|arr)|a(st|cute)|r(slope|igof|or|d(er(of)?|[fm])?|v|arr)?|g(t|on|rave)|m(i(nus|cron|d)|ega|acr))|O(s(cr|lash)|c(y|irc)|ti(lde|mes)|opf|dblac|uml|penCurly((?:Double|)Quote)|ver(B(ar|rac(e|ket))|Parenthesis)|fr|Elig|acute|r|grave|m(icron|ega|acr)))|(p(s(cr|i)|h(i(v)?|one|mmat)|cy|i(tchfork|v)?|o(intint|und|pf)|uncsp|er(cnt|tenk|iod|p|mil)|fr|l(us(sim|cir|two|d([ou])|e|acir|mn|b)?|an(ck(h)?|kv))|ar(s(im|l)|t|a(llel)?)?|r(sim|n(sim|E|ap)|cue|ime(s)?|o(d|p(to)?|f(surf|line|alar))|urel|e(c(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?)?|E|ap)?|m)|P(s(cr|i)|hi|cy|i|o(incareplane|pf)|fr|lusMinus|artialD|r(ime|o(duct|portion(al)?)|ecedes(SlantEqual|Tilde|Equal)?)?))|(q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))|(R(s(h|cr)|ho|c(y|edil|aron)|Barr|ight(Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|Floor|A(ngleBracket|rrow(Bar|LeftArrow)?))|o(undImplies|pf)|uleDelayed|e(verse(UpEquilibrium|E(quilibrium|lement)))?|fr|EG|a(ng|cute|rr(tl)?)|rightarrow)|r(s(h|cr|q(uo(r)?|b)|aquo)|h(o(v)?|ar(d|u(l)?))|nmid|c(y|ub|e((?:|d)il)|aron)|Barr|t(hree|imes|ri([ef]|ltri)?)|i(singdotseq|ng|ght(squigarrow|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(tail)?|rightarrows))|Har|o(times|p(f|lus|ar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|ldhar)|uluhar|p(polint|ar(gt)?)|e(ct|al(s|ine|part)?|g)|f(isht|loor|r)|l(har|arr|m)|a(ng([de]|le)?|c(ute|e)|t(io(nals)?|ail)|dic|emptyv|quo|rr(sim|hk|c|tl|pl|fs|w|lp|ap|b(fs)?)?)|rarr|x|moust(ache)?|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr)))|(s(s(cr|tarf|etmn|mile)|h(y|c(hcy|y)|ort(parallel|mid)|arp)|c(sim|y|n(sim|E|ap)|cue|irc|polint|e(dil)?|E|a(p|ron))?|t(ar(f)?|r(ns|aight(phi|epsilon)))|i(gma([fv])?|m(ne|dot|plus|e(q)?|l(E)?|rarr|g(E)?)?)|zlig|o(pf|ftcy|l(b(ar)?)?)|dot([be])?|u(ng|cc(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?|p(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|hs(ol|ub)|1|n([Ee])|2|d(sub|ot)|3|plus|e(dot)?|E|larr|mult)?|m|b(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|n([Ee])|dot|plus|e(dot)?|E|rarr|mult)?)|pa(des(uit)?|r)|e(swar|ct|tm(n|inus)|ar(hk|r(ow)?)|xt|mi|Arr)|q(su(p(set(eq)?|e)?|b(set(eq)?|e)?)|c(up(s)?|ap(s)?)|u(f|ar([ef]))?)|fr(own)?|w(nwar|ar(hk|r(ow)?)|Arr)|larr|acute|rarr|m(t(e(s)?)?|i(d|le)|eparsl|a(shp|llsetminus))|bquo)|S(scr|hort((?:Right|Down|Up|Left)Arrow)|c(y|irc|edil|aron)?|tar|igma|H(cy|CHcy)|opf|u(c(hThat|ceeds(SlantEqual|Tilde|Equal)?)|p(set|erset(Equal)?)?|m|b(set(Equal)?)?)|OFTcy|q(uare(Su(perset(Equal)?|bset(Equal)?)|Intersection|Union)?|rt)|fr|acute|mallCircle))|(t(s(hcy|c([ry])|trok)|h(i(nsp|ck(sim|approx))|orn|e(ta(sym|v)?|re(4|fore))|k(sim|ap))|c(y|edil|aron)|i(nt|lde|mes(d|b(ar)?)?)|o(sa|p(cir|f(ork)?|bot)?|ea)|dot|prime|elrec|fr|w(ixt|ohead((?:lef|righ)tarrow))|a(u|rget)|r(i(sb|time|dot|plus|e|angle(down|q|left(eq)?|right(eq)?)?|minus)|pezium|ade)|brk)|T(s(cr|trok)|RADE|h(i((?:n|ck)Space)|e(ta|refore))|c(y|edil|aron)|S((?:|H)cy)|ilde(Tilde|Equal|FullEqual)?|HORN|opf|fr|a([bu])|ripleDot))|(u(scr|h(ar([lr])|blk)|c(y|irc)|t(ilde|dot|ri(f)?)|Har|o(pf|gon)|d(har|arr|blac)|u(arr|ml)|p(si(h|lon)?|harpoon(left|right)|downarrow|uparrows|lus|arrow)|f(isht|r)|wangle|l(c(orn(er)?|rop)|tri)|a(cute|rr)|r(c(orn(er)?|rop)|tri|ing)|grave|m(l|acr)|br(cy|eve)|Arr)|U(scr|n(ion(Plus)?|der(B(ar|rac(e|ket))|Parenthesis))|c(y|irc)|tilde|o(pf|gon)|dblac|uml|p(si(lon)?|downarrow|Tee(Arrow)?|per((?:Righ|Lef)tArrow)|DownArrow|Equilibrium|arrow|Arrow(Bar|DownArrow)?)|fr|a(cute|rr(ocir)?)|ring|grave|macr|br(cy|eve)))|(v(s(cr|u(pn([Ee])|bn([Ee])))|nsu([bp])|cy|Bar(v)?|zigzag|opf|dash|prop|e(e(eq|bar)?|llip|r(t|bar))|Dash|fr|ltri|a(ngrt|r(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|t(heta|riangle(left|right))|p(hi|i|ropto)|epsilon|kappa|r(ho)?))|rtri|Arr)|V(scr|cy|opf|dash(l)?|e(e|r(yThinSpace|t(ical(Bar|Separator|Tilde|Line))?|bar))|Dash|vdash|fr|bar))|(w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))|(X(scr|i|opf|fr)|x(s(cr|qcup)|h([Aa]rr)|nis|c(irc|up|ap)|i|o(time|dot|p(f|lus))|dtri|u(tri|plus)|vee|fr|wedge|l([Aa]rr)|r([Aa]rr)|map))|(y(scr|c(y|irc)|icy|opf|u(cy|ml)|en|fr|ac(y|ute))|Y(scr|c(y|irc)|opf|uml|Icy|Ucy|fr|acute|Acy))|(z(scr|hcy|c(y|aron)|igrarr|opf|dot|e(ta|etrf)|fr|w((?:n|)j)|acute)|Z(scr|c(y|aron)|Hcy|opf|dot|e(ta|roWidthSpace)|fr|acute)))(;)","dgv",{"lazyCompile":true}),name:"constant.character.entity.named.$2.astro"},{captures:{"1":{name:"punctuation.definition.entity.astro"},"3":{name:"punctuation.definition.entity.astro"}},match:/(&)#[0-9]+(;)/dgv,name:"constant.character.entity.numeric.decimal.astro"},{captures:{"1":{name:"punctuation.definition.entity.astro"},"3":{name:"punctuation.definition.entity.astro"}},match:/(&)#[Xx]\p{AHex}+(;)/dgv,name:"constant.character.entity.numeric.hexadecimal.astro"},{match:/&(?=[0-9A-Za-z]+;)/dgv,name:"invalid.illegal.ambiguous-ampersand.astro"}]},frontmatter:{begin:/^(-{3})\p{space}*(?=\n?$)/dgv,beginCaptures:{"1":{name:"comment"}},contentName:"source.ts",end:/*@__PURE__*/ new EmulatedRegExp("(^|^)(-{3})|\\.{3}\\p{space}*(?=\\n?$)","dgv",{"strategy":"clip_search"}),endCaptures:{"2":{name:"comment"}},patterns:[{include:"source.ts"}]},interpolation:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.embedded.begin.astro"}},contentName:"meta.embedded.expression.astro source.tsx",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.astro"}},patterns:[{begin:/\p{space}*(?=\{)/dgvy,end:/(?<=\})/dgv,patterns:[{include:"source.tsx#object-literal"}]},{include:"source.tsx"}]}]},scope:{patterns:[{include:"#comments"},{include:"#tags"},{include:"#interpolation"},{include:"#entities"}]},tags:{patterns:[{include:"#tags-raw"},{include:"#tags-lang"},{include:"#tags-void"},{include:"#tags-general-end"},{include:"#tags-general-start"}]},"tags-end-node":{captures:{"1":{name:"meta.tag.end.astro punctuation.definition.tag.begin.astro"},"2":{name:"meta.tag.end.astro",patterns:[{include:"#tags-name"}]},"3":{name:"meta.tag.end.astro punctuation.definition.tag.end.astro"},"4":{name:"meta.tag.start.astro punctuation.definition.tag.end.astro"}},match:/(<\/)([^\n]*?)\p{space}*(>)|(\/>)/dgv},"tags-general-end":{begin:/(<\/)([^\/\>\p{space}]*)/dgv,beginCaptures:{"1":{name:"meta.tag.end.astro punctuation.definition.tag.begin.astro"},"2":{name:"meta.tag.end.astro",patterns:[{include:"#tags-name"}]}},end:/(>)/dgv,endCaptures:{"1":{name:"meta.tag.end.astro punctuation.definition.tag.end.astro"}},name:"meta.scope.tag.$2.astro"},"tags-general-start":{begin:/(<)([^\/\>\p{space}]*)/dgv,beginCaptures:{"0":{patterns:[{include:"#tags-start-node"}]}},end:/(\/?>)/dgv,endCaptures:{"1":{name:"meta.tag.start.astro punctuation.definition.tag.end.astro"}},name:"meta.scope.tag.$2.astro",patterns:[{include:"#tags-start-attributes"}]},"tags-lang":{begin:/<(s(?:cript|tyle))/dgv,beginCaptures:{"0":{patterns:[{include:"#tags-start-node"}]}},end:/<\/\1\p{space}*>|\/>()/dgv,endCaptures:{"0":{patterns:[{include:"#tags-end-node"}]}},name:"meta.scope.tag.$1.astro meta.$1.astro",patterns:[{begin:/(?=\p{space}*[^\>]*?(type|lang)\p{space}*=\p{space}*(["']|)(?:text\/)?(application\/ld\+json)\2)/dgvy,end:/(?=<\/|\/>)/dgv,name:"meta.lang.json.astro",patterns:[{include:"#tags-lang-start-attributes"}]},{begin:/(?=\p{space}*[^\>]*?(type|lang)\p{space}*=\p{space}*(["']|)(module)\2)/dgvy,end:/(?=<\/|\/>)/dgv,name:"meta.lang.javascript.astro",patterns:[{include:"#tags-lang-start-attributes"}]},{begin:/(?=\p{space}*[^\>]*?(type|lang)\p{space}*=\p{space}*(["']|)(?:text\/|application\/)?([\+\/\p{L}\p{M}\p{N}\p{Pc}]+)\2)/dgvy,end:/(?=<\/|\/>)/dgv,name:"meta.lang.$3.astro",patterns:[{include:"#tags-lang-start-attributes"}]},{include:"#tags-lang-start-attributes"}]},"tags-lang-start-attributes":{begin:/(?:)/dgv,end:/(?=\/>)|>/dgv,endCaptures:{"0":{name:"punctuation.definition.tag.end.astro"}},name:"meta.tag.start.astro",patterns:[{include:"#attributes"}]},"tags-name":{patterns:[{match:/[A-Z][0-9A-Z_a-z]*/dgv,name:"support.class.component.astro"},{match:/[a-z][0-\:\p{L}\p{M}\p{N}\p{Pc}]*-[\-0-\:\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"meta.tag.custom.astro entity.name.tag.astro"},{match:/[a-z][\-0-\:\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"entity.name.tag.astro"}]},"tags-raw":{begin:/<([^\!\/\<\>\?\p{space}]+)(?=[^\>]+is:raw)[^\n]*?/dgv,beginCaptures:{"0":{patterns:[{include:"#tags-start-node"}]}},contentName:"source.unknown",end:/<\/\1\p{space}*>|\/>()/dgv,endCaptures:{"0":{patterns:[{include:"#tags-end-node"}]}},name:"meta.scope.tag.$1.astro meta.raw.astro",patterns:[{include:"#tags-lang-start-attributes"}]},"tags-start-attributes":{begin:/(?:)/dgv,end:/(?=\/?>)/dgv,name:"meta.tag.start.astro",patterns:[{include:"#attributes"}]},"tags-start-node":{captures:{"1":{name:"punctuation.definition.tag.begin.astro"},"2":{patterns:[{include:"#tags-name"}]}},match:/(<)([^\/\>\p{space}]*)/dgv,name:"meta.tag.start.astro"},"tags-void":{begin:/(<)(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)(?=\p{space}|\/?>)/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.begin.astro"},"2":{name:"entity.name.tag.astro"}},end:/\/?>/dgv,endCaptures:{"0":{name:"punctuation.definition.tag.begin.astro"}},name:"meta.tag.void.astro",patterns:[{include:"#attributes"}]},text:{patterns:[{begin:/(?<=^|---|[\>\}])/dgv,end:/(?=[\<\{]|(?=\n?$))/dgv,name:"text.astro",patterns:[{include:"#entities"}]}]}},scopeName:"source.astro",embeddedLangs:["json","javascript","typescript","css","postcss"],aliases:undefined,embeddedLangsLazy:["stylus","sass","scss","less","tsx"]})
8
+ const lang = Object.freeze({displayName:"Astro",fileTypes:["astro"],injections:{"L:(meta.script.astro) (meta.lang.js | meta.lang.javascript | meta.lang.partytown | meta.lang.node) - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.js",end:/(?=<\/)/dgv,name:"meta.embedded.block.astro",patterns:[{include:"source.js"}]}]},"L:(meta.script.astro) (meta.lang.json) - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.json",end:/(?=<\/)/dgv,name:"meta.embedded.block.astro",patterns:[{include:"source.json"}]}]},"L:(meta.script.astro) (meta.lang.ts | meta.lang.typescript) - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.ts",end:/(?=<\/)/dgv,name:"meta.embedded.block.astro",patterns:[{include:"source.ts"}]}]},"L:meta.script.astro - meta.lang - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.js",end:/(?=<\/)/dgv,name:"meta.embedded.block.astro",patterns:[{include:"source.js"}]}]},"L:meta.style.astro - meta.lang - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.css",end:/(?=<\/)/dgv,name:"meta.embedded.block.astro",patterns:[{include:"source.css"}]}]},"L:meta.style.astro meta.lang.css - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.css",end:/(?=<\/)/dgv,name:"meta.embedded.block.astro",patterns:[{include:"source.css"}]}]},"L:meta.style.astro meta.lang.less - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.css.less",end:/(?=<\/)/dgv,name:"meta.embedded.block.astro",patterns:[{include:"source.css.less"}]}]},"L:meta.style.astro meta.lang.postcss - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.css.postcss",end:/(?=<\/)/dgv,name:"meta.embedded.block.astro",patterns:[{include:"source.css.postcss"}]}]},"L:meta.style.astro meta.lang.sass - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.sass",end:/(?=<\/)/dgv,name:"meta.embedded.block.astro",patterns:[{include:"source.sass"}]}]},"L:meta.style.astro meta.lang.scss - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.css.scss",end:/(?=<\/)/dgv,name:"meta.embedded.block.astro",patterns:[{include:"source.css.scss"}]}]},"L:meta.style.astro meta.lang.stylus - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.stylus",end:/(?=<\/)/dgv,name:"meta.embedded.block.astro",patterns:[{include:"source.stylus"}]}]}},name:"astro",patterns:[{include:"#scope"},{include:"#frontmatter"},{include:"#text"}],repository:{"attribute-literal":{begin:/(`)/dgv,end:/\1()/dgv,name:"string.template.astro",patterns:[{include:"source.tsx#template-substitution-element"},{include:"source.tsx#string-character-escape"}]},attributes:{patterns:[{include:"#attributes-events"},{include:"#attributes-keyvalue"},{include:"#attributes-interpolated"}]},"attributes-events":{begin:/(on(s(croll|t(orage|alled)|u(spend|bmit)|e(curitypolicyviolation|ek(ing|ed)|lect))|hashchange|c(hange|o(ntextmenu|py)|u(t|echange)|l(ick|ose)|an(cel|play(through)?))|t(imeupdate|oggle)|in(put|valid)|o((?:n|ff)line)|d(urationchange|r(op|ag(start|over|e(n(ter|d)|xit)|leave)?)|blclick)|un(handledrejection|load)|p(opstate|lay(ing)?|a(ste|use|ge(show|hide))|rogress)|e(nded|rror|mptied)|volumechange|key(down|up|press)|focus|w(heel|aiting)|l(oad(start|e(nd|d((?:|meta)data)))?|anguagechange)|a(uxclick|fterprint|bort)|r(e(s(ize|et)|jectionhandled)|atechange)|m(ouse(o(ut|ver)|down|up|enter|leave|move)|essage(error)?)|b(efore(unload|print)|lur)))(?![\-\:\\w])/dgv,beginCaptures:{"0":{patterns:[{match:/[^\n]*/dgv,name:"entity.other.attribute-name.astro"}]}},end:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{"hiddenCaptures":[1]}),name:"meta.attribute.$1.astro",patterns:[{begin:/=/dgv,beginCaptures:{"0":{name:"punctuation.separator.key-value.astro"}},end:/(?<=[^\=\p{space}])(?!\p{space}*=)|(?=\/?>)/dgv,patterns:[{include:"#interpolation"},{include:"#attribute-literal"},{begin:/(?=[^\/\<\=\>\`\p{space}]|\/(?!>))/dgv,end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),name:"meta.embedded.line.js",patterns:[{captures:{"0":{name:"source.js"},"1":{patterns:[{include:"source.js"}]}},match:/(([^"'\/\<\=\>\`\p{space}]|\/(?!>))+)/dgv,name:"string.unquoted.astro"},{begin:/(")/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.astro"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.astro"}},name:"string.quoted.astro",patterns:[{captures:{"0":{patterns:[{include:"source.js"}]}},match:/([^\n"\/]|\/(?![\*\/]))+/dgv},{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.js"}},end:/(?=")|\n/dgv,name:"comment.line.double-slash.js"},{begin:/\/\*/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.js"}},end:/(?=")|\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.js"}},name:"comment.block.js"}]},{begin:/(')/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.astro"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.astro"}},name:"string.quoted.astro",patterns:[{captures:{"0":{patterns:[{include:"source.js"}]}},match:/([^\n'\/]|\/(?![\*\/]))+/dgv},{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.js"}},end:/(?=')|\n/dgv,name:"comment.line.double-slash.js"},{begin:/\/\*/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.js"}},end:/(?=')|\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.js"}},name:"comment.block.js"}]}]}]}]},"attributes-interpolated":{begin:/(?<![\:\=])\p{space}*(\{)/dgv,contentName:"meta.embedded.expression.astro source.tsx",end:/(\})/dgv,patterns:[{include:"source.tsx"}]},"attributes-keyvalue":{begin:/([\$\@_\p{Alpha}][\-\$\.\:_\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{"0":{patterns:[{match:/[^\n]*/dgv,name:"entity.other.attribute-name.astro"}]}},end:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{"hiddenCaptures":[1]}),name:"meta.attribute.$1.astro",patterns:[{begin:/=/dgv,beginCaptures:{"0":{name:"punctuation.separator.key-value.astro"}},end:/(?<=[^\=\p{space}])(?!\p{space}*=)|(?=\/?>)/dgv,patterns:[{include:"#attributes-value"}]}]},"attributes-value":{patterns:[{include:"#interpolation"},{match:/([^"'\/\<\=\>\`\p{space}]|\/(?!>))+/dgv,name:"string.unquoted.astro"},{begin:/(["'])/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.astro"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.astro"}},name:"string.quoted.astro"},{include:"#attribute-literal"}]},comments:{begin:/<!--/dgv,captures:{"0":{name:"punctuation.definition.comment.astro"}},end:/-->/dgv,name:"comment.block.astro",patterns:[{match:/*@__PURE__*/ new EmulatedRegExp("^-?>|<!--(?!>)|<!-(?=-->)|--!>","dgv",{"strategy":"clip_search"}),name:"invalid.illegal.characters-not-allowed-here.astro"}]},entities:{patterns:[{captures:{"1":{name:"punctuation.definition.entity.astro"},"912":{name:"punctuation.definition.entity.astro"}},match:/*@__PURE__*/ new EmulatedRegExp("(&)(?=[A-Za-z])((a(s(ymp(eq)?|cr|t)|n(d(slope|[dv]|and)?|g(s(t|ph)|zarr|e|le|rt(vb(d)?)?|msd(a([a-h]))?)?)|c(y|irc|d|ute|E)?|tilde|o(pf|gon)|uml|p(id|os|prox(eq)?|[Ee]|acir)?|elig|f(r)?|w((?:con|)int)|l(pha|e(ph|fsym))|acute|ring|grave|m(p|a(cr|lg))|breve)|A(s(sign|cr)|nd|MP|c(y|irc)|tilde|o(pf|gon)|uml|pplyFunction|fr|Elig|lpha|acute|ring|grave|macr|breve))|(B(scr|cy|opf|umpeq|e(cause|ta|rnoullis)|fr|a(ckslash|r(v|wed))|reve)|b(s(cr|im(e)?|ol(hsub|b)?|emi)|n(ot|e(quiv)?)|c(y|ong)|ig(s(tar|qcup)|c(irc|up|ap)|triangle(down|up)|o(times|dot|plus)|uplus|vee|wedge)|o(t(tom)?|pf|wtie|x(h([DUdu])?|times|H([DUdu])?|d([LRlr])|u([LRlr])|plus|D([LRlr])|v([HLRhlr])?|U([LRlr])|V([HLRhlr])?|minus|box))|Not|dquo|u(ll(et)?|mp(e(q)?|E)?)|prime|e(caus(e)?|t(h|ween|a)|psi|rnou|mptyv)|karow|fr|l(ock|k(1([24])|34)|a(nk|ck(square|triangle(down|left|right)?|lozenge)))|a(ck(sim(eq)?|cong|prime|epsilon)|r(vee|wed(ge)?))|r(eve|vbar)|brk(tbrk)?))|(c(s(cr|u(p(e)?|b(e)?))|h(cy|i|eck(mark)?)|ylcty|c(irc|ups(sm)?|edil|a(ps|ron))|tdot|ir(scir|c(eq|le(d(R|circ|S|dash|ast)|arrow(left|right)))?|e|fnint|E|mid)?|o(n(int|g(dot)?)|p(y(sr)?|f|rod)|lon(e(q)?)?|m(p(fn|le(xes|ment))?|ma(t)?))|dot|u(darr([lr])|p(s|c([au]p)|or|dot|brcap)?|e(sc|pr)|vee|wed|larr(p)?|r(vearrow(left|right)|ly(eq(succ|prec)|vee|wedge)|arr(m)?|ren))|e(nt(erdot)?|dil|mptyv)|fr|w((?:con|)int)|lubs(uit)?|a(cute|p(s|c([au]p)|dot|and|brcup)?|r(on|et))|r(oss|arr))|C(scr|hi|c(irc|onint|edil|aron)|ircle(Minus|Times|Dot|Plus)|Hcy|o(n(tourIntegral|int|gruent)|unterClockwiseContourIntegral|p(f|roduct)|lon(e)?)|dot|up(Cap)?|OPY|e(nterDot|dilla)|fr|lo(seCurly((?:Double|)Quote)|ckwiseContourIntegral)|a(yleys|cute|p(italDifferentialD)?)|ross))|(d(s(c([ry])|trok|ol)|har([lr])|c(y|aron)|t(dot|ri(f)?)|i(sin|e|v(ide(ontimes)?|onx)?|am(s|ond(suit)?)?|gamma)|Har|z(cy|igrarr)|o(t(square|plus|eq(dot)?|minus)?|ublebarwedge|pf|wn(harpoon(left|right)|downarrows|arrow)|llar)|d(otseq|a(rr|gger))?|u(har|arr)|jcy|e(lta|g|mptyv)|f(isht|r)|wangle|lc(orn|rop)|a(sh(v)?|leth|rr|gger)|r(c(orn|rop)|bkarow)|b(karow|lac)|Arr)|D(s(cr|trok)|c(y|aron)|Scy|i(fferentialD|a(critical(Grave|Tilde|Do(t|ubleAcute)|Acute)|mond))|o(t(Dot|Equal)?|uble(Right(Tee|Arrow)|ContourIntegral|Do(t|wnArrow)|Up((?:Down|)Arrow)|VerticalBar|L(ong(RightArrow|Left((?:Right|)Arrow))|eft(RightArrow|Tee|Arrow)))|pf|wn(Right(TeeVector|Vector(Bar)?)|Breve|Tee(Arrow)?|arrow|Left(RightVector|TeeVector|Vector(Bar)?)|Arrow(Bar|UpArrow)?))|Zcy|el(ta)?|D(otrahd)?|Jcy|fr|a(shv|rr|gger)))|(e(s(cr|im|dot)|n(sp|g)|c(y|ir(c)?|olon|aron)|t([ah])|o(pf|gon)|dot|u(ro|ml)|p(si(v|lon)?|lus|ar(sl)?)|e|D(D??ot)|q(s(im|lant(less|gtr))|c(irc|olon)|u(iv(DD)?|est|als)|vparsl)|f(Dot|r)|l(s(dot)?|inters|l)?|a(ster|cute)|r(Dot|arr)|g(s(dot)?|rave)?|x(cl|ist|p(onentiale|ectation))|m(sp(1([34]))?|pty(set|v)?|acr))|E(s(cr|im)|c(y|irc|aron)|ta|o(pf|gon)|NG|dot|uml|TH|psilon|qu(ilibrium|al(Tilde)?)|fr|lement|acute|grave|x(ists|ponentialE)|m(pty((?:|Very)SmallSquare)|acr)))|(f(scr|nof|cy|ilig|o(pf|r(k(v)?|all))|jlig|partint|emale|f(ilig|l(l??ig)|r)|l(tns|lig|at)|allingdotseq|r(own|a(sl|c(1([2-68])|78|2([35])|3([458])|45|5([68])))))|F(scr|cy|illed((?:|Very)SmallSquare)|o(uriertrf|pf|rAll)|fr))|(G(scr|c(y|irc|edil)|t|opf|dot|T|Jcy|fr|amma(d)?|reater(Greater|SlantEqual|Tilde|Equal(Less)?|FullEqual|Less)|g|breve)|g(s(cr|im([el])?)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|irc)|t(c(c|ir)|dot|quest|lPar|r(sim|dot|eq(q?less)|less|a(pprox|rr)))?|imel|opf|dot|jcy|e(s(cc|dot(o(l)?)?|l(es)?)?|q(slant|q)?|l)?|v(nE|ertneqq)|fr|E(l)?|l([Eaj])?|a(cute|p|mma(d)?)|rave|g(g)?|breve))|(h(s(cr|trok|lash)|y(phen|bull)|circ|o(ok((?:lef|righ)tarrow)|pf|arr|rbar|mtht)|e(llip|arts(uit)?|rcon)|ks([ew]arow)|fr|a(irsp|lf|r(dcy|r(cir|w)?)|milt)|bar|Arr)|H(s(cr|trok)|circ|ilbertSpace|o(pf|rizontalLine)|ump(DownHump|Equal)|fr|a(cek|t)|ARDcy))|(i(s(cr|in(s(v)?|dot|[Ev])?)|n(care|t(cal|prod|e(rcal|gers)|larhk)?|odot|fin(tie)?)?|c(y|irc)?|t(ilde)?|i(nfin|i(i??nt)|ota)?|o(cy|ta|pf|gon)|u(kcy|ml)|jlig|prod|e(cy|xcl)|quest|f([fr])|acute|grave|m(of|ped|a(cr|th|g(part|e|line))))|I(scr|n(t(e(rsection|gral))?|visible(Comma|Times))|c(y|irc)|tilde|o(ta|pf|gon)|dot|u(kcy|ml)|Ocy|Jlig|fr|Ecy|acute|grave|m(plies|a(cr|ginaryI))?))|(j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))|(k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))|(l(s(h|cr|trok|im([eg])?|q(uo(r)?|b)|aquo)|h(ar(d|u(l)?)|blk)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|ub|e(d??il)|aron)|Barr|t(hree|c(c|ir)|imes|dot|quest|larr|r(i([ef])?|Par))?|Har|o(ng(left((?:|right)arrow)|rightarrow|mapsto)|times|z(enge|f)?|oparrow(left|right)|p(f|lus|ar)|w(ast|bar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|r((?:d|us)har))|ur((?:ds|u)har)|jcy|par(lt)?|e(s(s(sim|dot|eq(q?gtr)|approx|gtr)|cc|dot(o(r)?)?|g(es)?)?|q(slant|q)?|ft(harpoon(down|up)|threetimes|leftarrows|arrow(tail)?|right(squigarrow|harpoons|arrow(s)?))|g)?|v(nE|ertneqq)|f(isht|loor|r)|E(g)?|l(hard|corner|tri|arr)?|a(ng(d|le)?|cute|t(e(s)?|ail)?|p|emptyv|quo|rr(sim|hk|tl|pl|fs|lp|b(fs)?)?|gran|mbda)|r(har(d)?|corner|tri|arr|m)|g(E)?|m(idot|oust(ache)?)|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr))|L(s(h|cr|trok)|c(y|edil|aron)|t|o(ng(RightArrow|left((?:|right)arrow)|rightarrow|Left((?:Right|)Arrow))|pf|wer((?:Righ|Lef)tArrow))|T|e(ss(Greater|SlantEqual|Tilde|EqualGreater|FullEqual|Less)|ft(Right(Vector|Arrow)|Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|rightarrow|Floor|A(ngleBracket|rrow(RightArrow|Bar)?)))|Jcy|fr|l(eftarrow)?|a(ng|cute|placetrf|rr|mbda)|midot))|(M(scr|cy|inusPlus|opf|u|e(diumSpace|llintrf)|fr|ap)|m(s(cr|tpos)|ho|nplus|c(y|omma)|i(nus(d(u)?|b)?|cro|d(cir|dot|ast)?)|o(dels|pf)|dash|u((?:lti|)map)?|p|easuredangle|DDot|fr|l(cp|dr)|a(cr|p(sto(down|up|left)?)?|l(t(ese)?|e)|rker)))|(n(s(hort(parallel|mid)|c(cue|[er])?|im(e(q)?)?|u(cc(eq)?|p(set(eq(q)?)?|[Ee])?|b(set(eq(q)?)?|[Ee])?)|par|qsu([bp]e)|mid)|Rightarrow|h(par|arr|Arr)|G(t(v)?|g)|c(y|ong(dot)?|up|edil|a(p|ron))|t(ilde|lg|riangle(left(eq)?|right(eq)?)|gl)|i(s(d)?|v)?|o(t(ni(v([abc]))?|in(dot|v([abc])|E)?)?|pf)|dash|u(m(sp|ero)?)?|jcy|p(olint|ar(sl|t|allel)?|r(cue|e(c(eq)?)?)?)|e(s(im|ear)|dot|quiv|ar(hk|r(ow)?)|xist(s)?|Arr)?|v(sim|infin|Harr|dash|Dash|l(t(rie)?|e|Arr)|ap|r(trie|Arr)|g([et]))|fr|w(near|ar(hk|r(ow)?)|Arr)|V([Dd]ash)|l(sim|t(ri(e)?)?|dr|e(s(s)?|q(slant|q)?|ft((?:|right)arrow))?|E|arr|Arr)|a(ng|cute|tur(al(s)?)?|p(id|os|prox|E)?|bla)|r(tri(e)?|ightarrow|arr([cw])?|Arr)|g(sim|t(r)?|e(s|q(slant|q)?)?|E)|mid|L(t(v)?|eft((?:|right)arrow)|l)|b(sp|ump(e)?))|N(scr|c(y|edil|aron)|tilde|o(nBreakingSpace|Break|t(R(ightTriangle(Bar|Equal)?|everseElement)|Greater(Greater|SlantEqual|Tilde|Equal|FullEqual|Less)?|S(u(cceeds(SlantEqual|Tilde|Equal)?|perset(Equal)?|bset(Equal)?)|quareSu(perset(Equal)?|bset(Equal)?))|Hump(DownHump|Equal)|Nested(GreaterGreater|LessLess)|C(ongruent|upCap)|Tilde(Tilde|Equal|FullEqual)?|DoubleVerticalBar|Precedes((?:Slant|)Equal)?|E(qual(Tilde)?|lement|xists)|VerticalBar|Le(ss(Greater|SlantEqual|Tilde|Equal|Less)?|ftTriangle(Bar|Equal)?))?|pf)|u|e(sted(GreaterGreater|LessLess)|wLine|gative(MediumSpace|Thi((?:n|ck)Space)|VeryThinSpace))|Jcy|fr|acute))|(o(s(cr|ol|lash)|h(m|bar)|c(y|ir(c)?)|ti(lde|mes(as)?)|S|int|opf|d(sold|iv|ot|ash|blac)|uml|p(erp|lus|ar)|elig|vbar|f(cir|r)|l(c(ir|ross)|t|ine|arr)|a(st|cute)|r(slope|igof|or|d(er(of)?|[fm])?|v|arr)?|g(t|on|rave)|m(i(nus|cron|d)|ega|acr))|O(s(cr|lash)|c(y|irc)|ti(lde|mes)|opf|dblac|uml|penCurly((?:Double|)Quote)|ver(B(ar|rac(e|ket))|Parenthesis)|fr|Elig|acute|r|grave|m(icron|ega|acr)))|(p(s(cr|i)|h(i(v)?|one|mmat)|cy|i(tchfork|v)?|o(intint|und|pf)|uncsp|er(cnt|tenk|iod|p|mil)|fr|l(us(sim|cir|two|d([ou])|e|acir|mn|b)?|an(ck(h)?|kv))|ar(s(im|l)|t|a(llel)?)?|r(sim|n(sim|E|ap)|cue|ime(s)?|o(d|p(to)?|f(surf|line|alar))|urel|e(c(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?)?|E|ap)?|m)|P(s(cr|i)|hi|cy|i|o(incareplane|pf)|fr|lusMinus|artialD|r(ime|o(duct|portion(al)?)|ecedes(SlantEqual|Tilde|Equal)?)?))|(q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))|(R(s(h|cr)|ho|c(y|edil|aron)|Barr|ight(Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|Floor|A(ngleBracket|rrow(Bar|LeftArrow)?))|o(undImplies|pf)|uleDelayed|e(verse(UpEquilibrium|E(quilibrium|lement)))?|fr|EG|a(ng|cute|rr(tl)?)|rightarrow)|r(s(h|cr|q(uo(r)?|b)|aquo)|h(o(v)?|ar(d|u(l)?))|nmid|c(y|ub|e(d??il)|aron)|Barr|t(hree|imes|ri([ef]|ltri)?)|i(singdotseq|ng|ght(squigarrow|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(tail)?|rightarrows))|Har|o(times|p(f|lus|ar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|ldhar)|uluhar|p(polint|ar(gt)?)|e(ct|al(s|ine|part)?|g)|f(isht|loor|r)|l(har|arr|m)|a(ng([de]|le)?|c(ute|e)|t(io(nals)?|ail)|dic|emptyv|quo|rr(sim|hk|c|tl|pl|fs|w|lp|ap|b(fs)?)?)|rarr|x|moust(ache)?|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr)))|(s(s(cr|tarf|etmn|mile)|h(y|c(hcy|y)|ort(parallel|mid)|arp)|c(sim|y|n(sim|E|ap)|cue|irc|polint|e(dil)?|E|a(p|ron))?|t(ar(f)?|r(ns|aight(phi|epsilon)))|i(gma([fv])?|m(ne|dot|plus|e(q)?|l(E)?|rarr|g(E)?)?)|zlig|o(pf|ftcy|l(b(ar)?)?)|dot([be])?|u(ng|cc(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?|p(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|hs(ol|ub)|1|n([Ee])|2|d(sub|ot)|3|plus|e(dot)?|E|larr|mult)?|m|b(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|n([Ee])|dot|plus|e(dot)?|E|rarr|mult)?)|pa(des(uit)?|r)|e(swar|ct|tm(n|inus)|ar(hk|r(ow)?)|xt|mi|Arr)|q(su(p(set(eq)?|e)?|b(set(eq)?|e)?)|c(up(s)?|ap(s)?)|u(f|ar([ef]))?)|fr(own)?|w(nwar|ar(hk|r(ow)?)|Arr)|larr|acute|rarr|m(t(e(s)?)?|i(d|le)|eparsl|a(shp|llsetminus))|bquo)|S(scr|hort((?:Right|Down|Up|Left)Arrow)|c(y|irc|edil|aron)?|tar|igma|H(cy|CHcy)|opf|u(c(hThat|ceeds(SlantEqual|Tilde|Equal)?)|p(set|erset(Equal)?)?|m|b(set(Equal)?)?)|OFTcy|q(uare(Su(perset(Equal)?|bset(Equal)?)|Intersection|Union)?|rt)|fr|acute|mallCircle))|(t(s(hcy|c([ry])|trok)|h(i(nsp|ck(sim|approx))|orn|e(ta(sym|v)?|re(4|fore))|k(sim|ap))|c(y|edil|aron)|i(nt|lde|mes(d|b(ar)?)?)|o(sa|p(cir|f(ork)?|bot)?|ea)|dot|prime|elrec|fr|w(ixt|ohead((?:lef|righ)tarrow))|a(u|rget)|r(i(sb|time|dot|plus|e|angle(down|q|left(eq)?|right(eq)?)?|minus)|pezium|ade)|brk)|T(s(cr|trok)|RADE|h(i((?:n|ck)Space)|e(ta|refore))|c(y|edil|aron)|S(H??cy)|ilde(Tilde|Equal|FullEqual)?|HORN|opf|fr|a([bu])|ripleDot))|(u(scr|h(ar([lr])|blk)|c(y|irc)|t(ilde|dot|ri(f)?)|Har|o(pf|gon)|d(har|arr|blac)|u(arr|ml)|p(si(h|lon)?|harpoon(left|right)|downarrow|uparrows|lus|arrow)|f(isht|r)|wangle|l(c(orn(er)?|rop)|tri)|a(cute|rr)|r(c(orn(er)?|rop)|tri|ing)|grave|m(l|acr)|br(cy|eve)|Arr)|U(scr|n(ion(Plus)?|der(B(ar|rac(e|ket))|Parenthesis))|c(y|irc)|tilde|o(pf|gon)|dblac|uml|p(si(lon)?|downarrow|Tee(Arrow)?|per((?:Righ|Lef)tArrow)|DownArrow|Equilibrium|arrow|Arrow(Bar|DownArrow)?)|fr|a(cute|rr(ocir)?)|ring|grave|macr|br(cy|eve)))|(v(s(cr|u(pn([Ee])|bn([Ee])))|nsu([bp])|cy|Bar(v)?|zigzag|opf|dash|prop|e(e(eq|bar)?|llip|r(t|bar))|Dash|fr|ltri|a(ngrt|r(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|t(heta|riangle(left|right))|p(hi|i|ropto)|epsilon|kappa|r(ho)?))|rtri|Arr)|V(scr|cy|opf|dash(l)?|e(e|r(yThinSpace|t(ical(Bar|Separator|Tilde|Line))?|bar))|Dash|vdash|fr|bar))|(w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))|(X(scr|i|opf|fr)|x(s(cr|qcup)|h([Aa]rr)|nis|c(irc|up|ap)|i|o(time|dot|p(f|lus))|dtri|u(tri|plus)|vee|fr|wedge|l([Aa]rr)|r([Aa]rr)|map))|(y(scr|c(y|irc)|icy|opf|u(cy|ml)|en|fr|ac(y|ute))|Y(scr|c(y|irc)|opf|uml|Icy|Ucy|fr|acute|Acy))|(z(scr|hcy|c(y|aron)|igrarr|opf|dot|e(ta|etrf)|fr|w(n?j)|acute)|Z(scr|c(y|aron)|Hcy|opf|dot|e(ta|roWidthSpace)|fr|acute)))(;)","dgv",{"lazyCompile":true}),name:"constant.character.entity.named.$2.astro"},{captures:{"1":{name:"punctuation.definition.entity.astro"},"3":{name:"punctuation.definition.entity.astro"}},match:/(&)#[0-9]+(;)/dgv,name:"constant.character.entity.numeric.decimal.astro"},{captures:{"1":{name:"punctuation.definition.entity.astro"},"3":{name:"punctuation.definition.entity.astro"}},match:/(&)#[Xx]\p{AHex}+(;)/dgv,name:"constant.character.entity.numeric.hexadecimal.astro"},{match:/&(?=[0-9A-Za-z]+;)/dgv,name:"invalid.illegal.ambiguous-ampersand.astro"}]},frontmatter:{begin:/^(-{3})\p{space}*(?=\n?$)/dgv,beginCaptures:{"1":{name:"comment"}},contentName:"source.ts",end:/*@__PURE__*/ new EmulatedRegExp("(^|^)(-{3})|\\.{3}\\p{space}*(?=\\n?$)","dgv",{"strategy":"clip_search"}),endCaptures:{"2":{name:"comment"}},patterns:[{include:"source.ts"}]},interpolation:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.embedded.begin.astro"}},contentName:"meta.embedded.expression.astro source.tsx",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.astro"}},patterns:[{begin:/\p{space}*(?=\{)/dgvy,end:/(?<=\})/dgv,patterns:[{include:"source.tsx#object-literal"}]},{include:"source.tsx"}]}]},scope:{patterns:[{include:"#comments"},{include:"#tags"},{include:"#interpolation"},{include:"#entities"}]},tags:{patterns:[{include:"#tags-raw"},{include:"#tags-lang"},{include:"#tags-void"},{include:"#tags-general-end"},{include:"#tags-general-start"}]},"tags-end-node":{captures:{"1":{name:"meta.tag.end.astro punctuation.definition.tag.begin.astro"},"2":{name:"meta.tag.end.astro",patterns:[{include:"#tags-name"}]},"3":{name:"meta.tag.end.astro punctuation.definition.tag.end.astro"},"4":{name:"meta.tag.start.astro punctuation.definition.tag.end.astro"}},match:/(<\/)([^\n]*?)\p{space}*(>)|(\/>)/dgv},"tags-general-end":{begin:/(<\/)([^\/\>\p{space}]*)/dgv,beginCaptures:{"1":{name:"meta.tag.end.astro punctuation.definition.tag.begin.astro"},"2":{name:"meta.tag.end.astro",patterns:[{include:"#tags-name"}]}},end:/(>)/dgv,endCaptures:{"1":{name:"meta.tag.end.astro punctuation.definition.tag.end.astro"}},name:"meta.scope.tag.$2.astro"},"tags-general-start":{begin:/(<)([^\/\>\p{space}]*)/dgv,beginCaptures:{"0":{patterns:[{include:"#tags-start-node"}]}},end:/(\/?>)/dgv,endCaptures:{"1":{name:"meta.tag.start.astro punctuation.definition.tag.end.astro"}},name:"meta.scope.tag.$2.astro",patterns:[{include:"#tags-start-attributes"}]},"tags-lang":{begin:/<(s(?:cript|tyle))/dgv,beginCaptures:{"0":{patterns:[{include:"#tags-start-node"}]}},end:/<\/\1\p{space}*>|\/>()/dgv,endCaptures:{"0":{patterns:[{include:"#tags-end-node"}]}},name:"meta.scope.tag.$1.astro meta.$1.astro",patterns:[{begin:/(?=\p{space}*[^\>]*?(type|lang)\p{space}*=\p{space}*(["']?)(?:text\/)?(application\/ld\+json)\2)/dgvy,end:/(?=<\/|\/>)/dgv,name:"meta.lang.json.astro",patterns:[{include:"#tags-lang-start-attributes"}]},{begin:/(?=\p{space}*[^\>]*?(type|lang)\p{space}*=\p{space}*(["']?)(module)\2)/dgvy,end:/(?=<\/|\/>)/dgv,name:"meta.lang.javascript.astro",patterns:[{include:"#tags-lang-start-attributes"}]},{begin:/(?=\p{space}*[^\>]*?(type|lang)\p{space}*=\p{space}*(["']?)(?:text\/|application\/)?([\+\/\p{L}\p{M}\p{N}\p{Pc}]+)\2)/dgvy,end:/(?=<\/|\/>)/dgv,name:"meta.lang.$3.astro",patterns:[{include:"#tags-lang-start-attributes"}]},{include:"#tags-lang-start-attributes"}]},"tags-lang-start-attributes":{begin:/(?:)/dgv,end:/(?=\/>)|>/dgv,endCaptures:{"0":{name:"punctuation.definition.tag.end.astro"}},name:"meta.tag.start.astro",patterns:[{include:"#attributes"}]},"tags-name":{patterns:[{match:/[A-Z][0-9A-Z_a-z]*/dgv,name:"support.class.component.astro"},{match:/[a-z][0-\:\p{L}\p{M}\p{N}\p{Pc}]*-[\-0-\:\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"meta.tag.custom.astro entity.name.tag.astro"},{match:/[a-z][\-0-\:\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"entity.name.tag.astro"}]},"tags-raw":{begin:/<([^\!\/\<\>\?\p{space}]+)(?=[^\>]+is:raw)[^\n]*?/dgv,beginCaptures:{"0":{patterns:[{include:"#tags-start-node"}]}},contentName:"source.unknown",end:/<\/\1\p{space}*>|\/>()/dgv,endCaptures:{"0":{patterns:[{include:"#tags-end-node"}]}},name:"meta.scope.tag.$1.astro meta.raw.astro",patterns:[{include:"#tags-lang-start-attributes"}]},"tags-start-attributes":{begin:/(?:)/dgv,end:/(?=\/?>)/dgv,name:"meta.tag.start.astro",patterns:[{include:"#attributes"}]},"tags-start-node":{captures:{"1":{name:"punctuation.definition.tag.begin.astro"},"2":{patterns:[{include:"#tags-name"}]}},match:/(<)([^\/\>\p{space}]*)/dgv,name:"meta.tag.start.astro"},"tags-void":{begin:/(<)(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)(?=\p{space}|\/?>)/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.begin.astro"},"2":{name:"entity.name.tag.astro"}},end:/\/?>/dgv,endCaptures:{"0":{name:"punctuation.definition.tag.begin.astro"}},name:"meta.tag.void.astro",patterns:[{include:"#attributes"}]},text:{patterns:[{begin:/(?<=^|---|[\>\}])/dgv,end:/(?=[\<\{]|(?=\n?$))/dgv,name:"text.astro",patterns:[{include:"#entities"}]}]}},scopeName:"source.astro",embeddedLangs:["json","javascript","typescript","css","postcss"],aliases:undefined,embeddedLangsLazy:["stylus","sass","scss","less","tsx"]})
9
9
 
10
10
  export default [
11
11
  ...json,
package/dist/awk.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"AWK",fileTypes:["awk"],name:"awk",patterns:[{include:"#comment"},{include:"#procedure"},{include:"#pattern"}],repository:{"builtin-pattern":{match:/\b(BEGINFILE|BEGIN|ENDFILE|END)\b/dgv,name:"constant.language.awk"},command:{patterns:[{match:/\b(?:next|print|printf)\b/dgv,name:"keyword.other.command.awk"},{match:/\b(?:close|getline|delete|system)\b/dgv,name:"keyword.other.command.nawk"},{match:/\b(?:fflush|nextfile)\b/dgv,name:"keyword.other.command.bell-awk"}]},comment:{match:/#[^\n]*/dgv,name:"comment.line.number-sign.awk"},constant:{patterns:[{include:"#numeric-constant"},{include:"#string-constant"}]},"escaped-char":{match:/\\(?:["\/\\abfnrtv]|x\p{AHex}{2}|[0-7]{3})/dgv,name:"constant.character.escape.awk"},expression:{patterns:[{include:"#command"},{include:"#function"},{include:"#constant"},{include:"#variable"},{include:"#regexp-in-expression"},{include:"#operator"},{include:"#groupings"}]},function:{patterns:[{match:/\b(?:exp|int|log|sqrt|index|length|split|sprintf|substr)\b/dgv,name:"support.function.awk"},{match:/\b(?:atan2|cos|rand|sin|srand|gsub|match|sub|tolower|toupper)\b/dgv,name:"support.function.nawk"},{match:/\b(?:gensub|strftime|systime)\b/dgv,name:"support.function.gawk"}]},"function-definition":{begin:/\b(function)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)(\()/dgv,beginCaptures:{"1":{name:"storage.type.function.awk"},"2":{name:"entity.name.function.awk"},"3":{name:"punctuation.definition.parameters.begin.awk"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.end.awk"}},patterns:[{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"variable.parameter.function.awk"},{match:/\b(,)\b/dgv,name:"punctuation.separator.parameters.awk"}]},groupings:{patterns:[{match:/\(/dgv,name:"meta.brace.round.awk"},{match:/\)/dgv,name:"meta.brace.round.awk"},{match:/,/dgv,name:"punctuation.separator.parameters.awk"}]},keyword:{match:/\b(?:break|continue|do|while|exit|for|if|else|return)\b/dgv,name:"keyword.control.awk"},"numeric-constant":{match:/\b[0-9]+(?:\.[0-9]+)?(?:e[\-\+][0-9]+)?\b/dgv,name:"constant.numeric.awk"},operator:{patterns:[{match:/(!?~|[\!\<\=\>]=|[\<\>])/dgv,name:"keyword.operator.comparison.awk"},{match:/\b(in)\b/dgv,name:"keyword.operator.comparison.awk"},{match:/([\-\%\*\+\/\^]=|\+\+|--|>>|=)/dgv,name:"keyword.operator.assignment.awk"},{match:/(\|\||&&|!)/dgv,name:"keyword.operator.boolean.awk"},{match:/([\-\%\*\+\/\^])/dgv,name:"keyword.operator.arithmetic.awk"},{match:/([\:\?])/dgv,name:"keyword.operator.trinary.awk"},{match:/([\]\[])/dgv,name:"keyword.operator.index.awk"}]},pattern:{patterns:[{include:"#regexp-as-pattern"},{include:"#function-definition"},{include:"#builtin-pattern"},{include:"#expression"}]},procedure:{begin:/\{/dgv,end:/\}/dgv,patterns:[{include:"#comment"},{include:"#procedure"},{include:"#keyword"},{include:"#expression"}]},"regex-as-assignment":{begin:/([^\-\!\%\*\+\/\<\=\>\^]=)\p{space}*(\/)/dgv,beginCaptures:{"1":{name:"keyword.operator.assignment.awk"},"2":{name:"punctuation.definition.regex.begin.awk"}},contentName:"string.regexp",end:/\//dgv,endCaptures:{"0":{name:"punctuation.definition.regex.end.awk"}},patterns:[{include:"source.regexp"}]},"regex-as-comparison":{begin:/(!?~)\p{space}*(\/)/dgv,beginCaptures:{"1":{name:"keyword.operator.comparison.awk"},"2":{name:"punctuation.definition.regex.begin.awk"}},contentName:"string.regexp",end:/\//dgv,endCaptures:{"0":{name:"punctuation.definition.regex.end.awk"}},patterns:[{include:"source.regexp"}]},"regex-as-first-argument":{begin:/(\()\p{space}*(\/)/dgv,beginCaptures:{"1":{name:"meta.brace.round.awk"},"2":{name:"punctuation.definition.regex.begin.awk"}},contentName:"string.regexp",end:/\//dgv,endCaptures:{"0":{name:"punctuation.definition.regex.end.awk"}},patterns:[{include:"source.regexp"}]},"regex-as-nth-argument":{begin:/(,)\p{space}*(\/)/dgv,beginCaptures:{"1":{name:"punctuation.separator.parameters.awk"},"2":{name:"punctuation.definition.regex.begin.awk"}},contentName:"string.regexp",end:/\//dgv,endCaptures:{"0":{name:"punctuation.definition.regex.end.awk"}},patterns:[{include:"source.regexp"}]},"regexp-as-pattern":{begin:/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.regex.begin.awk"}},contentName:"string.regexp",end:/\//dgv,endCaptures:{"0":{name:"punctuation.definition.regex.end.awk"}},patterns:[{include:"source.regexp"}]},"regexp-in-expression":{patterns:[{include:"#regex-as-assignment"},{include:"#regex-as-comparison"},{include:"#regex-as-first-argument"},{include:"#regex-as-nth-argument"}]},"string-constant":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.awk"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.awk"}},name:"string.quoted.double.awk",patterns:[{include:"#escaped-char"}]},variable:{patterns:[{match:/\$[0-9]+/dgv,name:"variable.language.awk"},{match:/\b(?:FILENAME|FS|NF|NR|OFMT|OFS|ORS|RS)\b/dgv,name:"variable.language.awk"},{match:/\b(?:ARGC|ARGV|CONVFMT|ENVIRON|FNR|RLENGTH|RSTART|SUBSEP)\b/dgv,name:"variable.language.nawk"},{match:/\b(?:ARGIND|ERRNO|FIELDWIDTHS|IGNORECASE|RT)\b/dgv,name:"variable.language.gawk"}]}},scopeName:"source.awk",embeddedLangs:undefined,aliases:undefined})
1
+ const lang = Object.freeze({displayName:"AWK",fileTypes:["awk"],name:"awk",patterns:[{include:"#comment"},{include:"#procedure"},{include:"#pattern"}],repository:{"builtin-pattern":{match:/\b(BEGINFILE|BEGIN|ENDFILE|END)\b/dgv,name:"constant.language.awk"},command:{patterns:[{match:/\b(?:next|printf??)\b/dgv,name:"keyword.other.command.awk"},{match:/\b(?:close|getline|delete|system)\b/dgv,name:"keyword.other.command.nawk"},{match:/\b(?:fflush|nextfile)\b/dgv,name:"keyword.other.command.bell-awk"}]},comment:{match:/#[^\n]*/dgv,name:"comment.line.number-sign.awk"},constant:{patterns:[{include:"#numeric-constant"},{include:"#string-constant"}]},"escaped-char":{match:/\\(?:["\/\\abfnrtv]|x\p{AHex}{2}|[0-7]{3})/dgv,name:"constant.character.escape.awk"},expression:{patterns:[{include:"#command"},{include:"#function"},{include:"#constant"},{include:"#variable"},{include:"#regexp-in-expression"},{include:"#operator"},{include:"#groupings"}]},function:{patterns:[{match:/\b(?:exp|int|log|sqrt|index|length|split|sprintf|substr)\b/dgv,name:"support.function.awk"},{match:/\b(?:atan2|cos|rand|sin|srand|gsub|match|sub|tolower|toupper)\b/dgv,name:"support.function.nawk"},{match:/\b(?:gensub|strftime|systime)\b/dgv,name:"support.function.gawk"}]},"function-definition":{begin:/\b(function)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)(\()/dgv,beginCaptures:{"1":{name:"storage.type.function.awk"},"2":{name:"entity.name.function.awk"},"3":{name:"punctuation.definition.parameters.begin.awk"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.end.awk"}},patterns:[{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"variable.parameter.function.awk"},{match:/\b(,)\b/dgv,name:"punctuation.separator.parameters.awk"}]},groupings:{patterns:[{match:/\(/dgv,name:"meta.brace.round.awk"},{match:/\)/dgv,name:"meta.brace.round.awk"},{match:/,/dgv,name:"punctuation.separator.parameters.awk"}]},keyword:{match:/\b(?:break|continue|do|while|exit|for|if|else|return)\b/dgv,name:"keyword.control.awk"},"numeric-constant":{match:/\b[0-9]+(?:\.[0-9]+)?(?:e[\-\+][0-9]+)?\b/dgv,name:"constant.numeric.awk"},operator:{patterns:[{match:/(!?~|[\!\<\=\>]=|[\<\>])/dgv,name:"keyword.operator.comparison.awk"},{match:/\b(in)\b/dgv,name:"keyword.operator.comparison.awk"},{match:/([\-\%\*\+\/\^]=|\+\+|--|>>|=)/dgv,name:"keyword.operator.assignment.awk"},{match:/(\|\||&&|!)/dgv,name:"keyword.operator.boolean.awk"},{match:/([\-\%\*\+\/\^])/dgv,name:"keyword.operator.arithmetic.awk"},{match:/([\:\?])/dgv,name:"keyword.operator.trinary.awk"},{match:/([\]\[])/dgv,name:"keyword.operator.index.awk"}]},pattern:{patterns:[{include:"#regexp-as-pattern"},{include:"#function-definition"},{include:"#builtin-pattern"},{include:"#expression"}]},procedure:{begin:/\{/dgv,end:/\}/dgv,patterns:[{include:"#comment"},{include:"#procedure"},{include:"#keyword"},{include:"#expression"}]},"regex-as-assignment":{begin:/([^\-\!\%\*\+\/\<\=\>\^]=)\p{space}*(\/)/dgv,beginCaptures:{"1":{name:"keyword.operator.assignment.awk"},"2":{name:"punctuation.definition.regex.begin.awk"}},contentName:"string.regexp",end:/\//dgv,endCaptures:{"0":{name:"punctuation.definition.regex.end.awk"}},patterns:[{include:"source.regexp"}]},"regex-as-comparison":{begin:/(!?~)\p{space}*(\/)/dgv,beginCaptures:{"1":{name:"keyword.operator.comparison.awk"},"2":{name:"punctuation.definition.regex.begin.awk"}},contentName:"string.regexp",end:/\//dgv,endCaptures:{"0":{name:"punctuation.definition.regex.end.awk"}},patterns:[{include:"source.regexp"}]},"regex-as-first-argument":{begin:/(\()\p{space}*(\/)/dgv,beginCaptures:{"1":{name:"meta.brace.round.awk"},"2":{name:"punctuation.definition.regex.begin.awk"}},contentName:"string.regexp",end:/\//dgv,endCaptures:{"0":{name:"punctuation.definition.regex.end.awk"}},patterns:[{include:"source.regexp"}]},"regex-as-nth-argument":{begin:/(,)\p{space}*(\/)/dgv,beginCaptures:{"1":{name:"punctuation.separator.parameters.awk"},"2":{name:"punctuation.definition.regex.begin.awk"}},contentName:"string.regexp",end:/\//dgv,endCaptures:{"0":{name:"punctuation.definition.regex.end.awk"}},patterns:[{include:"source.regexp"}]},"regexp-as-pattern":{begin:/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.regex.begin.awk"}},contentName:"string.regexp",end:/\//dgv,endCaptures:{"0":{name:"punctuation.definition.regex.end.awk"}},patterns:[{include:"source.regexp"}]},"regexp-in-expression":{patterns:[{include:"#regex-as-assignment"},{include:"#regex-as-comparison"},{include:"#regex-as-first-argument"},{include:"#regex-as-nth-argument"}]},"string-constant":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.awk"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.awk"}},name:"string.quoted.double.awk",patterns:[{include:"#escaped-char"}]},variable:{patterns:[{match:/\$[0-9]+/dgv,name:"variable.language.awk"},{match:/\b(?:FILENAME|FS|NF|NR|OFMT|OFS|ORS|RS)\b/dgv,name:"variable.language.awk"},{match:/\b(?:ARGC|ARGV|CONVFMT|ENVIRON|FNR|RLENGTH|RSTART|SUBSEP)\b/dgv,name:"variable.language.nawk"},{match:/\b(?:ARGIND|ERRNO|FIELDWIDTHS|IGNORECASE|RT)\b/dgv,name:"variable.language.gawk"}]}},scopeName:"source.awk",embeddedLangs:undefined,aliases:undefined})
2
2
 
3
3
  export default [
4
4
  lang
@@ -1,6 +1,6 @@
1
1
  import { EmulatedRegExp } from 'oniguruma-to-es'
2
2
 
3
- const lang = Object.freeze({displayName:"Ballerina",fileTypes:["bal"],name:"ballerina",patterns:[{include:"#statements"}],repository:{"access-modifier":{patterns:[{match:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(p(?:ublic|rivate))(?![\$_\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,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:/(@)([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\p{space}*(:?)\p{space}*((?:[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)?)/dgv}]},annotationDefinition:{patterns:[{begin:/\bannotation\b/dgv,beginCaptures:{"0":{name:"keyword.ballerina"}},end:/;/dgv,patterns:[{include:"#code"}]}]},"array-literal":{begin:/\p{space}*(\[)/dgv,beginCaptures:{"1":{name:"meta.brace.square.ballerina"}},end:/\]/dgv,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/dgv,name:"constant.language.boolean.ballerina"}]},butClause:{patterns:[{begin:/=>/dgv,beginCaptures:{"0":{name:"meta.arrow.ballerina storage.type.function.arrow.ballerina"}},end:/,|(?=\})/dgv,patterns:[{include:"#code"}]}]},butExp:{patterns:[{begin:/\bbut\b/dgv,beginCaptures:{"0":{name:"keyword.ballerina"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.block.ballerina.documentation"}},patterns:[{include:"#butExpBody"},{include:"#comment"}]}]},butExpBody:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ballerina.documentation"}},end:/(?=\})/dgv,endCaptures:{"0":{name:"punctuation.definition.block.ballerina.documentation"}},patterns:[{include:"#parameter"},{include:"#butClause"},{include:"#comment"}]}]},call:{patterns:[{match:/'?([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\p{space}*(?=\()/dgv,name:"entity.name.function.ballerina"}]},callableUnitBody:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},end:/(?=\})/dgv,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:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},end:/\}/dgv,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:/(?<=:)\p{space}*/dgv,end:/(?=[\-\]\)\+\,\:\;\}\p{space}]|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\b)/dgv},{include:"#decl-block"},{include:"#expression"},{include:"#punctuation-comma"},{include:"#punctuation-semicolon"}]},"class-defn":{begin:/(\p{space}+)(class)\b|^class\b(?=\p{space}+|\/[\*\/])/dgv,beginCaptures:{"0":{name:"storage.type.class.ballerina keyword.other.ballerina"}},end:/(?<=\})/dgv,name:"meta.class.ballerina",patterns:[{include:"#keywords"},{captures:{"0":{name:"entity.name.type.class.ballerina"}},match:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv},{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:/\/\/[^\n]*/dgv,name:"comment.ballerina"}]},constrainType:{patterns:[{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.definition.parameters.begin.ballerina"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.end.ballerina"}},patterns:[{include:"#comment"},{include:"#constrainType"},{match:/\b([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\b/dgv,name:"storage.type.ballerina"}]}]},"control-statement":{patterns:[{begin:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(return)(?![\$_\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{"0":{name:"keyword.control.flow.ballerina"}},end:/(?=[\;\}]|(?=\n?$)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\b)/dgv,patterns:[{include:"#expression"}]},{include:"#for-loop"},{include:"#if-statement"},{match:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(else|if)(?![\$_\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.conditional.ballerina"}]},"decl-block":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},end:/(?=\} external;)|(\})/dgv,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:/[\:\=]/dgv,beginCaptures:{"0":{name:"keyword.operator.ballerina"}},end:/(?=[\)\,])/dgv,patterns:[{include:"#code"}]}]},defaultWithParentheses:{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.block.ballerina"}}}]},documentationBody:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ballerina.documentation"}},end:/(?=\})/dgv,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:/([FPRTV])(\{\{)([^\n]*)(\}\})/dgv},{begin:/```/dgv,end:/```/dgv,name:"comment.block.code.ballerina.documentation"},{begin:/``/dgv,end:/``/dgv,name:"comment.block.code.ballerina.documentation"},{begin:/`/dgv,end:/`/dgv,name:"comment.block.code.ballerina.documentation"},{match:/[^\n]/dgv,name:"comment.block.ballerina.documentation"}]}]},documentationDef:{patterns:[{begin:/\bd(?:ocumentation|eprecated)\b/dgv,beginCaptures:{"0":{name:"keyword.ballerina"}},end:/\}/dgv,endCaptures:{"0":{name:"delimiter.curly"}},patterns:[{include:"#documentationBody"},{include:"#comment"}]}]},"enum-decl":{begin:/(?:\b(const)\p{space}+)?\b(enum)\p{space}+([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{"1":{name:"storage.modifier.ballerina"},"2":{name:"keyword.other.ballerina"},"3":{name:"entity.name.type.enum.ballerina"}},end:/(?<=\})/dgv,name:"meta.enum.declaration.ballerina",patterns:[{include:"#comment"},{include:"#mdDocumentation"},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},patterns:[{include:"#comment"},{include:"#mdDocumentation"},{begin:/([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{"0":{name:"variable.other.enummember.ballerina"}},end:/(?=[\,\}]|(?=\n?$))/dgv,patterns:[{include:"#comment"},{include:"#variable-initializer"}]},{begin:/(?=(('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\\\`]|\\[^\n])*`)|(\[([^\]\[]|\[[^\]\[]*\])+\])))/dgv,end:/(?=[\,\}]|(?=\n?$))/dgv,patterns:[{include:"#string"},{include:"#array-literal"},{include:"#comment"},{include:"#variable-initializer"}]},{include:"#punctuation-comma"}]}]},errorDestructure:{patterns:[{begin:/error/dgv,beginCaptures:{"0":{name:"storage.type.ballerina"}},end:/(?==>)/dgv,patterns:[{include:"#code"}]}]},expression:{patterns:[{include:"#keywords"},{include:"#expressionWithoutIdentifiers"},{include:"#identifiers"},{include:"#regex"}]},"expression-operators":{patterns:[{match:/(?:\*|(?<!\()\/|[\-\%\+])=/dgv,name:"keyword.operator.assignment.compound.ballerina"},{match:/(?:[\&\^]|<<|>>|>>>|\|)=/dgv,name:"keyword.operator.assignment.compound.bitwise.ballerina"},{match:/<<|>>>|>>/dgv,name:"keyword.operator.bitwise.shift.ballerina"},{match:/[\!\=]=(?:=|)/dgv,name:"keyword.operator.comparison.ballerina"},{match:/<=|>=|<>|[\<\>]/dgv,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:/(?<=[\$_\p{Alpha}\p{Nd}])(!)\p{space}*(?:(\/=)|(\/)(?![\*\/]))/dgv},{match:/!|&&|\|\||\?\?/dgv,name:"keyword.operator.logical.ballerina"},{match:/[\&\^\|\~]/dgv,name:"keyword.operator.bitwise.ballerina"},{match:/=/dgv,name:"keyword.operator.assignment.ballerina"},{match:/--/dgv,name:"keyword.operator.decrement.ballerina"},{match:/\+\+/dgv,name:"keyword.operator.increment.ballerina"},{match:/[\-\%\*\+\/]/dgv,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]*)(:)/dgv,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:/()/dgv,name:"constant.other.flag.regexp.ballerina",patterns:[{include:"#regexp"},{include:"#template-substitution-element"}]}]},"for-loop":{begin:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))foreach\p{space}*/dgv,beginCaptures:{"0":{name:"keyword.control.loop.ballerina"},"1":{name:"support.type.primitive.ballerina"}},end:/(?=\{)/dgv,patterns:[{match:/\bin\b/dgv,name:"keyword.other.ballerina"},{include:"#identifiers"},{include:"#comment"},{include:"#var-expr"},{include:"#expression"}]},forkBody:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},end:/(?=\})/dgv,patterns:[{include:"#workerDef"}]}]},forkStatement:{patterns:[{begin:/\bfork\b/dgv,beginCaptures:{"0":{name:"keyword.control.ballerina"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},patterns:[{include:"#forkBody"}]}]},"function-body":{patterns:[{include:"#comment"},{include:"#functionParameters"},{include:"#decl-block"},{begin:/=>/dgv,beginCaptures:{"0":{name:"meta.arrow.ballerina storage.type.function.arrow.ballerina"}},end:/(?=;)|(?=,)|(?=\);)/dgv,name:"meta.block.ballerina",patterns:[{include:"#statements"},{include:"#punctuation-comma"}]},{match:/\*/dgv,name:"keyword.generator.asterisk.ballerina"}]},"function-defn":{begin:/(?:(p(?:ublic|rivate))\p{space}+)?(function)\b/dgv,beginCaptures:{"1":{name:"keyword.other.ballerina"},"2":{name:"keyword.other.ballerina"}},end:/(?<=;)|(?<=\})|(?<=,)|(?=\);)/dgv,name:"meta.function.ballerina",patterns:[{match:/\bexternal\b/dgv,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:/,/dgv,name:"punctuation.separator.parameter.ballerina"}]},functionName:{patterns:[{match:/\bfunction\b/dgv,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:/\p{space}+(\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|([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*))/dgv}]},functionParameters:{begin:/[\(\[]/dgv,beginCaptures:{"0":{name:"punctuation.definition.parameters.begin.ballerina"}},end:/[\]\)]/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.end.ballerina"}},name:"meta.parameters.ballerina",patterns:[{include:"#function-parameters-body"}]},functionReturns:{begin:/\p{space}*(returns)\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.other.ballerina"}},end:/(?==>)|(=)|(?=\{)|(\))|(?=;)/dgv,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:/\p{space}*\b(var)(?=\p{space}+|[\?\[])/dgv},{match:/\|/dgv,name:"keyword.operator.ballerina"},{match:/\?/dgv,name:"keyword.operator.optional.ballerina"},{include:"#type-annotation"},{include:"#type-tuple"},{include:"#keywords"},{match:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv,name:"variable.other.readwrite.ballerina"}]},functionType:{patterns:[{begin:/\bfunction\b/dgv,beginCaptures:{"0":{name:"keyword.ballerina"}},end:/(?=,)|(?=\|)|(?=:)|(?==>)|(?=\))|(?=\])/dgv,patterns:[{include:"#comment"},{include:"#functionTypeParamList"},{include:"#functionTypeReturns"}]}]},functionTypeParamList:{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"delimiter.parenthesis"}},end:/\)/dgv,endCaptures:{"0":{name:"delimiter.parenthesis"}},patterns:[{match:/public/dgv,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/dgv,beginCaptures:{"0":{name:"keyword"}},end:/(?=,)|\||(?=\])|(?=\))/dgv,patterns:[{include:"#functionTypeReturnsParameter"},{include:"#comment"}]}]},functionTypeReturnsParameter:{patterns:[{begin:/((?=record|object|function)|[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{"0":{name:"storage.type.ballerina"}},end:/(?=,)|[\:\|]|(?==>)|(?=\))|(?=\])/dgv,patterns:[{include:"#record"},{include:"#objectDec"},{include:"#functionType"},{include:"#constrainType"},{include:"#defaultValue"},{include:"#comment"},{include:"#parameterTuple"},{match:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv,name:"default.variable.parameter.ballerina"}]}]},functionTypeType:{patterns:[{begin:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv,beginCaptures:{"0":{name:"storage.type.ballerina"}},end:/(?=,)|\||(?=\])|(?=\))/dgv}]},identifiers:{patterns:[{captures:{"1":{name:"punctuation.accessor.ballerina"},"2":{name:"punctuation.accessor.optional.ballerina"},"3":{name:"entity.name.function.ballerina"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?:(\\.)|(\\?\\.(?!\\p{space}*\\p{Nd})))\\p{space}*)?([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*)(?=\\p{space}*=\\p{space}*((((function\\p{space}*[\\(\\*\\<])|(function\\p{space}+)|([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((((<\\p{space}*)(?=\\n?$)|((<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*((([\\[\\{]\\p{space}*)?)(?=\\n?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*((\\)\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[\\$_\\p{Alpha}]))([^\"'\\(\\)\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\\\\\`]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))","dgv",{"lazyCompile":true})},{captures:{"1":{name:"punctuation.accessor.ballerina"},"2":{name:"punctuation.accessor.optional.ballerina"},"3":{name:"entity.name.function.ballerina"}},match:/(?:(\.)|(\?\.(?!\p{space}*\p{Nd})))\p{space}*(#?[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\p{space}*(?=\()/dgv},{captures:{"1":{name:"punctuation.accessor.ballerina"},"2":{name:"punctuation.accessor.optional.ballerina"},"3":{name:"variable.other.property.ballerina"}},match:/(?:(\.)|(\?\.(?!\p{space}*\p{Nd})))\p{space}*(#?[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv},{include:"#type-primitive"},{include:"#self-literal"},{match:/\b(check|foreach|if|checkpanic)\b/dgv,name:"keyword.control.ballerina"},{include:"#call"},{match:/\b(var)\b/dgv,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:/([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)((\.)([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)(\()(\)))?/dgv},{match:/(')([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,name:"variable.other.property.ballerina"},{include:"#type-annotation"}]},"if-statement":{patterns:[{begin:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?=\bif\b\p{space}*(?!\{))/dgv,end:/(?<=\})/dgv,patterns:[{include:"#comment"},{begin:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(if)\p{space}*(\()?/dgv,beginCaptures:{"1":{name:"keyword.control.conditional.ballerina"},"2":{name:"meta.brace.round.ballerina"}},end:/(\))|(?=\{)/dgv,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:/(?<=\))(?=[\=\p{space}])/dgv,end:/(?=\{)/dgv,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:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:\b(default)|(\*)|\b([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*))/dgv},{match:/([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,name:"variable.other.readwrite.alias.ballerina"}]},"import-declaration":{begin:/\bimport\b/dgv,beginCaptures:{"0":{name:"keyword.control.import.ballerina"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.statement.ballerina"}},name:"meta.import.ballerina",patterns:[{match:/(')([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,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/dgv,name:"keyword.control.ballerina"},{match:/\b(return|break|continue|check|checkpanic|panic|trap|from|where)\b/dgv,name:"keyword.control.flow.ballerina"},{match:/\b(public|private|external|return|record|object|remote|abstract|client|true|false|fail|import|version)\b/dgv,name:"keyword.other.ballerina"},{match:/\b(as|on|function|resource|listener|const|final|is|null|lock|annotation|source|worker|parameter|field|isolated|in)\b/dgv,name:"keyword.other.ballerina"},{match:/\b(xmlns|table|key|let|new|select|start|flush|default|do|base16|base64|conflict)\b/dgv,name:"keyword.other.ballerina"},{match:/\b(limit|outer|equals|order|by|ascending|descending|class|configurable|variable|module|service|group|collect)\b/dgv,name:"keyword.other.ballerina"},{match:/(=>)/dgv,name:"meta.arrow.ballerina storage.type.function.arrow.ballerina"},{match:/([\-\!\%\+]|~=|===|==|=|!=|!==|[\&\<\>\|]|\?:|\.\.\.|<=|>=|&&|\|\||~|>>|>>>)/dgv,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:/\{/dgv,end:/\}/dgv,patterns:[{include:"#code"}]}]},matchBindingPattern:{patterns:[{begin:/var/dgv,beginCaptures:{"0":{name:"storage.type.ballerina"}},end:/(?==>)|,/dgv,patterns:[{include:"#errorDestructure"},{include:"#code"},{match:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv,name:"variable.parameter.ballerina"}]}]},matchStatement:{patterns:[{begin:/\bmatch\b/dgv,beginCaptures:{"0":{name:"keyword.control.ballerina"}},end:/\}/dgv,patterns:[{include:"#matchStatementBody"},{include:"#comment"},{include:"#code"}]}]},matchStatementBody:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ballerina.documentation"}},end:/(?=\})/dgv,endCaptures:{"0":{name:"punctuation.definition.block.ballerina.documentation"}},patterns:[{include:"#literal"},{include:"#matchBindingPattern"},{include:"#matchStatementPatternClause"},{include:"#comment"},{include:"#code"}]}]},matchStatementPatternClause:{patterns:[{begin:/=>/dgv,beginCaptures:{"0":{name:"keyword.ballerina"}},end:/((\})|[\,\;])/dgv,patterns:[{include:"#callableUnitBody"},{include:"#code"}]}]},mdDocumentation:{begin:/#/dgv,end:/[\n\r]+/dgv,name:"comment.mddocs.ballerina",patterns:[{include:"#mdDocumentationReturnParamDescription"},{include:"#mdDocumentationParamDescription"}]},mdDocumentationParamDescription:{patterns:[{begin:/(\+\p{space}+)('?[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)(\p{space}*-\p{space}+)/dgv,beginCaptures:{"1":{name:"keyword.operator.ballerina"},"2":{name:"variable.other.readwrite.ballerina"},"3":{name:"keyword.operator.ballerina"}},end:/(?=[^\n\r\#]|# *?\+)/dgv,patterns:[{match:/#[^\n]*/dgv,name:"comment.mddocs.paramdesc.ballerina"}]}]},mdDocumentationReturnParamDescription:{patterns:[{begin:/(#) *?(\+) *(return) *(-)?([^\n]*)/dgv,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:/(?=[^\n\r\#]|# *?\+)/dgv,patterns:[{match:/#[^\n]*/dgv,name:"comment.mddocs.returnparamdesc.ballerina"}]}]},multiType:{patterns:[{match:/(?<=\|)([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)|([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)(?=\|)/dgv,name:"storage.type.ballerina"},{match:/\|/dgv,name:"keyword.operator.ballerina"}]},numbers:{patterns:[{match:/\b(?:0[Xx][A-Fa-f\p{Nd}]+\b|\p{Nd}+(?:\.(?:\p{Nd}+|(?=\n?$)))?)/dgv,name:"constant.numeric.decimal.ballerina"}]},"object-literal":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},end:/\}/dgv,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:/(?=\[)/dgv,end:/(?=:)|((?<=\])(?=\p{space}*[\(\<]))/dgv,name:"meta.object.member.ballerina meta.object-literal.key.ballerina",patterns:[{include:"#comment"}]},{begin:/(?=["'\`])/dgv,end:/(?=:)|((?<=["'\`])(?=((\p{space}*[\(\,\<\}])|(\n*\})|(\p{space}+(as)\p{space}+))))/dgv,name:"meta.object.member.ballerina meta.object-literal.key.ballerina",patterns:[{include:"#comment"},{include:"#string"}]},{begin:/(?=\b((?<!\$)0[Xx]\p{AHex}[_\p{AHex}]*(n)?\b(?!\$))|\b((?<!\$)0[Bb][01][01_]*(n)?\b(?!\$))|\b((?<!\$)0[Oo]?[0-7][0-7_]*(n)?\b(?!\$))|((?<!\$)(?:\b[0-9][0-9_]*(\.)[0-9][0-9_]*[Ee][\-\+]?[0-9][0-9_]*(n)?\b|\b[0-9][0-9_]*(\.)[Ee][\-\+]?[0-9][0-9_]*(n)?\b|\B(\.)[0-9][0-9_]*[Ee][\-\+]?[0-9][0-9_]*(n)?\b|\b[0-9][0-9_]*[Ee][\-\+]?[0-9][0-9_]*(n)?\b|\b[0-9][0-9_]*(\.)[0-9][0-9_]*(n)?\b|\b[0-9][0-9_]*(\.)(n)?\B|\B(\.)[0-9][0-9_]*(n)?\b|\b[0-9][0-9_]*(n)?\b(?!\.))(?!\$)))/dgv,end:/(?=:)|(?=\p{space}*([\(\,\<\}])|(\p{space}+as\p{space}+))/dgv,name:"meta.object.member.ballerina meta.object-literal.key.ballerina",patterns:[{include:"#comment"},{include:"#numbers"}]},{begin:/(?<=[\]"'\`])(?=\p{space}*[\(\<])/dgv,end:/(?=[\,\;\}])|(?<=\})/dgv,name:"meta.method.declaration.ballerina",patterns:[{include:"#function-body"}]},{captures:{"0":{name:"meta.object-literal.key.ballerina"},"1":{name:"constant.numeric.decimal.ballerina"}},match:/(?![\$_\p{Alpha}])(\p{Nd}+)\p{space}*(?=(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*:)/dgv,name:"meta.object.member.ballerina"},{captures:{"0":{name:"meta.object-literal.key.ballerina"},"1":{name:"entity.name.function.ballerina"}},match:/*@__PURE__*/ new EmulatedRegExp("([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?=(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*:(\\p{space}*/\\*([^\\*]|(\\*[^\\/]))*\\*/)*\\p{space}*((((function\\p{space}*[\\(\\*\\<])|(function\\p{space}+)|([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((((<\\p{space}*)(?=\\n?$)|((<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*((([\\[\\{]\\p{space}*)?)(?=\\n?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*((\\)\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[\\$_\\p{Alpha}]))([^\"'\\(\\)\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\\\\\`]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))","dgv",{"lazyCompile":true}),name:"meta.object.member.ballerina"},{captures:{"0":{name:"meta.object-literal.key.ballerina"}},match:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*\p{space}*(?=(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*:)/dgv,name:"meta.object.member.ballerina"},{begin:/\.\.\./dgv,beginCaptures:{"0":{name:"keyword.operator.spread.ballerina"}},end:/(?=[\,\}])/dgv,name:"meta.object.member.ballerina",patterns:[{include:"#expression"}]},{captures:{"1":{name:"variable.other.readwrite.ballerina"}},match:/([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\p{space}*(?=[\,\}]|(?=\n?$)|\/\/|\/\*)/dgv,name:"meta.object.member.ballerina"},{captures:{"1":{name:"keyword.control.as.ballerina"},"2":{name:"storage.modifier.ballerina"}},match:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(as)\p{space}+(const)(?=\p{space}*([\,\}]|(?=\n?$)))/dgv,name:"meta.object.member.ballerina"},{begin:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(as)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.control.as.ballerina"}},end:/(?=[\-\]\)\+\,\:\;\>\?\}]|\|\||&&|!==|(?=\n?$)|^|((?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(as)\p{space}+))/dgv,name:"meta.object.member.ballerina"},{begin:/(?=[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*\p{space}*=)/dgv,end:/(?=[\,\}]|(?=\n?$)|\/\/|\/\*)/dgv,name:"meta.object.member.ballerina",patterns:[{include:"#expression"}]}]},objectDec:{patterns:[{begin:/\bobject\b(?!:)/dgv,beginCaptures:{"0":{name:"keyword.other.ballerina"}},end:/(?<=\})/dgv,patterns:[{include:"#decl-block"}]}]},objectInitBody:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},end:/(?=\})/dgv,endCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},patterns:[{include:"#comment"},{include:"#code"}]}]},objectInitParameters:{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.parameters.begin.ballerina"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.end.ballerina"}},patterns:[{include:"#code"},{match:/\b([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\b/dgv,name:"variable.parameter.ballerina"}]}]},objectMemberFunctionDec:{patterns:[{begin:/\bfunction\b/dgv,beginCaptures:{"0":{name:"keyword.ballerina"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},patterns:[{include:"#functionParameters"},{match:/\breturns\b/dgv,name:"keyword.ballerina"},{include:"#code"}]}]},parameter:{patterns:[{begin:/((?=record|object|function)|([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)(?=\|)|[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{"0":{name:"storage.type.ballerina"}},end:/[\,\:\|]|(?==>)|(?=\))|(?=\])/dgv,patterns:[{include:"#parameterWithDescriptor"},{include:"#record"},{include:"#objectDec"},{include:"#functionType"},{include:"#constrainType"},{include:"#defaultValue"},{include:"#comment"},{include:"#parameterTuple"},{match:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv,name:"default.variable.parameter.ballerina"}]}]},"parameter-name":{patterns:[{captures:{"1":{name:"support.type.primitive.ballerina"}},match:/\p{space}*\b(var)\p{space}+/dgv},{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:/(?:(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))\p{space}+)?(?:(\.\.\.)\p{space}*)?(?<![\:\=])(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(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|([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*))(?![\$_\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))\p{space}*(\??)/dgv}]},parameterTuple:{patterns:[{begin:/\[/dgv,end:/(?=,)|(?=\|)|(?=:)|(?==>)|(?=\))/dgv,patterns:[{include:"#record"},{include:"#objectDec"},{include:"#parameterTupleType"},{include:"#parameterTupleEnd"},{include:"#comment"}]}]},parameterTupleEnd:{patterns:[{begin:/\]/dgv,end:/(?=,)|(?=\|)|(?=:)|(?==>)|(?=\))/dgv,patterns:[{include:"#defaultWithParentheses"},{match:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv,name:"default.variable.parameter.ballerina"}]}]},parameterTupleType:{patterns:[{begin:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv,beginCaptures:{"0":{name:"storage.type.ballerina"}},end:/[\,\|]|(?=\])/dgv}]},parameterWithDescriptor:{patterns:[{begin:/&/dgv,beginCaptures:{"0":{name:"keyword.operator.ballerina"}},end:/(?=,)|(?=\|)|(?=\))/dgv,patterns:[{include:"#parameter"}]}]},parameters:{patterns:[{match:/\p{space}*(return|break|continue|check|checkpanic|panic|trap|from|where)\b/dgv,name:"keyword.control.flow.ballerina"},{match:/\p{space}*(let|select)\b/dgv,name:"keyword.other.ballerina"},{match:/,/dgv,name:"punctuation.separator.parameter.ballerina"}]},paranthesised:{begin:/\(/dgv,beginCaptures:{"0":{name:"meta.brace.round.ballerina"}},end:/\)/dgv,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:/\[/dgv,end:/\]/dgv,patterns:[{include:"#comment"},{include:"#code"}]}]},"punctuation-accessor":{patterns:[{captures:{"1":{name:"punctuation.accessor.ballerina"},"2":{name:"punctuation.accessor.optional.ballerina"}},match:/(\.)|(\?\.(?!\p{space}*\p{Nd}))/dgv}]},"punctuation-comma":{patterns:[{match:/,/dgv,name:"punctuation.separator.comma.ballerina"}]},"punctuation-semicolon":{patterns:[{match:/;/dgv,name:"punctuation.terminator.statement.ballerina"}]},record:{begin:/\brecord\b/dgv,beginCaptures:{"0":{name:"keyword.other.ballerina"}},end:/(?<=\})/dgv,name:"meta.record.ballerina",patterns:[{include:"#recordBody"}]},recordBody:{patterns:[{include:"#decl-block"}]},recordLiteral:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},patterns:[{include:"#code"}]}]},regex:{patterns:[{begin:/\b(re)(\p{space}*)(`)/dgv,beginCaptures:{"1":{name:"support.type.primitive.ballerina"},"3":{name:"punctuation.definition.regexp.template.begin.ballerina"}},end:/`/dgv,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:/\\[DSWdnrstw]|\./dgv,name:"keyword.other.character-class.regexp.ballerina"},{match:/\\[^Ppu]/dgv,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)/dgv,name:"constant.other.unicode-property-general-category.regexp.ballerina"}]},"regex-unicode-property-key":{patterns:[{begin:/([gs]c=)/dgv,beginCaptures:{"1":{name:"keyword.other.unicode-property-key.regexp.ballerina"}},end:/()/dgv,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:/[\$\^]/dgv,name:"keyword.control.assertion.regexp.ballerina"},{match:/[\*\+\?]|\{(\p{Nd}+,\p{Nd}+|\p{Nd}+,|,\p{Nd}+|\p{Nd}+)\}\??/dgv,name:"keyword.operator.quantifier.regexp.ballerina"},{match:/\|/dgv,name:"keyword.operator.or.regexp.ballerina"},{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.group.regexp.ballerina"}},end:/(\))/dgv,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:/(\[)(\^)?/dgv,beginCaptures:{"1":{name:"punctuation.definition.character-class.start.regexp.ballerina"},"2":{name:"keyword.operator.negation.regexp.ballerina"}},end:/(\])/dgv,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:/(?:[^\n]|(\\(?:[0-7]{3}|x\p{AHex}{2}|u\p{AHex}{4}))|(\\[^Ppu]))-(?:[^\]\\]|(\\(?:[0-7]{3}|x\p{AHex}{2}|u\p{AHex}{4}))|(\\[^Ppu]))/dgv,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:/\b(self)\b\p{space}*([^\n])\p{space}*([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\p{space}*(?=\()/dgv},{match:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))self\b(?!\$)/dgv,name:"variable.language.this.ballerina"}]},"service-decl":{begin:/\bservice\b/dgv,beginCaptures:{"0":{name:"keyword.ballerina"}},end:/(?=;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\b)|(?<=\})|(?<=,)/dgv,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:/(\/([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)|"[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*")/dgv,name:"entity.service.path.ballerina"}]},serviceOn:{patterns:[{begin:/on/dgv,beginCaptures:{"0":{name:"keyword.other.ballerina"}},end:/(?=\{)/dgv,patterns:[{include:"#code"}]}]},source:{patterns:[{begin:/\b(source)\b\p{space}+([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{"1":{name:"keyword.other.ballerina"},"2":{name:"variable.other.readwrite.ballerina"}},end:/(?=,)|(?=;)/dgv}]},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:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ballerina"}},end:/(")|([^\n\\])(?=\n?$)/dgv,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\p{AHex}{2}|u\p{AHex}{4}|u\{\p{AHex}+\}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|[^\n]|(?=\n?$))/dgv,name:"constant.character.escape.ballerina"}]},stringTemplate:{patterns:[{begin:/((string)|([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*))?(`)/dgv,beginCaptures:{"1":{name:"entity.name.function.tagged-template.ballerina"},"2":{name:"support.type.primitive.ballerina"},"4":{name:"punctuation.definition.string.template.begin.ballerina"}},end:/\\?`/dgv,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:/"/dgv,beginCaptures:{"0":{name:"string.begin.ballerina"}},end:/"/dgv,endCaptures:{"0":{name:"string.end.ballerina"}},patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.ballerina"},{match:/[^\n]/dgv,name:"string"}]}]},"template-substitution-element":{patterns:[{begin:/\$\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.template-expression.begin.ballerina"}},contentName:"meta.embedded.line.ballerina",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.template-expression.end.ballerina"}},name:"meta.template.expression.ballerina",patterns:[{include:"#expression"}]}]},templateVariable:{patterns:[{begin:/\$\{/dgv,beginCaptures:{"0":{name:"constant.character.escape.ballerina"}},end:/\}/dgv,endCaptures:{"0":{name:"constant.character.escape.ballerina"}},patterns:[{include:"#code"}]}]},"ternary-expression":{begin:/(?!\?\.\p{space}*\P{Nd})(\?)(?!\?)/dgv,beginCaptures:{"1":{name:"keyword.operator.ternary.ballerina"}},end:/\p{space}*/dgv,endCaptures:{"1":{name:"keyword.operator.ternary.ballerina"}},patterns:[{include:"#expression"}]},tupleType:{patterns:[{begin:/\[/dgv,end:/(?=[\]\;])/dgv,patterns:[{include:"#comment"},{include:"#constrainType"},{include:"#paranthesisedBracket"},{match:/\b([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\b/dgv,name:"storage.type.ballerina"}]}]},type:{patterns:[{include:"#comment"},{include:"#string"},{include:"#numbers"},{include:"#type-primitive"},{include:"#type-tuple"}]},"type-annotation":{patterns:[{begin:/(:)/dgv,beginCaptures:{"1":{name:"keyword.operator.type.annotation.ballerina"}},end:/(?<![\&\:\|])((?=(?=\n?$)|^|[\]\)\,\;\=\>\?\}]|\/\/)|(?==[^\>])|((?<=[\]\$\)\>_\}\p{Alpha}])\p{space}*(?=\{)))(\?)?/dgv,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|([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)((\.)([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)(\()(\)))?/dgv},{match:/\?/dgv,name:"keyword.operator.optional.ballerina"},{include:"#multiType"},{include:"#type"},{include:"#paranthesised"}]}]},"type-primitive":{patterns:[{match:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(string|int|boolean|float|byte|decimal|json|xml|anydata)(?![\$_\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"support.type.primitive.ballerina"}]},"type-tuple":{begin:/\[/dgv,beginCaptures:{"0":{name:"meta.brace.square.ballerina"}},end:/\]/dgv,endCaptures:{"0":{name:"meta.brace.square.ballerina"}},name:"meta.type.tuple.ballerina",patterns:[{include:"#self-literal"},{include:"#booleans"},{match:/\.\.\./dgv,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:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\p{space}*(\?)?\p{space}*(:)/dgv},{include:"#identifiers"},{include:"#type"},{include:"#punctuation-comma"}]},typeDefinition:{patterns:[{begin:/\b(type)\b\p{space}+([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{"1":{name:"keyword.other.ballerina"},"2":{name:"entity.name.type.ballerina"}},end:/;/dgv,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:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv,name:"variable.other.readwrite.ballerina"},{include:"#type-annotation"},{include:"#typeDescription"},{include:"#decl-block"}]}]},typeDescription:{patterns:[{begin:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv,end:/(?=;)/dgv,patterns:[{include:"#numbers"},{include:"#decl-block"},{include:"#type-primitive"},{match:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv,name:"storage.type.ballerina"}]}]},types:{patterns:[{match:/\b(handle|any|future|typedesc)\b/dgv,name:"storage.type.ballerina"},{match:/\b(boolean|int|string|float|decimal|byte|json|xml|anydata)\b/dgv,name:"support.type.primitive.ballerina"},{match:/\b(map|error|never|readonly|distinct)\b/dgv,name:"storage.type.ballerina"},{match:/\b(stream)\b/dgv,name:"storage.type.ballerina"}]},"unicode-property-escape":{patterns:[{begin:/(\\[Pp])(\{)/dgv,beginCaptures:{"1":{name:"keyword.other.unicode-property.regexp.ballerina"},"2":{name:"punctuation.other.unicode-property.begin.regexp.ballerina"}},end:/(\})/dgv,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)(\{)/dgv,beginCaptures:{"1":{name:"keyword.other.unicode-value.regexp.ballerina"},"2":{name:"punctuation.other.unicode-value.begin.regexp.ballerina"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.other.unicode-value.end.regexp.ballerina"}},name:"keyword.other.unicode-value.ballerina",patterns:[{match:/(\p{AHex}{1,6})/dgv,name:"constant.other.unicode-value.regexp.ballerina"}]}]},"var-expr":{patterns:[{begin:/(?=\b(var))/dgv,beginCaptures:{"0":{name:"storage.modifier.ballerina support.type.primitive.ballerina"}},end:/(?!\b(var))((?=[\;\}]|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\b)|((?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?=(if)\p{space}+))|((?<!^string|[^\$\._\p{Alpha}\p{Nd}]string|^int|[^\$\._\p{Alpha}\p{Nd}]int)(?=\p{space}*(?=\n?$))))/dgv,name:"meta.var.expr.ballerina",patterns:[{begin:/\b(var)(?=\p{space}+|[\:\?\[\|])/dgv,beginCaptures:{"0":{name:"support.type.primitive.ballerina"}},end:/(?=\P{space})/dgv},{match:/\|/dgv,name:"keyword.operator.type.annotation.ballerina"},{match:/\bin\b/dgv,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(?!\p{space}+enum\b)))/dgv,end:/(?!\b(const(?!\p{space}+enum\b)))((?=\bannotation\b|[\;\}]|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\b)|((?<!^string|[^\$\._\p{Alpha}\p{Nd}]string|^int|[^\$\._\p{Alpha}\p{Nd}]int)(?=\p{space}*(?=\n?$))))/dgv,name:"meta.var.expr.ballerina",patterns:[{begin:/\b(const(?!\p{space}+enum\b))\p{space}+/dgv,beginCaptures:{"0":{name:"keyword.other.ballerina"}},end:/(?=\P{space})/dgv},{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)(?=\p{space}+|[\:\?\[\|])/dgv,beginCaptures:{"0":{name:"support.type.primitive.ballerina"}},end:/(?!\b(var))((?=[\;\}]|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\b)|((?<!^string|[^\$\._\p{Alpha}\p{Nd}]string|^int|[^\$\._\p{Alpha}\p{Nd}]int)(?=\p{space}*(?=\n?$))))/dgv,name:"meta.var.expr.ballerina",patterns:[{include:"#xml"},{begin:/(string|int|boolean|float|byte|decimal|json|xml|anydata)(?=\p{space}+|[\:\?\[\|])/dgv,beginCaptures:{"0":{name:"support.type.primitive.ballerina"}},end:/(?=\P{space})/dgv},{match:/\|/dgv,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)\p{space}*/dgv,beginCaptures:{"0":{name:"support.type.primitive.ballerina"}},end:/(?=\P{space})/dgv},{include:"#types"},{begin:/([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{"1":{name:"meta.definition.variable.ballerina variable.other.constant.ballerina"}},end:/(?=(?=\n?$)|^|[\,\;\=\}]|((?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))\p{space}+))/dgv}]},"var-single-variable":{patterns:[{begin:/((string|int|boolean|float|byte|decimal|json|xml|anydata)|\b(readonly|error|map)\b|([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*))(?=\p{space}+|[\;\>\|])/dgv,beginCaptures:{"2":{name:"support.type.primitive.ballerina"},"3":{name:"storage.type.ballerina"},"4":{name:"meta.definition.variable.ballerina variable.other.readwrite.ballerina"}},end:/(?=(?=\n?$)|^|[\,\;\=\}])/dgv,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:/([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\p{space}+(!)?/dgv,beginCaptures:{"1":{name:"meta.definition.variable.ballerina variable.other.readwrite.ballerina"},"2":{name:"keyword.operator.definiteassignment.ballerina"}},end:/(?=(?=\n?$)|^|[\,\;\=\}]|((?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))\p{space}+))/dgv,name:"meta.var-single-variable.expr.ballerina"}]},"variable-initializer":{patterns:[{begin:/(?<![\!\=])(=)(?![\=\>])(?=\p{space}*\P{space})/dgv,beginCaptures:{"1":{name:"keyword.operator.assignment.ballerina"}},end:/(?=(?=\n?$)|[\]\)\,\;\}])/dgv,patterns:[{match:/(')([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,name:"variable.other.property.ballerina"},{include:"#xml"},{include:"#function-defn"},{include:"#expression"},{include:"#punctuation-accessor"},{include:"#regex"}]},{begin:/(?<![\!\=])(=)(?![\=\>])/dgv,beginCaptures:{"1":{name:"keyword.operator.assignment.ballerina"}},end:/(?=[\]\)\,\;\}]|((?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))\p{space}+))|(?=^\p{space}*(?=\n?$))|(?<=\P{space})(?<!=)(?=\p{space}*(?=\n?$))/dgv,patterns:[{include:"#expression"}]}]},variableDef:{patterns:[{begin:/(?!\+)[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*[\t ]|(?=\()/dgv,beginCaptures:{"0":{name:"storage.type.ballerina"}},end:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*|(?=,)|(?=;)|\.\.\./dgv,patterns:[{include:"#tupleType"},{include:"#constrainType"},{include:"#comment"}]}]},variableDefInline:{patterns:[{begin:/(?=record)|(?=object)/dgv,end:/(?=;)/dgv,patterns:[{include:"#record"},{include:"#objectDec"}]}]},workerBody:{patterns:[{begin:/\{/dgv,end:/(?=\})/dgv,patterns:[{include:"#code"}]}]},workerDef:{patterns:[{begin:/\bworker\b/dgv,beginCaptures:{"0":{name:"keyword.ballerina"}},end:/\}/dgv,patterns:[{include:"#functionReturns"},{include:"#workerBody"}]}]},xml:{patterns:[{begin:/\b(xml)(\p{space}*)(`)/dgv,beginCaptures:{"1":{name:"support.type.primitive.ballerina"},"3":{name:"punctuation.definition.string.template.begin.ballerina"}},end:/`/dgv,endCaptures:{"0":{name:"punctuation.definition.string.template.end.ballerina"}},name:"string.template.ballerina",patterns:[{include:"#xmlTag"},{include:"#xmlComment"},{include:"#templateVariable"},{match:/[^\n]/dgv,name:"string"}]}]},xmlComment:{patterns:[{begin:/<!--/dgv,beginCaptures:{"0":{name:"comment.block.xml.ballerina"}},end:/-->/dgv,endCaptures:{"0":{name:"comment.block.xml.ballerina"}},name:"comment.block.xml.ballerina"}]},xmlDoubleQuotedString:{patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"string.begin.ballerina"}},end:/"/dgv,endCaptures:{"0":{name:"string.end.ballerina"}},patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.ballerina"},{match:/[^\n]/dgv,name:"string"}]}]},xmlSingleQuotedString:{patterns:[{begin:/'/dgv,beginCaptures:{"0":{name:"string.begin.ballerina"}},end:/'/dgv,endCaptures:{"0":{name:"string.end.ballerina"}},patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.ballerina"},{match:/[^\n]/dgv,name:"string"}]}]},xmlTag:{patterns:[{begin:/(<\/?\??)\p{space}*([\-0-9A-Z_a-z]+)/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.begin.xml.ballerina"},"2":{name:"entity.name.tag.xml.ballerina"}},end:/\??\/?>/dgv,endCaptures:{"0":{name:"punctuation.definition.tag.end.xml.ballerina"}},patterns:[{include:"#xmlSingleQuotedString"},{include:"#xmlDoubleQuotedString"},{match:/xmlns/dgv,name:"keyword.other.ballerina"},{match:/([\-0-9A-Za-z]+)/dgv,name:"entity.other.attribute-name.xml.ballerina"}]}]}},scopeName:"source.ballerina",embeddedLangs:undefined,aliases:undefined})
3
+ const lang = Object.freeze({displayName:"Ballerina",fileTypes:["bal"],name:"ballerina",patterns:[{include:"#statements"}],repository:{"access-modifier":{patterns:[{match:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(p(?:ublic|rivate))(?![\$_\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,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:/(@)([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\p{space}*(:?)\p{space}*((?:[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)?)/dgv}]},annotationDefinition:{patterns:[{begin:/\bannotation\b/dgv,beginCaptures:{"0":{name:"keyword.ballerina"}},end:/;/dgv,patterns:[{include:"#code"}]}]},"array-literal":{begin:/\p{space}*(\[)/dgv,beginCaptures:{"1":{name:"meta.brace.square.ballerina"}},end:/\]/dgv,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/dgv,name:"constant.language.boolean.ballerina"}]},butClause:{patterns:[{begin:/=>/dgv,beginCaptures:{"0":{name:"meta.arrow.ballerina storage.type.function.arrow.ballerina"}},end:/,|(?=\})/dgv,patterns:[{include:"#code"}]}]},butExp:{patterns:[{begin:/\bbut\b/dgv,beginCaptures:{"0":{name:"keyword.ballerina"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.block.ballerina.documentation"}},patterns:[{include:"#butExpBody"},{include:"#comment"}]}]},butExpBody:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ballerina.documentation"}},end:/(?=\})/dgv,endCaptures:{"0":{name:"punctuation.definition.block.ballerina.documentation"}},patterns:[{include:"#parameter"},{include:"#butClause"},{include:"#comment"}]}]},call:{patterns:[{match:/'?([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\p{space}*(?=\()/dgv,name:"entity.name.function.ballerina"}]},callableUnitBody:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},end:/(?=\})/dgv,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:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},end:/\}/dgv,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:/(?<=:)\p{space}*/dgv,end:/(?=[\-\]\)\+\,\:\;\}\p{space}]|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\b)/dgv},{include:"#decl-block"},{include:"#expression"},{include:"#punctuation-comma"},{include:"#punctuation-semicolon"}]},"class-defn":{begin:/(\p{space}+)(class)\b|^class\b(?=\p{space}+|\/[\*\/])/dgv,beginCaptures:{"0":{name:"storage.type.class.ballerina keyword.other.ballerina"}},end:/(?<=\})/dgv,name:"meta.class.ballerina",patterns:[{include:"#keywords"},{captures:{"0":{name:"entity.name.type.class.ballerina"}},match:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv},{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:/\/\/[^\n]*/dgv,name:"comment.ballerina"}]},constrainType:{patterns:[{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.definition.parameters.begin.ballerina"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.end.ballerina"}},patterns:[{include:"#comment"},{include:"#constrainType"},{match:/\b([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\b/dgv,name:"storage.type.ballerina"}]}]},"control-statement":{patterns:[{begin:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(return)(?![\$_\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{"0":{name:"keyword.control.flow.ballerina"}},end:/(?=[\;\}]|(?=\n?$)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\b)/dgv,patterns:[{include:"#expression"}]},{include:"#for-loop"},{include:"#if-statement"},{match:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(else|if)(?![\$_\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.conditional.ballerina"}]},"decl-block":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},end:/(?=\} external;)|(\})/dgv,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:/[\:\=]/dgv,beginCaptures:{"0":{name:"keyword.operator.ballerina"}},end:/(?=[\)\,])/dgv,patterns:[{include:"#code"}]}]},defaultWithParentheses:{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.block.ballerina"}}}]},documentationBody:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ballerina.documentation"}},end:/(?=\})/dgv,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:/([FPRTV])(\{\{)([^\n]*)(\}\})/dgv},{begin:/```/dgv,end:/```/dgv,name:"comment.block.code.ballerina.documentation"},{begin:/``/dgv,end:/``/dgv,name:"comment.block.code.ballerina.documentation"},{begin:/`/dgv,end:/`/dgv,name:"comment.block.code.ballerina.documentation"},{match:/[^\n]/dgv,name:"comment.block.ballerina.documentation"}]}]},documentationDef:{patterns:[{begin:/\bd(?:ocumentation|eprecated)\b/dgv,beginCaptures:{"0":{name:"keyword.ballerina"}},end:/\}/dgv,endCaptures:{"0":{name:"delimiter.curly"}},patterns:[{include:"#documentationBody"},{include:"#comment"}]}]},"enum-decl":{begin:/(?:\b(const)\p{space}+)?\b(enum)\p{space}+([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{"1":{name:"storage.modifier.ballerina"},"2":{name:"keyword.other.ballerina"},"3":{name:"entity.name.type.enum.ballerina"}},end:/(?<=\})/dgv,name:"meta.enum.declaration.ballerina",patterns:[{include:"#comment"},{include:"#mdDocumentation"},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},patterns:[{include:"#comment"},{include:"#mdDocumentation"},{begin:/([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{"0":{name:"variable.other.enummember.ballerina"}},end:/(?=[\,\}]|(?=\n?$))/dgv,patterns:[{include:"#comment"},{include:"#variable-initializer"}]},{begin:/(?=(('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\\\`]|\\[^\n])*`)|(\[([^\]\[]|\[[^\]\[]*\])+\])))/dgv,end:/(?=[\,\}]|(?=\n?$))/dgv,patterns:[{include:"#string"},{include:"#array-literal"},{include:"#comment"},{include:"#variable-initializer"}]},{include:"#punctuation-comma"}]}]},errorDestructure:{patterns:[{begin:/error/dgv,beginCaptures:{"0":{name:"storage.type.ballerina"}},end:/(?==>)/dgv,patterns:[{include:"#code"}]}]},expression:{patterns:[{include:"#keywords"},{include:"#expressionWithoutIdentifiers"},{include:"#identifiers"},{include:"#regex"}]},"expression-operators":{patterns:[{match:/(?:\*|(?<!\()\/|[\-\%\+])=/dgv,name:"keyword.operator.assignment.compound.ballerina"},{match:/(?:[\&\^]|<<|>>>??|\|)=/dgv,name:"keyword.operator.assignment.compound.bitwise.ballerina"},{match:/<<|>>>?/dgv,name:"keyword.operator.bitwise.shift.ballerina"},{match:/[\!\=]==?/dgv,name:"keyword.operator.comparison.ballerina"},{match:/<=|>=|<>|[\<\>]/dgv,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:/(?<=[\$_\p{Alpha}\p{Nd}])(!)\p{space}*(?:(\/=)|(\/)(?![\*\/]))/dgv},{match:/!|&&|\|\||\?\?/dgv,name:"keyword.operator.logical.ballerina"},{match:/[\&\^\|\~]/dgv,name:"keyword.operator.bitwise.ballerina"},{match:/=/dgv,name:"keyword.operator.assignment.ballerina"},{match:/--/dgv,name:"keyword.operator.decrement.ballerina"},{match:/\+\+/dgv,name:"keyword.operator.increment.ballerina"},{match:/[\-\%\*\+\/]/dgv,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]*)(:)/dgv,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:/()/dgv,name:"constant.other.flag.regexp.ballerina",patterns:[{include:"#regexp"},{include:"#template-substitution-element"}]}]},"for-loop":{begin:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))foreach\p{space}*/dgv,beginCaptures:{"0":{name:"keyword.control.loop.ballerina"},"1":{name:"support.type.primitive.ballerina"}},end:/(?=\{)/dgv,patterns:[{match:/\bin\b/dgv,name:"keyword.other.ballerina"},{include:"#identifiers"},{include:"#comment"},{include:"#var-expr"},{include:"#expression"}]},forkBody:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},end:/(?=\})/dgv,patterns:[{include:"#workerDef"}]}]},forkStatement:{patterns:[{begin:/\bfork\b/dgv,beginCaptures:{"0":{name:"keyword.control.ballerina"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},patterns:[{include:"#forkBody"}]}]},"function-body":{patterns:[{include:"#comment"},{include:"#functionParameters"},{include:"#decl-block"},{begin:/=>/dgv,beginCaptures:{"0":{name:"meta.arrow.ballerina storage.type.function.arrow.ballerina"}},end:/(?=;)|(?=,)|(?=\);)/dgv,name:"meta.block.ballerina",patterns:[{include:"#natural-expr"},{include:"#statements"},{include:"#punctuation-comma"}]},{match:/\*/dgv,name:"keyword.generator.asterisk.ballerina"}]},"function-defn":{begin:/(?:(p(?:ublic|rivate))\p{space}+)?(function)\b/dgv,beginCaptures:{"1":{name:"keyword.other.ballerina"},"2":{name:"keyword.other.ballerina"}},end:/(?<=;)|(?<=\})|(?<=,)|(?=\);)/dgv,name:"meta.function.ballerina",patterns:[{match:/\bexternal\b/dgv,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:/,/dgv,name:"punctuation.separator.parameter.ballerina"}]},functionName:{patterns:[{match:/\bfunction\b/dgv,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:/\p{space}+(\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|([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*))/dgv}]},functionParameters:{begin:/[\(\[]/dgv,beginCaptures:{"0":{name:"punctuation.definition.parameters.begin.ballerina"}},end:/[\]\)]/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.end.ballerina"}},name:"meta.parameters.ballerina",patterns:[{include:"#function-parameters-body"}]},functionReturns:{begin:/\p{space}*(returns)\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.other.ballerina"}},end:/(?==>)|(=)|(?=\{)|(\))|(?=;)/dgv,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:/\p{space}*\b(var)(?=\p{space}+|[\?\[])/dgv},{match:/\|/dgv,name:"keyword.operator.ballerina"},{match:/\?/dgv,name:"keyword.operator.optional.ballerina"},{include:"#type-annotation"},{include:"#type-tuple"},{include:"#keywords"},{match:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv,name:"variable.other.readwrite.ballerina"}]},functionType:{patterns:[{begin:/\bfunction\b/dgv,beginCaptures:{"0":{name:"keyword.ballerina"}},end:/(?=,)|(?=\|)|(?=:)|(?==>)|(?=\))|(?=\])/dgv,patterns:[{include:"#comment"},{include:"#functionTypeParamList"},{include:"#functionTypeReturns"}]}]},functionTypeParamList:{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"delimiter.parenthesis"}},end:/\)/dgv,endCaptures:{"0":{name:"delimiter.parenthesis"}},patterns:[{match:/public/dgv,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/dgv,beginCaptures:{"0":{name:"keyword"}},end:/(?=,)|\||(?=\])|(?=\))/dgv,patterns:[{include:"#functionTypeReturnsParameter"},{include:"#comment"}]}]},functionTypeReturnsParameter:{patterns:[{begin:/((?=record|object|function)|[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{"0":{name:"storage.type.ballerina"}},end:/(?=,)|[\:\|]|(?==>)|(?=\))|(?=\])/dgv,patterns:[{include:"#record"},{include:"#objectDec"},{include:"#functionType"},{include:"#constrainType"},{include:"#defaultValue"},{include:"#comment"},{include:"#parameterTuple"},{match:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv,name:"default.variable.parameter.ballerina"}]}]},functionTypeType:{patterns:[{begin:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv,beginCaptures:{"0":{name:"storage.type.ballerina"}},end:/(?=,)|\||(?=\])|(?=\))/dgv}]},identifiers:{patterns:[{captures:{"1":{name:"punctuation.accessor.ballerina"},"2":{name:"punctuation.accessor.optional.ballerina"},"3":{name:"entity.name.function.ballerina"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?:(\\.)|(\\?\\.(?!\\p{space}*\\p{Nd})))\\p{space}*)?([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*)(?=\\p{space}*=\\p{space}*((((function\\p{space}*[\\(\\*\\<])|(function\\p{space}+)|([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((((<\\p{space}*)(?=\\n?$)|((<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*((([\\[\\{]\\p{space}*)?)(?=\\n?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*((\\)\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[\\$_\\p{Alpha}]))([^\"'\\(\\)\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\\\\\`]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))","dgv",{"lazyCompile":true})},{captures:{"1":{name:"punctuation.accessor.ballerina"},"2":{name:"punctuation.accessor.optional.ballerina"},"3":{name:"entity.name.function.ballerina"}},match:/(?:(\.)|(\?\.(?!\p{space}*\p{Nd})))\p{space}*(#?[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\p{space}*(?=\()/dgv},{captures:{"1":{name:"punctuation.accessor.ballerina"},"2":{name:"punctuation.accessor.optional.ballerina"},"3":{name:"variable.other.property.ballerina"}},match:/(?:(\.)|(\?\.(?!\p{space}*\p{Nd})))\p{space}*(#?[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv},{include:"#type-primitive"},{include:"#self-literal"},{match:/\b(check|foreach|if|checkpanic)\b/dgv,name:"keyword.control.ballerina"},{include:"#natural-expr"},{include:"#call"},{match:/\b(var)\b/dgv,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:/([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)((\.)([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)(\()(\)))?/dgv},{match:/(')([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,name:"variable.other.property.ballerina"},{include:"#type-annotation"}]},"if-statement":{patterns:[{begin:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?=\bif\b\p{space}*(?!\{))/dgv,end:/(?<=\})/dgv,patterns:[{include:"#comment"},{begin:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(if)\p{space}*(\()?/dgv,beginCaptures:{"1":{name:"keyword.control.conditional.ballerina"},"2":{name:"meta.brace.round.ballerina"}},end:/(\))|(?=\{)/dgv,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:/(?<=\))(?=[\=\p{space}])/dgv,end:/(?=\{)/dgv,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:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:\b(default)|(\*)|\b([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*))/dgv},{match:/([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,name:"variable.other.readwrite.alias.ballerina"}]},"import-declaration":{begin:/\bimport\b/dgv,beginCaptures:{"0":{name:"keyword.control.import.ballerina"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.statement.ballerina"}},name:"meta.import.ballerina",patterns:[{match:/(')([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,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/dgv,name:"keyword.control.ballerina"},{match:/\b(return|break|continue|check|checkpanic|panic|trap|from|where)\b/dgv,name:"keyword.control.flow.ballerina"},{match:/\b(public|private|external|return|record|object|remote|abstract|client|true|false|fail|import|version)\b/dgv,name:"keyword.other.ballerina"},{match:/\b(as|on|function|resource|listener|const|final|is|null|lock|annotation|source|worker|parameter|field|isolated|in)\b/dgv,name:"keyword.other.ballerina"},{match:/\b(xmlns|table|key|let|new|select|start|flush|default|do|base16|base64|conflict)\b/dgv,name:"keyword.other.ballerina"},{match:/\b(limit|outer|equals|order|by|ascending|descending|class|configurable|variable|module|service|group|collect)\b/dgv,name:"keyword.other.ballerina"},{match:/(=>)/dgv,name:"meta.arrow.ballerina storage.type.function.arrow.ballerina"},{match:/([\-\!\%\+]|~=|===?|=|!==??|[\&\<\>\|]|\?:|\.\.\.|<=|>=|&&|\|\||~|>>>??)/dgv,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:/\{/dgv,end:/\}/dgv,patterns:[{include:"#code"}]}]},matchBindingPattern:{patterns:[{begin:/var/dgv,beginCaptures:{"0":{name:"storage.type.ballerina"}},end:/(?==>)|,/dgv,patterns:[{include:"#errorDestructure"},{include:"#code"},{match:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv,name:"variable.parameter.ballerina"}]}]},matchStatement:{patterns:[{begin:/\bmatch\b/dgv,beginCaptures:{"0":{name:"keyword.control.ballerina"}},end:/\}/dgv,patterns:[{include:"#matchStatementBody"},{include:"#comment"},{include:"#code"}]}]},matchStatementBody:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ballerina.documentation"}},end:/(?=\})/dgv,endCaptures:{"0":{name:"punctuation.definition.block.ballerina.documentation"}},patterns:[{include:"#literal"},{include:"#matchBindingPattern"},{include:"#matchStatementPatternClause"},{include:"#comment"},{include:"#code"}]}]},matchStatementPatternClause:{patterns:[{begin:/=>/dgv,beginCaptures:{"0":{name:"keyword.ballerina"}},end:/((\})|[\,\;])/dgv,patterns:[{include:"#callableUnitBody"},{include:"#code"}]}]},mdDocumentation:{begin:/#/dgv,end:/[\n\r]+/dgv,name:"comment.mddocs.ballerina",patterns:[{include:"#mdDocumentationReturnParamDescription"},{include:"#mdDocumentationParamDescription"}]},mdDocumentationParamDescription:{patterns:[{begin:/(\+\p{space}+)('?[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)(\p{space}*-\p{space}+)/dgv,beginCaptures:{"1":{name:"keyword.operator.ballerina"},"2":{name:"variable.other.readwrite.ballerina"},"3":{name:"keyword.operator.ballerina"}},end:/(?=[^\n\r\#]|# *?\+)/dgv,patterns:[{match:/#[^\n]*/dgv,name:"comment.mddocs.paramdesc.ballerina"}]}]},mdDocumentationReturnParamDescription:{patterns:[{begin:/(#) *?(\+) *(return) *(-)?([^\n]*)/dgv,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:/(?=[^\n\r\#]|# *?\+)/dgv,patterns:[{match:/#[^\n]*/dgv,name:"comment.mddocs.returnparamdesc.ballerina"}]}]},multiType:{patterns:[{match:/(?<=\|)([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)|([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)(?=\|)/dgv,name:"storage.type.ballerina"},{match:/\|/dgv,name:"keyword.operator.ballerina"}]},"natural-expr":{patterns:[{begin:/natural/dgv,beginCaptures:{"0":{name:"keyword.other.ballerina"}},end:/(?=\})/dgv,endCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},patterns:[{include:"#natural-expr-body"}]}]},"natural-expr-body":{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},contentName:"string.template.ballerina",end:/(?=\})/dgv,endCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},patterns:[{include:"#template-substitution-element"},{include:"#string-character-escape"},{include:"#templateVariable"}]}]},numbers:{patterns:[{match:/\b(?:0[Xx][A-Fa-f\p{Nd}]+\b|\p{Nd}+(?:\.(?:\p{Nd}+|(?=\n?$)))?)/dgv,name:"constant.numeric.decimal.ballerina"}]},"object-literal":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},end:/\}/dgv,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:/(?=\[)/dgv,end:/(?=:)|((?<=\])(?=\p{space}*[\(\<]))/dgv,name:"meta.object.member.ballerina meta.object-literal.key.ballerina",patterns:[{include:"#comment"}]},{begin:/(?=["'\`])/dgv,end:/(?=:)|((?<=["'\`])(?=((\p{space}*[\(\,\<\}])|(\n*\})|(\p{space}+(as)\p{space}+))))/dgv,name:"meta.object.member.ballerina meta.object-literal.key.ballerina",patterns:[{include:"#comment"},{include:"#string"}]},{begin:/(?=\b((?<!\$)0[Xx]\p{AHex}[_\p{AHex}]*(n)?\b(?!\$))|\b((?<!\$)0[Bb][01][01_]*(n)?\b(?!\$))|\b((?<!\$)0[Oo]?[0-7][0-7_]*(n)?\b(?!\$))|((?<!\$)(?:\b[0-9][0-9_]*(\.)[0-9][0-9_]*[Ee][\-\+]?[0-9][0-9_]*(n)?\b|\b[0-9][0-9_]*(\.)[Ee][\-\+]?[0-9][0-9_]*(n)?\b|\B(\.)[0-9][0-9_]*[Ee][\-\+]?[0-9][0-9_]*(n)?\b|\b[0-9][0-9_]*[Ee][\-\+]?[0-9][0-9_]*(n)?\b|\b[0-9][0-9_]*(\.)[0-9][0-9_]*(n)?\b|\b[0-9][0-9_]*(\.)(n)?\B|\B(\.)[0-9][0-9_]*(n)?\b|\b[0-9][0-9_]*(n)?\b(?!\.))(?!\$)))/dgv,end:/(?=:)|(?=\p{space}*([\(\,\<\}])|(\p{space}+as\p{space}+))/dgv,name:"meta.object.member.ballerina meta.object-literal.key.ballerina",patterns:[{include:"#comment"},{include:"#numbers"}]},{begin:/(?<=[\]"'\`])(?=\p{space}*[\(\<])/dgv,end:/(?=[\,\;\}])|(?<=\})/dgv,name:"meta.method.declaration.ballerina",patterns:[{include:"#function-body"}]},{captures:{"0":{name:"meta.object-literal.key.ballerina"},"1":{name:"constant.numeric.decimal.ballerina"}},match:/(?![\$_\p{Alpha}])(\p{Nd}+)\p{space}*(?=(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*:)/dgv,name:"meta.object.member.ballerina"},{captures:{"0":{name:"meta.object-literal.key.ballerina"},"1":{name:"entity.name.function.ballerina"}},match:/*@__PURE__*/ new EmulatedRegExp("([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?=(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*:(\\p{space}*/\\*([^\\*]|(\\*[^\\/]))*\\*/)*\\p{space}*((((function\\p{space}*[\\(\\*\\<])|(function\\p{space}+)|([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((((<\\p{space}*)(?=\\n?$)|((<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*((([\\[\\{]\\p{space}*)?)(?=\\n?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*((\\)\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[\\$_\\p{Alpha}]))([^\"'\\(\\)\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\\\\\`]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))","dgv",{"lazyCompile":true}),name:"meta.object.member.ballerina"},{captures:{"0":{name:"meta.object-literal.key.ballerina"}},match:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*\p{space}*(?=(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*:)/dgv,name:"meta.object.member.ballerina"},{begin:/\.\.\./dgv,beginCaptures:{"0":{name:"keyword.operator.spread.ballerina"}},end:/(?=[\,\}])/dgv,name:"meta.object.member.ballerina",patterns:[{include:"#expression"}]},{captures:{"1":{name:"variable.other.readwrite.ballerina"}},match:/([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\p{space}*(?=[\,\}]|(?=\n?$)|\/\/|\/\*)/dgv,name:"meta.object.member.ballerina"},{captures:{"1":{name:"keyword.control.as.ballerina"},"2":{name:"storage.modifier.ballerina"}},match:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(as)\p{space}+(const)(?=\p{space}*([\,\}]|(?=\n?$)))/dgv,name:"meta.object.member.ballerina"},{begin:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(as)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.control.as.ballerina"}},end:/(?=[\-\]\)\+\,\:\;\>\?\}]|\|\||&&|!==|(?=\n?$)|^|((?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(as)\p{space}+))/dgv,name:"meta.object.member.ballerina"},{begin:/(?=[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*\p{space}*=)/dgv,end:/(?=[\,\}]|(?=\n?$)|\/\/|\/\*)/dgv,name:"meta.object.member.ballerina",patterns:[{include:"#expression"}]}]},objectDec:{patterns:[{begin:/\bobject\b(?!:)/dgv,beginCaptures:{"0":{name:"keyword.other.ballerina"}},end:/(?<=\})/dgv,patterns:[{include:"#decl-block"}]}]},objectInitBody:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},end:/(?=\})/dgv,endCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},patterns:[{include:"#comment"},{include:"#code"}]}]},objectInitParameters:{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.parameters.begin.ballerina"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.end.ballerina"}},patterns:[{include:"#code"},{match:/\b([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\b/dgv,name:"variable.parameter.ballerina"}]}]},objectMemberFunctionDec:{patterns:[{begin:/\bfunction\b/dgv,beginCaptures:{"0":{name:"keyword.ballerina"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},patterns:[{include:"#functionParameters"},{match:/\breturns\b/dgv,name:"keyword.ballerina"},{include:"#code"}]}]},parameter:{patterns:[{begin:/((?=record|object|function)|([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)(?=\|)|[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{"0":{name:"storage.type.ballerina"}},end:/[\,\:\|]|(?==>)|(?=\))|(?=\])/dgv,patterns:[{include:"#parameterWithDescriptor"},{include:"#record"},{include:"#objectDec"},{include:"#functionType"},{include:"#constrainType"},{include:"#defaultValue"},{include:"#comment"},{include:"#parameterTuple"},{match:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv,name:"default.variable.parameter.ballerina"}]}]},"parameter-name":{patterns:[{captures:{"1":{name:"support.type.primitive.ballerina"}},match:/\p{space}*\b(var)\p{space}+/dgv},{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:/(?:(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))\p{space}+)?(?:(\.\.\.)\p{space}*)?(?<![\:\=])(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(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|([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*))(?![\$_\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))\p{space}*(\??)/dgv}]},parameterTuple:{patterns:[{begin:/\[/dgv,end:/(?=,)|(?=\|)|(?=:)|(?==>)|(?=\))/dgv,patterns:[{include:"#record"},{include:"#objectDec"},{include:"#parameterTupleType"},{include:"#parameterTupleEnd"},{include:"#comment"}]}]},parameterTupleEnd:{patterns:[{begin:/\]/dgv,end:/(?=,)|(?=\|)|(?=:)|(?==>)|(?=\))/dgv,patterns:[{include:"#defaultWithParentheses"},{match:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv,name:"default.variable.parameter.ballerina"}]}]},parameterTupleType:{patterns:[{begin:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv,beginCaptures:{"0":{name:"storage.type.ballerina"}},end:/[\,\|]|(?=\])/dgv}]},parameterWithDescriptor:{patterns:[{begin:/&/dgv,beginCaptures:{"0":{name:"keyword.operator.ballerina"}},end:/(?=,)|(?=\|)|(?=\))/dgv,patterns:[{include:"#parameter"}]}]},parameters:{patterns:[{match:/\p{space}*(return|break|continue|check|checkpanic|panic|trap|from|where)\b/dgv,name:"keyword.control.flow.ballerina"},{match:/\p{space}*(let|select)\b/dgv,name:"keyword.other.ballerina"},{match:/,/dgv,name:"punctuation.separator.parameter.ballerina"}]},paranthesised:{begin:/\(/dgv,beginCaptures:{"0":{name:"meta.brace.round.ballerina"}},end:/\)/dgv,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:/\[/dgv,end:/\]/dgv,patterns:[{include:"#comment"},{include:"#code"}]}]},"punctuation-accessor":{patterns:[{captures:{"1":{name:"punctuation.accessor.ballerina"},"2":{name:"punctuation.accessor.optional.ballerina"}},match:/(\.)|(\?\.(?!\p{space}*\p{Nd}))/dgv}]},"punctuation-comma":{patterns:[{match:/,/dgv,name:"punctuation.separator.comma.ballerina"}]},"punctuation-semicolon":{patterns:[{match:/;/dgv,name:"punctuation.terminator.statement.ballerina"}]},record:{begin:/\brecord\b/dgv,beginCaptures:{"0":{name:"keyword.other.ballerina"}},end:/(?<=\})/dgv,name:"meta.record.ballerina",patterns:[{include:"#recordBody"}]},recordBody:{patterns:[{include:"#decl-block"}]},recordLiteral:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.block.ballerina"}},patterns:[{include:"#code"}]}]},regex:{patterns:[{begin:/\b(re)(\p{space}*)(`)/dgv,beginCaptures:{"1":{name:"support.type.primitive.ballerina"},"3":{name:"punctuation.definition.regexp.template.begin.ballerina"}},end:/`/dgv,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:/\\[DSWdnrstw]|\./dgv,name:"keyword.other.character-class.regexp.ballerina"},{match:/\\[^Ppu]/dgv,name:"constant.character.escape.backslash.regexp"}]},"regex-unicode-properties-general-category":{patterns:[{match:/(Lu|Ll|Lt|Lm|Lo?|Mn|Mc|Me?|Nd|Nl|No?|Pc|Pd|Ps|Pe|Pi|Pf|Po?|Sm|Sc|Sk|So?|Zs|Zl|Zp?|Cf|Cc|Cn|Co?)/dgv,name:"constant.other.unicode-property-general-category.regexp.ballerina"}]},"regex-unicode-property-key":{patterns:[{begin:/([gs]c=)/dgv,beginCaptures:{"1":{name:"keyword.other.unicode-property-key.regexp.ballerina"}},end:/()/dgv,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:/[\$\^]/dgv,name:"keyword.control.assertion.regexp.ballerina"},{match:/[\*\+\?]|\{(\p{Nd}+,\p{Nd}+|\p{Nd}+,|,\p{Nd}+|\p{Nd}+)\}\??/dgv,name:"keyword.operator.quantifier.regexp.ballerina"},{match:/\|/dgv,name:"keyword.operator.or.regexp.ballerina"},{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.group.regexp.ballerina"}},end:/(\))/dgv,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:/(\[)(\^)?/dgv,beginCaptures:{"1":{name:"punctuation.definition.character-class.start.regexp.ballerina"},"2":{name:"keyword.operator.negation.regexp.ballerina"}},end:/(\])/dgv,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:/(?:[^\n]|(\\(?:[0-7]{3}|x\p{AHex}{2}|u\p{AHex}{4}))|(\\[^Ppu]))-(?:[^\]\\]|(\\(?:[0-7]{3}|x\p{AHex}{2}|u\p{AHex}{4}))|(\\[^Ppu]))/dgv,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:/\b(self)\b\p{space}*([^\n])\p{space}*([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\p{space}*(?=\()/dgv},{match:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))self\b(?!\$)/dgv,name:"variable.language.this.ballerina"}]},"service-decl":{begin:/\bservice\b/dgv,beginCaptures:{"0":{name:"keyword.ballerina"}},end:/(?=;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\b)|(?<=\})|(?<=,)/dgv,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:/(\/([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)|"[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*")/dgv,name:"entity.service.path.ballerina"}]},serviceOn:{patterns:[{begin:/on/dgv,beginCaptures:{"0":{name:"keyword.other.ballerina"}},end:/(?=\{)/dgv,patterns:[{include:"#code"}]}]},source:{patterns:[{begin:/\b(source)\b\p{space}+([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{"1":{name:"keyword.other.ballerina"},"2":{name:"variable.other.readwrite.ballerina"}},end:/(?=,)|(?=;)/dgv}]},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:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ballerina"}},end:/(")|([^\n\\])(?=\n?$)/dgv,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\p{AHex}{2}|u\p{AHex}{4}|u\{\p{AHex}+\}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|[^\n]|(?=\n?$))/dgv,name:"constant.character.escape.ballerina"}]},stringTemplate:{patterns:[{begin:/((string)|([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*))?(`)/dgv,beginCaptures:{"1":{name:"entity.name.function.tagged-template.ballerina"},"2":{name:"support.type.primitive.ballerina"},"4":{name:"punctuation.definition.string.template.begin.ballerina"}},end:/\\?`/dgv,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:/"/dgv,beginCaptures:{"0":{name:"string.begin.ballerina"}},end:/"/dgv,endCaptures:{"0":{name:"string.end.ballerina"}},patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.ballerina"},{match:/[^\n]/dgv,name:"string"}]}]},"template-substitution-element":{patterns:[{begin:/\$\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.template-expression.begin.ballerina"}},contentName:"meta.embedded.line.ballerina",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.template-expression.end.ballerina"}},name:"meta.template.expression.ballerina",patterns:[{include:"#expression"}]}]},templateVariable:{patterns:[{begin:/\$\{/dgv,beginCaptures:{"0":{name:"constant.character.escape.ballerina"}},end:/\}/dgv,endCaptures:{"0":{name:"constant.character.escape.ballerina"}},patterns:[{include:"#code"}]}]},"ternary-expression":{begin:/(?!\?\.\p{space}*\P{Nd})(\?)(?!\?)/dgv,beginCaptures:{"1":{name:"keyword.operator.ternary.ballerina"}},end:/\p{space}*/dgv,endCaptures:{"1":{name:"keyword.operator.ternary.ballerina"}},patterns:[{include:"#expression"}]},tupleType:{patterns:[{begin:/\[/dgv,end:/(?=[\]\;])/dgv,patterns:[{include:"#comment"},{include:"#constrainType"},{include:"#paranthesisedBracket"},{match:/\b([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\b/dgv,name:"storage.type.ballerina"}]}]},type:{patterns:[{include:"#comment"},{include:"#string"},{include:"#numbers"},{include:"#type-primitive"},{include:"#type-tuple"}]},"type-annotation":{patterns:[{begin:/(:)/dgv,beginCaptures:{"1":{name:"keyword.operator.type.annotation.ballerina"}},end:/(?<![\&\:\|])((?=(?=\n?$)|^|[\]\)\,\;\=\>\?\}]|\/\/)|(?==[^\>])|((?<=[\]\$\)\>_\}\p{Alpha}])\p{space}*(?=\{)))(\?)?/dgv,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|([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)((\.)([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)(\()(\)))?/dgv},{match:/\?/dgv,name:"keyword.operator.optional.ballerina"},{include:"#multiType"},{include:"#type"},{include:"#paranthesised"}]}]},"type-primitive":{patterns:[{match:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(string|int|boolean|float|byte|decimal|json|xml|anydata)(?![\$_\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"support.type.primitive.ballerina"}]},"type-tuple":{begin:/\[/dgv,beginCaptures:{"0":{name:"meta.brace.square.ballerina"}},end:/\]/dgv,endCaptures:{"0":{name:"meta.brace.square.ballerina"}},name:"meta.type.tuple.ballerina",patterns:[{include:"#self-literal"},{include:"#booleans"},{match:/\.\.\./dgv,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:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\p{space}*(\?)?\p{space}*(:)/dgv},{include:"#identifiers"},{include:"#type"},{include:"#punctuation-comma"}]},typeDefinition:{patterns:[{begin:/\b(type)\b\p{space}+([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{"1":{name:"keyword.other.ballerina"},"2":{name:"entity.name.type.ballerina"}},end:/;/dgv,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:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv,name:"variable.other.readwrite.ballerina"},{include:"#type-annotation"},{include:"#typeDescription"},{include:"#decl-block"}]}]},typeDescription:{patterns:[{begin:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv,end:/(?=;)/dgv,patterns:[{include:"#numbers"},{include:"#decl-block"},{include:"#type-primitive"},{match:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv,name:"storage.type.ballerina"}]}]},types:{patterns:[{match:/\b(handle|any|future|typedesc)\b/dgv,name:"storage.type.ballerina"},{match:/\b(boolean|int|string|float|decimal|byte|json|xml|anydata)\b/dgv,name:"support.type.primitive.ballerina"},{match:/\b(map|error|never|readonly|distinct)\b/dgv,name:"storage.type.ballerina"},{match:/\b(stream)\b/dgv,name:"storage.type.ballerina"}]},"unicode-property-escape":{patterns:[{begin:/(\\[Pp])(\{)/dgv,beginCaptures:{"1":{name:"keyword.other.unicode-property.regexp.ballerina"},"2":{name:"punctuation.other.unicode-property.begin.regexp.ballerina"}},end:/(\})/dgv,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)(\{)/dgv,beginCaptures:{"1":{name:"keyword.other.unicode-value.regexp.ballerina"},"2":{name:"punctuation.other.unicode-value.begin.regexp.ballerina"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.other.unicode-value.end.regexp.ballerina"}},name:"keyword.other.unicode-value.ballerina",patterns:[{match:/(\p{AHex}{1,6})/dgv,name:"constant.other.unicode-value.regexp.ballerina"}]}]},"var-expr":{patterns:[{begin:/(?=\b(var))/dgv,beginCaptures:{"0":{name:"storage.modifier.ballerina support.type.primitive.ballerina"}},end:/(?!\b(var))((?=[\;\}]|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\b)|((?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?=(if)\p{space}+))|((?<!^string|[^\$\._\p{Alpha}\p{Nd}]string|^int|[^\$\._\p{Alpha}\p{Nd}]int)(?=\p{space}*(?=\n?$))))/dgv,name:"meta.var.expr.ballerina",patterns:[{begin:/\b(var)(?=\p{space}+|[\:\?\[\|])/dgv,beginCaptures:{"0":{name:"support.type.primitive.ballerina"}},end:/(?=\P{space})/dgv},{match:/\|/dgv,name:"keyword.operator.type.annotation.ballerina"},{match:/\bin\b/dgv,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(?!\p{space}+enum\b)))/dgv,end:/(?!\b(const(?!\p{space}+enum\b)))((?=\bannotation\b|[\;\}]|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\b)|((?<!^string|[^\$\._\p{Alpha}\p{Nd}]string|^int|[^\$\._\p{Alpha}\p{Nd}]int)(?=\p{space}*(?=\n?$))))/dgv,name:"meta.var.expr.ballerina",patterns:[{begin:/\b(const(?!\p{space}+enum\b))\p{space}+/dgv,beginCaptures:{"0":{name:"keyword.other.ballerina"}},end:/(?=\P{space})/dgv},{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)(?=\p{space}+|[\:\?\[\|])/dgv,beginCaptures:{"0":{name:"support.type.primitive.ballerina"}},end:/(?!\b(var))((?=[\;\}]|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\b)|((?<!^string|[^\$\._\p{Alpha}\p{Nd}]string|^int|[^\$\._\p{Alpha}\p{Nd}]int)(?=\p{space}*(?=\n?$))))/dgv,name:"meta.var.expr.ballerina",patterns:[{include:"#xml"},{begin:/(string|int|boolean|float|byte|decimal|json|xml|anydata)(?=\p{space}+|[\:\?\[\|])/dgv,beginCaptures:{"0":{name:"support.type.primitive.ballerina"}},end:/(?=\P{space})/dgv},{match:/\|/dgv,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)\p{space}*/dgv,beginCaptures:{"0":{name:"support.type.primitive.ballerina"}},end:/(?=\P{space})/dgv},{include:"#types"},{begin:/([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{"1":{name:"meta.definition.variable.ballerina variable.other.constant.ballerina"}},end:/(?=(?=\n?$)|^|[\,\;\=\}]|((?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))\p{space}+))/dgv}]},"var-single-variable":{patterns:[{begin:/((string|int|boolean|float|byte|decimal|json|xml|anydata)|\b(readonly|error|map)\b|([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*))(?=\p{space}+|[\;\>\|])/dgv,beginCaptures:{"2":{name:"support.type.primitive.ballerina"},"3":{name:"storage.type.ballerina"},"4":{name:"meta.definition.variable.ballerina variable.other.readwrite.ballerina"}},end:/(?=(?=\n?$)|^|[\,\;\=\}])/dgv,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:/([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\p{space}+(!)?/dgv,beginCaptures:{"1":{name:"meta.definition.variable.ballerina variable.other.readwrite.ballerina"},"2":{name:"keyword.operator.definiteassignment.ballerina"}},end:/(?=(?=\n?$)|^|[\,\;\=\}]|((?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))\p{space}+))/dgv,name:"meta.var-single-variable.expr.ballerina"}]},"variable-initializer":{patterns:[{begin:/(?<![\!\=])(=)(?![\=\>])(?=\p{space}*\P{space})/dgv,beginCaptures:{"1":{name:"keyword.operator.assignment.ballerina"}},end:/(?=(?=\n?$)|[\]\)\,\;\}])/dgv,patterns:[{match:/(')([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,name:"variable.other.property.ballerina"},{include:"#xml"},{include:"#function-defn"},{include:"#expression"},{include:"#punctuation-accessor"},{include:"#regex"}]},{begin:/(?<![\!\=])(=)(?![\=\>])/dgv,beginCaptures:{"1":{name:"keyword.operator.assignment.ballerina"}},end:/(?=[\]\)\,\;\}]|((?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))\p{space}+))|(?=^\p{space}*(?=\n?$))|(?<=\P{space})(?<!=)(?=\p{space}*(?=\n?$))/dgv,patterns:[{include:"#expression"}]}]},variableDef:{patterns:[{begin:/(?!\+)[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*[\t ]|(?=\()/dgv,beginCaptures:{"0":{name:"storage.type.ballerina"}},end:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*|(?=,)|(?=;)|\.\.\./dgv,patterns:[{include:"#tupleType"},{include:"#constrainType"},{include:"#comment"}]}]},variableDefInline:{patterns:[{begin:/(?=record)|(?=object)/dgv,end:/(?=;)/dgv,patterns:[{include:"#record"},{include:"#objectDec"}]}]},workerBody:{patterns:[{begin:/\{/dgv,end:/(?=\})/dgv,patterns:[{include:"#code"}]}]},workerDef:{patterns:[{begin:/\bworker\b/dgv,beginCaptures:{"0":{name:"keyword.ballerina"}},end:/\}/dgv,patterns:[{include:"#functionReturns"},{include:"#workerBody"}]}]},xml:{patterns:[{begin:/\b(xml)(\p{space}*)(`)/dgv,beginCaptures:{"1":{name:"support.type.primitive.ballerina"},"3":{name:"punctuation.definition.string.template.begin.ballerina"}},end:/`/dgv,endCaptures:{"0":{name:"punctuation.definition.string.template.end.ballerina"}},name:"string.template.ballerina",patterns:[{include:"#xmlTag"},{include:"#xmlComment"},{include:"#templateVariable"},{match:/[^\n]/dgv,name:"string"}]}]},xmlComment:{patterns:[{begin:/<!--/dgv,beginCaptures:{"0":{name:"comment.block.xml.ballerina"}},end:/-->/dgv,endCaptures:{"0":{name:"comment.block.xml.ballerina"}},name:"comment.block.xml.ballerina"}]},xmlDoubleQuotedString:{patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"string.begin.ballerina"}},end:/"/dgv,endCaptures:{"0":{name:"string.end.ballerina"}},patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.ballerina"},{match:/[^\n]/dgv,name:"string"}]}]},xmlSingleQuotedString:{patterns:[{begin:/'/dgv,beginCaptures:{"0":{name:"string.begin.ballerina"}},end:/'/dgv,endCaptures:{"0":{name:"string.end.ballerina"}},patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.ballerina"},{match:/[^\n]/dgv,name:"string"}]}]},xmlTag:{patterns:[{begin:/(<\/?\??)\p{space}*([\-0-9A-Z_a-z]+)/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.begin.xml.ballerina"},"2":{name:"entity.name.tag.xml.ballerina"}},end:/\??\/?>/dgv,endCaptures:{"0":{name:"punctuation.definition.tag.end.xml.ballerina"}},patterns:[{include:"#xmlSingleQuotedString"},{include:"#xmlDoubleQuotedString"},{match:/xmlns/dgv,name:"keyword.other.ballerina"},{match:/([\-0-9A-Za-z]+)/dgv,name:"entity.other.attribute-name.xml.ballerina"}]}]}},scopeName:"source.ballerina",embeddedLangs:undefined,aliases:undefined})
4
4
 
5
5
  export default [
6
6
  lang
package/dist/bat.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({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:/(?<=^|[\@\p{space}])SET(?=(?=\n?$)|\p{space})/dgiv,beginCaptures:{"0":{name:"keyword.command.batchfile"}},end:/(?=(?=\n?$)\n|[\&\)\<\>\|])/dgv,patterns:[{include:"#command_set_inside"}]}]},command_set_group:{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.group.begin.batchfile"}},end:/\)/dgv,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:/([^ ][^\=]*)(=)/dgv,beginCaptures:{"1":{name:"variable.other.readwrite.batchfile"},"2":{name:"keyword.operator.assignment.batchfile"}},end:/(?=(?=\n?$)\n|[\&\)\<\>\|])/dgv,patterns:[{include:"#escaped_characters"},{include:"#variables"},{include:"#numbers"},{include:"#parens"},{include:"#strings"}]},{begin:/\p{space}+\/[Aa]\p{space}+/dgv,end:/(?=(?=\n?$)\n|[\&\)\<\>\|])/dgv,name:"meta.expression.set.batchfile",patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.batchfile"}},end:/"/dgv,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:/\p{space}+\/[Pp]\p{space}+/dgv,end:/(?=(?=\n?$)\n|[\&\)\<\>\|])/dgv,patterns:[{include:"#command_set_strings"},{begin:/([^ ][^\=]*)(=)/dgv,beginCaptures:{"1":{name:"variable.other.readwrite.batchfile"},"2":{name:"keyword.operator.assignment.batchfile"}},end:/(?=(?=\n?$)\n|[\&\)\<\>\|])/dgv,name:"meta.prompt.set.batchfile",patterns:[{include:"#strings"}]}]}]},command_set_inside_arithmetic:{patterns:[{include:"#command_set_operators"},{include:"#numbers"},{match:/,/dgv,name:"punctuation.separator.batchfile"}]},command_set_operators:{patterns:[{captures:{"1":{name:"variable.other.readwrite.batchfile"},"2":{name:"keyword.operator.assignment.augmented.batchfile"}},match:/([^ ]*)((?:[\-\*\+\/]|%%|[\&\^\|]|<<|>>)=)/dgv},{match:/[\-\*\+\/]|%%|[\&\^\|]|<<|>>|~/dgv,name:"keyword.operator.arithmetic.batchfile"},{match:/!/dgv,name:"keyword.operator.logical.batchfile"},{captures:{"1":{name:"variable.other.readwrite.batchfile"},"2":{name:"keyword.operator.assignment.batchfile"}},match:/([^ \=]*)(=)/dgv}]},command_set_strings:{patterns:[{begin:/(")\p{space}*([^ ][^\=]*)(=)/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.batchfile"},"2":{name:"variable.other.readwrite.batchfile"},"3":{name:"keyword.operator.assignment.batchfile"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.batchfile"}},name:"string.quoted.double.batchfile",patterns:[{include:"#variables"},{include:"#numbers"},{include:"#escaped_characters"}]}]},commands:{patterns:[{match:/(?<=^|[\@\p{space}])(?: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)(?=(?=\n?$)|\p{space})/dgiv,name:"keyword.command.batchfile"},{begin:/(?<=^|[\@\p{space}])(echo)(?:(?=(?=\n?$)|[\.\:])|\p{space}+(?:(o(?:n|ff))(?=\p{space}*(?=\n?$)))?)/dgiv,beginCaptures:{"1":{name:"keyword.command.batchfile"},"2":{name:"keyword.other.special-method.batchfile"}},end:/(?=(?=\n?$)\n|[\&\)\<\>\|])/dgv,patterns:[{include:"#escaped_characters"},{include:"#variables"},{include:"#numbers"},{include:"#strings"}]},{captures:{"1":{name:"keyword.command.batchfile"},"2":{name:"keyword.other.special-method.batchfile"}},match:/(?<=^|[\@\p{space}])(setlocal)(?:\p{space}*(?=\n?$)|\p{space}+((?:En|Dis)able(?:Extensions|DelayedExpansion))(?=\p{space}*(?=\n?$)))/dgiv},{include:"#command_set"}]},comments:{patterns:[{begin:/(?:^|(&))\p{space}*(?=(:[ \+\,\:\;\=]))/dgv,beginCaptures:{"1":{name:"keyword.operator.conditional.batchfile"}},end:/\n/dgv,patterns:[{begin:/(:[ \+\,\:\;\=])/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.batchfile"}},end:/(?=\n)/dgv,name:"comment.line.colon.batchfile"}]},{begin:/(?<=^|[\@\p{space}])(REM)(\.)/dgiv,beginCaptures:{"1":{name:"keyword.command.rem.batchfile"},"2":{name:"punctuation.separator.batchfile"}},end:/(?=(?=\n?$)\n|[\&\)\<\>\|])/dgv,name:"comment.line.rem.batchfile"},{begin:/(?<=^|[\@\p{space}])rem\b/dgiv,beginCaptures:{"0":{name:"keyword.command.rem.batchfile"}},end:/\n/dgv,name:"comment.line.rem.batchfile",patterns:[{match:/[\<\>\|]/dgv,name:"invalid.illegal.unexpected-character.batchfile"}]}]},constants:{patterns:[{match:/\bNUL\b/dgiv,name:"constant.language.batchfile"}]},controls:{patterns:[{match:/(?<=^|\p{space})(?:call|exit(?=(?=\n?$)|\p{space})|goto(?=(?=\n?$)|[\:\p{space}]))/dgiv,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:/(?<=^|\p{space})(if)\p{space}+(?:(not)\p{space}+)?(exist|defined|errorlevel|cmdextversion)(?=\p{space})/dgiv},{match:/(?<=^|\p{space})(?:if|else)(?=(?=\n?$)|\p{space})/dgiv,name:"keyword.control.conditional.batchfile"},{begin:/(?<=^|[\&\(\^\p{space}])for(?=\p{space})/dgiv,beginCaptures:{"0":{name:"keyword.control.repeat.batchfile"}},end:/\n/dgv,name:"meta.block.repeat.batchfile",patterns:[{begin:/(?<=[\^\p{space}])in(?=\p{space})/dgiv,beginCaptures:{"0":{name:"keyword.control.repeat.in.batchfile"}},end:/(?<=[\)\^\p{space}])do(?=\p{space})|\n/dgiv,endCaptures:{"0":{name:"keyword.control.repeat.do.batchfile"}},patterns:[{include:"$self"}]},{include:"$self"}]}]},escaped_characters:{patterns:[{match:/%%|\^\^!|\^(?=[^\n])|\^\n/dgv,name:"constant.character.escape.batchfile"}]},labels:{patterns:[{captures:{"1":{name:"punctuation.separator.batchfile"},"2":{name:"keyword.other.special-method.batchfile"}},match:/(?:^\p{space}*|(?<=call|goto)\p{space}*)(:)([^\+\,\:\;\=\p{space}]\P{space}*)/dgiv}]},numbers:{patterns:[{match:/(?<=^|[\=\p{space}])(0[Xx]\p{AHex}*|[\-\+]?\p{Nd}+)(?=(?=\n?$)|[\<\>\p{space}])/dgv,name:"constant.numeric.batchfile"}]},operators:{patterns:[{match:/@(?=\P{space})/dgv,name:"keyword.operator.at.batchfile"},{match:/(?<=\p{space})(?:EQU|NEQ|LSS|LEQ|GTR|GEQ)(?=\p{space})|==/dgiv,name:"keyword.operator.comparison.batchfile"},{match:/(?<=\p{space})(NOT)(?=\p{space})/dgiv,name:"keyword.operator.logical.batchfile"},{match:/(?<!\^)&&?|\|\|/dgv,name:"keyword.operator.conditional.batchfile"},{match:/(?<!\^)\|/dgv,name:"keyword.operator.pipe.batchfile"},{match:/<&?|>[\&\>]?/dgv,name:"keyword.operator.redirection.batchfile"}]},parens:{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.group.begin.batchfile"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.group.end.batchfile"}},name:"meta.group.batchfile",patterns:[{match:/[\,\;]/dgv,name:"punctuation.separator.batchfile"},{include:"$self"}]}]},repeatParameter:{patterns:[{captures:{"1":{name:"punctuation.definition.variable.batchfile"}},match:/(%%)(?:~[AaDdFfNnPpSsſTtXxZz]*(?:\$[Pp][Aa][Tt][Hh]:)?)?[A-Za-z]/dgv,name:"variable.parameter.repeat.batchfile"}]},strings:{patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.batchfile"}},end:/(")|(\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.batchfile"},"2":{name:"invalid.illegal.newline.batchfile"}},name:"string.quoted.double.batchfile",patterns:[{match:/%%/dgv,name:"constant.character.escape.batchfile"},{include:"#variables"}]}]},variable:{patterns:[{begin:/%(?=[^\%]+%)/dgv,beginCaptures:{"0":{name:"punctuation.definition.variable.begin.batchfile"}},end:/(%)|\n/dgv,endCaptures:{"1":{name:"punctuation.definition.variable.end.batchfile"}},name:"variable.other.readwrite.batchfile",patterns:[{begin:/:~/dgv,beginCaptures:{"0":{name:"punctuation.separator.batchfile"}},end:/(?=[\n\%])/dgv,name:"meta.variable.substring.batchfile",patterns:[{include:"#variable_substring"}]},{begin:/:/dgv,beginCaptures:{"0":{name:"punctuation.separator.batchfile"}},end:/(?=[\n\%])/dgv,name:"meta.variable.substitution.batchfile",patterns:[{include:"#variable_replace"},{begin:/=/dgv,beginCaptures:{"0":{name:"punctuation.separator.batchfile"}},end:/(?=[\n\%])/dgv,patterns:[{include:"#variable_delayed_expansion"},{match:/[^\%]+/dgv,name:"string.unquoted.batchfile"}]}]}]}]},variable_delayed_expansion:{patterns:[{begin:/!(?=[^\!]+!)/dgv,beginCaptures:{"0":{name:"punctuation.definition.variable.begin.batchfile"}},end:/(!)|\n/dgv,endCaptures:{"1":{name:"punctuation.definition.variable.end.batchfile"}},name:"variable.other.readwrite.batchfile",patterns:[{begin:/:~/dgv,beginCaptures:{"0":{name:"punctuation.separator.batchfile"}},end:/(?=[\n\!])/dgv,name:"meta.variable.substring.batchfile",patterns:[{include:"#variable_substring"}]},{begin:/:/dgv,beginCaptures:{"0":{name:"punctuation.separator.batchfile"}},end:/(?=[\n\!])/dgv,name:"meta.variable.substitution.batchfile",patterns:[{include:"#escaped_characters"},{include:"#variable_replace"},{include:"#variable"},{begin:/=/dgv,beginCaptures:{"0":{name:"punctuation.separator.batchfile"}},end:/(?=[\n\!])/dgv,patterns:[{include:"#variable"},{match:/[^\!]+/dgv,name:"string.unquoted.batchfile"}]}]}]}]},variable_replace:{patterns:[{match:/[^\n\!\%\=]+/dgv,name:"string.unquoted.batchfile"}]},variable_substring:{patterns:[{captures:{"1":{name:"constant.numeric.batchfile"},"2":{name:"punctuation.separator.batchfile"},"3":{name:"constant.numeric.batchfile"}},match:/([\-\+]?\p{Nd}+)(?:(,)([\-\+]?\p{Nd}+))?/dgv}]},variables:{patterns:[{captures:{"1":{name:"punctuation.definition.variable.batchfile"}},match:/(%)(?:(?:~[adfnpstxz]*(?:\$PATH:)?)?\p{Nd}|\*)/dgiv,name:"variable.parameter.batchfile"},{include:"#variable"},{include:"#variable_delayed_expansion"}]}},scopeName:"source.batchfile",embeddedLangs:undefined,aliases:["batch"]})
1
+ const lang = Object.freeze({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:/(?<=^|[\@\p{space}])SET(?=(?=\n?$)|\p{space})/dgiv,beginCaptures:{"0":{name:"keyword.command.batchfile"}},end:/(?=(?=\n?$)\n|[\&\)\<\>\|])/dgv,patterns:[{include:"#command_set_inside"}]}]},command_set_group:{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.group.begin.batchfile"}},end:/\)/dgv,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:/([^ ][^\=]*)(=)/dgv,beginCaptures:{"1":{name:"variable.other.readwrite.batchfile"},"2":{name:"keyword.operator.assignment.batchfile"}},end:/(?=(?=\n?$)\n|[\&\)\<\>\|])/dgv,patterns:[{include:"#escaped_characters"},{include:"#variables"},{include:"#numbers"},{include:"#parens"},{include:"#strings"}]},{begin:/\p{space}+\/[Aa]\p{space}+/dgv,end:/(?=(?=\n?$)\n|[\&\)\<\>\|])/dgv,name:"meta.expression.set.batchfile",patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.batchfile"}},end:/"/dgv,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:/\p{space}+\/[Pp]\p{space}+/dgv,end:/(?=(?=\n?$)\n|[\&\)\<\>\|])/dgv,patterns:[{include:"#command_set_strings"},{begin:/([^ ][^\=]*)(=)/dgv,beginCaptures:{"1":{name:"variable.other.readwrite.batchfile"},"2":{name:"keyword.operator.assignment.batchfile"}},end:/(?=(?=\n?$)\n|[\&\)\<\>\|])/dgv,name:"meta.prompt.set.batchfile",patterns:[{include:"#strings"}]}]}]},command_set_inside_arithmetic:{patterns:[{include:"#command_set_operators"},{include:"#numbers"},{match:/,/dgv,name:"punctuation.separator.batchfile"}]},command_set_operators:{patterns:[{captures:{"1":{name:"variable.other.readwrite.batchfile"},"2":{name:"keyword.operator.assignment.augmented.batchfile"}},match:/([^ ]*)((?:[\-\*\+\/]|%%|[\&\^\|]|<<|>>)=)/dgv},{match:/[\-\*\+\/]|%%|[\&\^\|]|<<|>>|~/dgv,name:"keyword.operator.arithmetic.batchfile"},{match:/!/dgv,name:"keyword.operator.logical.batchfile"},{captures:{"1":{name:"variable.other.readwrite.batchfile"},"2":{name:"keyword.operator.assignment.batchfile"}},match:/([^ \=]*)(=)/dgv}]},command_set_strings:{patterns:[{begin:/(")\p{space}*([^ ][^\=]*)(=)/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.batchfile"},"2":{name:"variable.other.readwrite.batchfile"},"3":{name:"keyword.operator.assignment.batchfile"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.batchfile"}},name:"string.quoted.double.batchfile",patterns:[{include:"#variables"},{include:"#numbers"},{include:"#escaped_characters"}]}]},commands:{patterns:[{match:/(?<=^|[\@\p{space}])(?: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 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|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)(?=(?=\n?$)|\p{space})/dgiv,name:"keyword.command.batchfile"},{begin:/(?<=^|[\@\p{space}])(echo)(?:(?=(?=\n?$)|[\.\:])|\p{space}+(?:(o(?:n|ff))(?=\p{space}*(?=\n?$)))?)/dgiv,beginCaptures:{"1":{name:"keyword.command.batchfile"},"2":{name:"keyword.other.special-method.batchfile"}},end:/(?=(?=\n?$)\n|[\&\)\<\>\|])/dgv,patterns:[{include:"#escaped_characters"},{include:"#variables"},{include:"#numbers"},{include:"#strings"}]},{captures:{"1":{name:"keyword.command.batchfile"},"2":{name:"keyword.other.special-method.batchfile"}},match:/(?<=^|[\@\p{space}])(setlocal)(?:\p{space}*(?=\n?$)|\p{space}+((?:En|Dis)able(?:Extensions|DelayedExpansion))(?=\p{space}*(?=\n?$)))/dgiv},{include:"#command_set"}]},comments:{patterns:[{begin:/(?:^|(&))\p{space}*(?=(:[ \+\,\:\;\=]))/dgv,beginCaptures:{"1":{name:"keyword.operator.conditional.batchfile"}},end:/\n/dgv,patterns:[{begin:/(:[ \+\,\:\;\=])/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.batchfile"}},end:/(?=\n)/dgv,name:"comment.line.colon.batchfile"}]},{begin:/(?<=^|[\@\p{space}])(REM)(\.)/dgiv,beginCaptures:{"1":{name:"keyword.command.rem.batchfile"},"2":{name:"punctuation.separator.batchfile"}},end:/(?=(?=\n?$)\n|[\&\)\<\>\|])/dgv,name:"comment.line.rem.batchfile"},{begin:/(?<=^|[\@\p{space}])rem\b/dgiv,beginCaptures:{"0":{name:"keyword.command.rem.batchfile"}},end:/\n/dgv,name:"comment.line.rem.batchfile",patterns:[{match:/[\<\>\|]/dgv,name:"invalid.illegal.unexpected-character.batchfile"}]}]},constants:{patterns:[{match:/\bNUL\b/dgiv,name:"constant.language.batchfile"}]},controls:{patterns:[{match:/(?<=^|\p{space})(?:call|exit(?=(?=\n?$)|\p{space})|goto(?=(?=\n?$)|[\:\p{space}]))/dgiv,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:/(?<=^|\p{space})(if)\p{space}+(?:(not)\p{space}+)?(exist|defined|errorlevel|cmdextversion)(?=\p{space})/dgiv},{match:/(?<=^|\p{space})(?:if|else)(?=(?=\n?$)|\p{space})/dgiv,name:"keyword.control.conditional.batchfile"},{begin:/(?<=^|[\&\(\^\p{space}])for(?=\p{space})/dgiv,beginCaptures:{"0":{name:"keyword.control.repeat.batchfile"}},end:/\n/dgv,name:"meta.block.repeat.batchfile",patterns:[{begin:/(?<=[\^\p{space}])in(?=\p{space})/dgiv,beginCaptures:{"0":{name:"keyword.control.repeat.in.batchfile"}},end:/(?<=[\)\^\p{space}])do(?=\p{space})|\n/dgiv,endCaptures:{"0":{name:"keyword.control.repeat.do.batchfile"}},patterns:[{include:"$self"}]},{include:"$self"}]}]},escaped_characters:{patterns:[{match:/%%|\^\^!|\^(?=[^\n])|\^\n/dgv,name:"constant.character.escape.batchfile"}]},labels:{patterns:[{captures:{"1":{name:"punctuation.separator.batchfile"},"2":{name:"keyword.other.special-method.batchfile"}},match:/(?:^\p{space}*|(?<=call|goto)\p{space}*)(:)([^\+\,\:\;\=\p{space}]\P{space}*)/dgiv}]},numbers:{patterns:[{match:/(?<=^|[\=\p{space}])(0[Xx]\p{AHex}*|[\-\+]?\p{Nd}+)(?=(?=\n?$)|[\<\>\p{space}])/dgv,name:"constant.numeric.batchfile"}]},operators:{patterns:[{match:/@(?=\P{space})/dgv,name:"keyword.operator.at.batchfile"},{match:/(?<=\p{space})(?:EQU|NEQ|LSS|LEQ|GTR|GEQ)(?=\p{space})|==/dgiv,name:"keyword.operator.comparison.batchfile"},{match:/(?<=\p{space})(NOT)(?=\p{space})/dgiv,name:"keyword.operator.logical.batchfile"},{match:/(?<!\^)&&?|\|\|/dgv,name:"keyword.operator.conditional.batchfile"},{match:/(?<!\^)\|/dgv,name:"keyword.operator.pipe.batchfile"},{match:/<&?|>[\&\>]?/dgv,name:"keyword.operator.redirection.batchfile"}]},parens:{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.group.begin.batchfile"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.group.end.batchfile"}},name:"meta.group.batchfile",patterns:[{match:/[\,\;]/dgv,name:"punctuation.separator.batchfile"},{include:"$self"}]}]},repeatParameter:{patterns:[{captures:{"1":{name:"punctuation.definition.variable.batchfile"}},match:/(%%)(?:~[AaDdFfNnPpSsſTtXxZz]*(?:\$[Pp][Aa][Tt][Hh]:)?)?[A-Za-z]/dgv,name:"variable.parameter.repeat.batchfile"}]},strings:{patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.batchfile"}},end:/(")|(\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.batchfile"},"2":{name:"invalid.illegal.newline.batchfile"}},name:"string.quoted.double.batchfile",patterns:[{match:/%%/dgv,name:"constant.character.escape.batchfile"},{include:"#variables"}]}]},variable:{patterns:[{begin:/%(?=[^\%]+%)/dgv,beginCaptures:{"0":{name:"punctuation.definition.variable.begin.batchfile"}},end:/(%)|\n/dgv,endCaptures:{"1":{name:"punctuation.definition.variable.end.batchfile"}},name:"variable.other.readwrite.batchfile",patterns:[{begin:/:~/dgv,beginCaptures:{"0":{name:"punctuation.separator.batchfile"}},end:/(?=[\n\%])/dgv,name:"meta.variable.substring.batchfile",patterns:[{include:"#variable_substring"}]},{begin:/:/dgv,beginCaptures:{"0":{name:"punctuation.separator.batchfile"}},end:/(?=[\n\%])/dgv,name:"meta.variable.substitution.batchfile",patterns:[{include:"#variable_replace"},{begin:/=/dgv,beginCaptures:{"0":{name:"punctuation.separator.batchfile"}},end:/(?=[\n\%])/dgv,patterns:[{include:"#variable_delayed_expansion"},{match:/[^\%]+/dgv,name:"string.unquoted.batchfile"}]}]}]}]},variable_delayed_expansion:{patterns:[{begin:/!(?=[^\!]+!)/dgv,beginCaptures:{"0":{name:"punctuation.definition.variable.begin.batchfile"}},end:/(!)|\n/dgv,endCaptures:{"1":{name:"punctuation.definition.variable.end.batchfile"}},name:"variable.other.readwrite.batchfile",patterns:[{begin:/:~/dgv,beginCaptures:{"0":{name:"punctuation.separator.batchfile"}},end:/(?=[\n\!])/dgv,name:"meta.variable.substring.batchfile",patterns:[{include:"#variable_substring"}]},{begin:/:/dgv,beginCaptures:{"0":{name:"punctuation.separator.batchfile"}},end:/(?=[\n\!])/dgv,name:"meta.variable.substitution.batchfile",patterns:[{include:"#escaped_characters"},{include:"#variable_replace"},{include:"#variable"},{begin:/=/dgv,beginCaptures:{"0":{name:"punctuation.separator.batchfile"}},end:/(?=[\n\!])/dgv,patterns:[{include:"#variable"},{match:/[^\!]+/dgv,name:"string.unquoted.batchfile"}]}]}]}]},variable_replace:{patterns:[{match:/[^\n\!\%\=]+/dgv,name:"string.unquoted.batchfile"}]},variable_substring:{patterns:[{captures:{"1":{name:"constant.numeric.batchfile"},"2":{name:"punctuation.separator.batchfile"},"3":{name:"constant.numeric.batchfile"}},match:/([\-\+]?\p{Nd}+)(?:(,)([\-\+]?\p{Nd}+))?/dgv}]},variables:{patterns:[{captures:{"1":{name:"punctuation.definition.variable.batchfile"}},match:/(%)(?:(?:~[adfnpstxz]*(?:\$PATH:)?)?\p{Nd}|\*)/dgiv,name:"variable.parameter.batchfile"},{include:"#variable"},{include:"#variable_delayed_expansion"}]}},scopeName:"source.batchfile",embeddedLangs:undefined,aliases:["batch"]})
2
2
 
3
3
  export default [
4
4
  lang