@shikijs/langs 3.2.1 → 3.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/dist/abap.mjs +1 -1
  2. package/dist/actionscript-3.mjs +1 -1
  3. package/dist/ada.mjs +1 -1
  4. package/dist/angular-expression.mjs +1 -1
  5. package/dist/angular-let-declaration.mjs +1 -1
  6. package/dist/angular-template-blocks.mjs +1 -1
  7. package/dist/angular-ts.mjs +1 -1
  8. package/dist/apex.mjs +1 -1
  9. package/dist/apl.mjs +1 -1
  10. package/dist/applescript.mjs +1 -1
  11. package/dist/ara.mjs +1 -1
  12. package/dist/asciidoc.mjs +1 -1
  13. package/dist/asm.mjs +1 -1
  14. package/dist/astro.mjs +1 -1
  15. package/dist/awk.mjs +1 -1
  16. package/dist/ballerina.mjs +1 -1
  17. package/dist/bat.mjs +1 -1
  18. package/dist/beancount.mjs +1 -1
  19. package/dist/berry.mjs +1 -1
  20. package/dist/bibtex.mjs +1 -1
  21. package/dist/bicep.mjs +1 -1
  22. package/dist/blade.mjs +1 -1
  23. package/dist/c.mjs +1 -1
  24. package/dist/cadence.mjs +1 -1
  25. package/dist/cairo.mjs +1 -1
  26. package/dist/clarity.mjs +1 -1
  27. package/dist/clojure.mjs +1 -1
  28. package/dist/cmake.mjs +1 -1
  29. package/dist/cobol.mjs +1 -1
  30. package/dist/coffee.mjs +1 -1
  31. package/dist/common-lisp.mjs +1 -1
  32. package/dist/coq.mjs +1 -1
  33. package/dist/cpp-macro.mjs +1 -1
  34. package/dist/cpp.mjs +1 -1
  35. package/dist/crystal.mjs +1 -1
  36. package/dist/csharp.mjs +1 -1
  37. package/dist/css.mjs +1 -1
  38. package/dist/cue.mjs +1 -1
  39. package/dist/cypher.mjs +1 -1
  40. package/dist/d.mjs +1 -1
  41. package/dist/dart.mjs +1 -1
  42. package/dist/dax.mjs +1 -1
  43. package/dist/desktop.mjs +1 -1
  44. package/dist/dream-maker.mjs +1 -1
  45. package/dist/elixir.mjs +1 -1
  46. package/dist/elm.mjs +1 -1
  47. package/dist/emacs-lisp.mjs +1 -1
  48. package/dist/erb.mjs +1 -1
  49. package/dist/erlang.mjs +1 -1
  50. package/dist/fennel.mjs +1 -1
  51. package/dist/fish.mjs +1 -1
  52. package/dist/fluent.mjs +1 -1
  53. package/dist/fortran-free-form.mjs +1 -1
  54. package/dist/fsharp.mjs +1 -1
  55. package/dist/gdresource.mjs +1 -1
  56. package/dist/gdscript.mjs +1 -1
  57. package/dist/gdshader.mjs +1 -1
  58. package/dist/genie.mjs +1 -1
  59. package/dist/gherkin.mjs +1 -1
  60. package/dist/gleam.mjs +1 -1
  61. package/dist/glimmer-js.mjs +1 -1
  62. package/dist/glimmer-ts.mjs +1 -1
  63. package/dist/gnuplot.mjs +1 -1
  64. package/dist/go.mjs +1 -1
  65. package/dist/graphql.mjs +1 -1
  66. package/dist/groovy.mjs +1 -1
  67. package/dist/hack.mjs +1 -1
  68. package/dist/haml.mjs +1 -1
  69. package/dist/handlebars.mjs +1 -1
  70. package/dist/haskell.mjs +1 -1
  71. package/dist/haxe.mjs +1 -1
  72. package/dist/hcl.mjs +1 -1
  73. package/dist/hjson.mjs +1 -1
  74. package/dist/html-derivative.mjs +1 -1
  75. package/dist/html.mjs +1 -1
  76. package/dist/http.mjs +1 -1
  77. package/dist/hy.mjs +1 -1
  78. package/dist/imba.mjs +1 -1
  79. package/dist/ini.mjs +1 -1
  80. package/dist/java.mjs +1 -1
  81. package/dist/javascript.mjs +1 -1
  82. package/dist/jinja.mjs +1 -1
  83. package/dist/jison.mjs +1 -1
  84. package/dist/json.mjs +1 -1
  85. package/dist/json5.mjs +1 -1
  86. package/dist/jsonc.mjs +1 -1
  87. package/dist/jsonl.mjs +1 -1
  88. package/dist/jsonnet.mjs +1 -1
  89. package/dist/jsx.mjs +1 -1
  90. package/dist/julia.mjs +1 -1
  91. package/dist/kotlin.mjs +1 -1
  92. package/dist/kusto.mjs +1 -1
  93. package/dist/latex.mjs +1 -1
  94. package/dist/lean.mjs +1 -1
  95. package/dist/less.mjs +1 -1
  96. package/dist/liquid.mjs +1 -1
  97. package/dist/llvm.mjs +1 -1
  98. package/dist/log.mjs +1 -1
  99. package/dist/logo.mjs +1 -1
  100. package/dist/lua.mjs +1 -1
  101. package/dist/luau.mjs +1 -1
  102. package/dist/make.mjs +1 -1
  103. package/dist/markdown.mjs +1 -1
  104. package/dist/marko.mjs +1 -1
  105. package/dist/matlab.mjs +1 -1
  106. package/dist/mdc.mjs +1 -1
  107. package/dist/mdx.mjs +1 -1
  108. package/dist/mermaid.mjs +1 -1
  109. package/dist/mojo.mjs +1 -1
  110. package/dist/move.mjs +1 -1
  111. package/dist/narrat.mjs +1 -1
  112. package/dist/nim.mjs +1 -1
  113. package/dist/nix.mjs +1 -1
  114. package/dist/nushell.mjs +1 -1
  115. package/dist/objective-c.mjs +1 -1
  116. package/dist/objective-cpp.mjs +1 -1
  117. package/dist/ocaml.mjs +1 -1
  118. package/dist/pascal.mjs +1 -1
  119. package/dist/perl.mjs +1 -1
  120. package/dist/php.mjs +1 -1
  121. package/dist/plsql.mjs +1 -1
  122. package/dist/polar.mjs +1 -1
  123. package/dist/postcss.mjs +1 -1
  124. package/dist/powerquery.mjs +1 -1
  125. package/dist/powershell.mjs +1 -1
  126. package/dist/prisma.mjs +1 -1
  127. package/dist/prolog.mjs +1 -1
  128. package/dist/proto.mjs +1 -1
  129. package/dist/pug.mjs +1 -1
  130. package/dist/puppet.mjs +1 -1
  131. package/dist/purescript.mjs +1 -1
  132. package/dist/python.mjs +1 -1
  133. package/dist/qss.mjs +1 -1
  134. package/dist/r.mjs +1 -1
  135. package/dist/racket.mjs +1 -1
  136. package/dist/raku.mjs +1 -1
  137. package/dist/rel.mjs +1 -1
  138. package/dist/rst.mjs +1 -1
  139. package/dist/ruby.mjs +1 -1
  140. package/dist/rust.mjs +1 -1
  141. package/dist/sas.mjs +1 -1
  142. package/dist/sass.mjs +1 -1
  143. package/dist/scala.mjs +1 -1
  144. package/dist/scheme.mjs +1 -1
  145. package/dist/scss.mjs +1 -1
  146. package/dist/shellscript.mjs +1 -1
  147. package/dist/solidity.mjs +1 -1
  148. package/dist/sparql.mjs +1 -1
  149. package/dist/sql.mjs +1 -1
  150. package/dist/stata.mjs +1 -1
  151. package/dist/stylus.mjs +1 -1
  152. package/dist/svelte.mjs +1 -1
  153. package/dist/swift.mjs +1 -1
  154. package/dist/system-verilog.mjs +1 -1
  155. package/dist/systemd.mjs +1 -1
  156. package/dist/talonscript.mjs +1 -1
  157. package/dist/tcl.mjs +1 -1
  158. package/dist/templ.mjs +1 -1
  159. package/dist/terraform.mjs +1 -1
  160. package/dist/tex.mjs +1 -1
  161. package/dist/toml.mjs +1 -1
  162. package/dist/tsx.mjs +1 -1
  163. package/dist/turtle.mjs +1 -1
  164. package/dist/twig.mjs +1 -1
  165. package/dist/typescript.mjs +1 -1
  166. package/dist/typespec.mjs +1 -1
  167. package/dist/typst.mjs +1 -1
  168. package/dist/v.mjs +1 -1
  169. package/dist/vala.mjs +1 -1
  170. package/dist/vb.mjs +1 -1
  171. package/dist/vhdl.mjs +1 -1
  172. package/dist/vue-html.mjs +1 -1
  173. package/dist/vue.mjs +1 -1
  174. package/dist/vyper.mjs +1 -1
  175. package/dist/wasm.mjs +1 -1
  176. package/dist/wgsl.mjs +1 -1
  177. package/dist/wikitext.mjs +1 -1
  178. package/dist/wit.mjs +1 -1
  179. package/dist/wolfram.mjs +1 -1
  180. package/dist/xml.mjs +1 -1
  181. package/dist/xsl.mjs +1 -1
  182. package/dist/yaml.mjs +1 -1
  183. package/dist/zenscript.mjs +1 -1
  184. package/dist/zig.mjs +1 -1
  185. package/package.json +3 -3
package/dist/apex.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Apex\",\"fileTypes\":[\"apex\",\"cls\",\"trigger\"],\"name\":\"apex\",\"patterns\":[{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"},{\"include\":\"#directives\"},{\"include\":\"#declarations\"},{\"include\":\"#script-top-level\"}],\"repository\":{\"annotation-declaration\":{\"begin\":\"(@[_[:alpha:]]+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.annotation.apex\"}},\"end\":\"(?<=\\\\)|$)\",\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#expression\"}]},{\"include\":\"#statement\"}]},\"argument-list\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#named-argument\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"array-creation-expression\":{\"begin\":\"\\\\b(new)\\\\b\\\\s*(?<type_name>(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)?\\\\s*(?=\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.new.apex\"},\"2\":{\"patterns\":[{\"include\":\"#support-type\"},{\"include\":\"#type\"}]}},\"end\":\"(?<=])\",\"patterns\":[{\"include\":\"#bracketed-argument-list\"}]},\"block\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.apex\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.apex\"}},\"patterns\":[{\"include\":\"#statement\"}]},\"boolean-literal\":{\"patterns\":[{\"match\":\"(?<!\\\\.)\\\\btrue\\\\b\",\"name\":\"constant.language.boolean.true.apex\"},{\"match\":\"(?<!\\\\.)\\\\bfalse\\\\b\",\"name\":\"constant.language.boolean.false.apex\"}]},\"bracketed-argument-list\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.squarebracket.open.apex\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.squarebracket.close.apex\"}},\"patterns\":[{\"include\":\"#soql-query-expression\"},{\"include\":\"#named-argument\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"break-or-continue-statement\":{\"captures\":{\"1\":{\"name\":\"keyword.control.flow.break.apex\"},\"2\":{\"name\":\"keyword.control.flow.continue.apex\"}},\"match\":\"(?<!\\\\.)\\\\b(?:(break)|(continue))\\\\b\"},\"cast-expression\":{\"captures\":{\"1\":{\"name\":\"punctuation.parenthesis.open.apex\"},\"2\":{\"patterns\":[{\"include\":\"#support-type\"},{\"include\":\"#type\"}]},\"6\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"match\":\"(\\\\()\\\\s*(?<type_name>(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s*(\\\\))(?=\\\\s*@?[_[:alnum:](])\"},\"catch-clause\":{\"begin\":\"(?<!\\\\.)\\\\b(catch)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.try.catch.apex\"}},\"end\":\"(?<=})\",\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#support-type\"},{\"include\":\"#type\"}]},\"5\":{\"name\":\"entity.name.variable.local.apex\"}},\"match\":\"(?<type_name>(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s*(?:(\\\\g<identifier>)\\\\b)?\"}]},{\"include\":\"#comment\"},{\"include\":\"#block\"}]},\"class-declaration\":{\"begin\":\"(?=\\\\bclass\\\\b)\",\"end\":\"(?<=})\",\"patterns\":[{\"begin\":\"\\\\b(class)\\\\b\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.class.apex\"},\"2\":{\"name\":\"entity.name.type.class.apex\"}},\"end\":\"(?=\\\\{)\",\"patterns\":[{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"},{\"include\":\"#type-parameter-list\"},{\"include\":\"#extends-class\"},{\"include\":\"#implements-class\"}]},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.apex\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.apex\"}},\"patterns\":[{\"include\":\"#class-or-trigger-members\"}]},{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"}]},\"class-or-trigger-members\":{\"patterns\":[{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"},{\"include\":\"#storage-modifier\"},{\"include\":\"#sharing-modifier\"},{\"include\":\"#type-declarations\"},{\"include\":\"#field-declaration\"},{\"include\":\"#property-declaration\"},{\"include\":\"#indexer-declaration\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#constructor-declaration\"},{\"include\":\"#method-declaration\"},{\"include\":\"#punctuation-semicolon\"}]},\"colon-expression\":{\"match\":\":\",\"name\":\"keyword.operator.conditional.colon.apex\"},\"comment\":{\"patterns\":[{\"begin\":\"/\\\\*(\\\\*)?\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.apex\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.apex\"}},\"name\":\"comment.block.apex\"},{\"begin\":\"(^\\\\s+)?(?=//)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.apex\"}},\"end\":\"(?=$)\",\"patterns\":[{\"begin\":\"(?<!/)///(?!/)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.apex\"}},\"end\":\"(?=$)\",\"name\":\"comment.block.documentation.apex\",\"patterns\":[{\"include\":\"#xml-doc-comment\"}]},{\"begin\":\"(?<!/)//(?:(?!/)|(?=//))\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.apex\"}},\"end\":\"(?=$)\",\"name\":\"comment.line.double-slash.apex\"}]}]},\"conditional-operator\":{\"begin\":\"(?<!\\\\?)\\\\?(?![?.\\\\[])\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.conditional.question-mark.apex\"}},\"end\":\":\",\"endCaptures\":{\"0\":{\"name\":\"keyword.operator.conditional.colon.apex\"}},\"patterns\":[{\"include\":\"#expression\"}]},\"constructor-declaration\":{\"begin\":\"(?=@?[_[:alpha:]][_[:alnum:]]*\\\\s*\\\\()\",\"end\":\"(?<=})|(?=;)\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.name.function.apex\"}},\"match\":\"(@?[_[:alpha:]][_[:alnum:]]*)\\\\b\"},{\"begin\":\"(:)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.colon.apex\"}},\"end\":\"(?=\\\\{|=>)\",\"patterns\":[{\"include\":\"#constructor-initializer\"}]},{\"include\":\"#parenthesized-parameter-list\"},{\"include\":\"#comment\"},{\"include\":\"#expression-body\"},{\"include\":\"#block\"}]},\"constructor-initializer\":{\"begin\":\"\\\\b(this)\\\\b\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.this.apex\"}},\"end\":\"(?<=\\\\))\",\"patterns\":[{\"include\":\"#argument-list\"}]},\"date-literal-with-params\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.query.date.apex\"}},\"match\":\"\\\\b((LAST_N_DAYS|NEXT_N_DAYS|NEXT_N_WEEKS|LAST_N_WEEKS|NEXT_N_MONTHS|LAST_N_MONTHS|NEXT_N_QUARTERS|LAST_N_QUARTERS|NEXT_N_YEARS|LAST_N_YEARS|NEXT_N_FISCAL_QUARTERS|LAST_N_FISCAL_QUARTERS|NEXT_N_FISCAL_YEARS|LAST_N_FISCAL_YEARS)\\\\s*:\\\\d+)\\\\b\"},\"date-literals\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.query.date.apex\"}},\"match\":\"\\\\b(YESTERDAY|TODAY|TOMORROW|LAST_WEEK|THIS_WEEK|NEXT_WEEK|LAST_MONTH|THIS_MONTH|NEXT_MONTH|LAST_90_DAYS|NEXT_90_DAYS|THIS_QUARTER|LAST_QUARTER|NEXT_QUARTER|THIS_YEAR|LAST_YEAR|NEXT_YEAR|THIS_FISCAL_QUARTER|LAST_FISCAL_QUARTER|NEXT_FISCAL_QUARTER|THIS_FISCAL_YEAR|LAST_FISCAL_YEAR|NEXT_FISCAL_YEAR)\\\\b\\\\s*\"},\"declarations\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"include\":\"#punctuation-semicolon\"}]},\"directives\":{\"patterns\":[{\"include\":\"#punctuation-semicolon\"}]},\"do-statement\":{\"begin\":\"(?<!\\\\.)\\\\b(do)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.loop.do.apex\"}},\"end\":\"(?=[;}])\",\"patterns\":[{\"include\":\"#statement\"}]},\"element-access-expression\":{\"begin\":\"(?:(\\\\??\\\\.)\\\\s*)?(?:(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*)?(?:(\\\\?)\\\\s*)?(?=\\\\[)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#punctuation-accessor\"},{\"include\":\"#operator-safe-navigation\"}]},\"2\":{\"name\":\"variable.other.object.property.apex\"},\"3\":{\"name\":\"keyword.operator.null-conditional.apex\"}},\"end\":\"(?<=])(?!\\\\s*\\\\[)\",\"patterns\":[{\"include\":\"#bracketed-argument-list\"}]},\"else-part\":{\"begin\":\"(?<!\\\\.)\\\\b(else)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.conditional.else.apex\"}},\"end\":\"(?<=})|(?=;)\",\"patterns\":[{\"include\":\"#statement\"}]},\"enum-declaration\":{\"begin\":\"(?=\\\\benum\\\\b)\",\"end\":\"(?<=})\",\"patterns\":[{\"begin\":\"(?=enum)\",\"end\":\"(?=\\\\{)\",\"patterns\":[{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.enum.apex\"},\"2\":{\"name\":\"entity.name.type.enum.apex\"}},\"match\":\"(enum)\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)\"}]},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.apex\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.apex\"}},\"patterns\":[{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"},{\"include\":\"#punctuation-comma\"},{\"begin\":\"@?[_[:alpha:]][_[:alnum:]]*\",\"beginCaptures\":{\"0\":{\"name\":\"entity.name.variable.enum-member.apex\"}},\"end\":\"(?=([,}]))\",\"patterns\":[{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"},{\"include\":\"#variable-initializer\"}]}]},{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"}]},\"expression\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#merge-expression\"},{\"include\":\"#support-expression\"},{\"include\":\"#throw-expression\"},{\"include\":\"#this-expression\"},{\"include\":\"#trigger-context-declaration\"},{\"include\":\"#conditional-operator\"},{\"include\":\"#expression-operators\"},{\"include\":\"#soql-query-expression\"},{\"include\":\"#object-creation-expression\"},{\"include\":\"#array-creation-expression\"},{\"include\":\"#invocation-expression\"},{\"include\":\"#member-access-expression\"},{\"include\":\"#element-access-expression\"},{\"include\":\"#cast-expression\"},{\"include\":\"#literal\"},{\"include\":\"#parenthesized-expression\"},{\"include\":\"#initializer-expression\"},{\"include\":\"#identifier\"}]},\"expression-body\":{\"begin\":\"=>\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.arrow.apex\"}},\"end\":\"(?=[,);}])\",\"patterns\":[{\"include\":\"#expression\"}]},\"expression-operators\":{\"patterns\":[{\"match\":\"\\\\*=|/=|%=|\\\\+=|-=\",\"name\":\"keyword.operator.assignment.compound.apex\"},{\"match\":\"&=|\\\\^=|<<=|>>=|\\\\|=\",\"name\":\"keyword.operator.assignment.compound.bitwise.apex\"},{\"match\":\"<<|>>\",\"name\":\"keyword.operator.bitwise.shift.apex\"},{\"match\":\"==|!=\",\"name\":\"keyword.operator.comparison.apex\"},{\"match\":\"<=|>=|[<>]\",\"name\":\"keyword.operator.relational.apex\"},{\"match\":\"!|&&|\\\\|\\\\|\",\"name\":\"keyword.operator.logical.apex\"},{\"match\":\"[\\\\&~\\\\^|]\",\"name\":\"keyword.operator.bitwise.apex\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.apex\"},{\"match\":\"--\",\"name\":\"keyword.operator.decrement.apex\"},{\"match\":\"\\\\+\\\\+\",\"name\":\"keyword.operator.increment.apex\"},{\"match\":\"[%*/\\\\-+]\",\"name\":\"keyword.operator.arithmetic.apex\"}]},\"extends-class\":{\"begin\":\"(extends)\\\\b\\\\s+([_[:alpha:]][_[:alnum:]]*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.extends.apex\"},\"2\":{\"name\":\"entity.name.type.extends.apex\"}},\"end\":\"(?=\\\\{|implements)\"},\"field-declaration\":{\"begin\":\"(?<type_name>(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s+(\\\\g<identifier>)\\\\s*(?!=[>=])(?=[,;=]|$)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#support-type\"},{\"include\":\"#type\"}]},\"5\":{\"name\":\"entity.name.variable.field.apex\"}},\"end\":\"(?=;)\",\"patterns\":[{\"match\":\"@?[_[:alpha:]][_[:alnum:]]*\",\"name\":\"entity.name.variable.field.apex\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#comment\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#class-or-trigger-members\"}]},\"finally-clause\":{\"begin\":\"(?<!\\\\.)\\\\b(finally)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.try.finally.apex\"}},\"end\":\"(?<=})\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#block\"}]},\"for-apex-syntax\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#support-type\"},{\"include\":\"#type\"}]},\"2\":{\"name\":\"entity.name.variable.local.apex\"},\"3\":{\"name\":\"keyword.operator.iterator.colon.apex\"}},\"match\":\"([_.[:alpha:]][_.[:alnum:]]+)\\\\s+([_.[:alpha:]][_.[:alnum:]]*)\\\\s*(:)\"},\"for-statement\":{\"begin\":\"(?<!\\\\.)\\\\b(for)\\\\b\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.loop.for.apex\"}},\"end\":\"(?<=})|(?=;)\",\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#for-apex-syntax\"},{\"include\":\"#local-variable-declaration\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#punctuation-semicolon\"},{\"include\":\"#colon-expression\"}]},{\"include\":\"#statement\"}]},\"from-clause\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.query.from.apex\"},\"2\":{\"name\":\"storage.type.apex\"}},\"match\":\"(FROM)\\\\b\\\\s*([_.[:alnum:]]+\\\\b)?\"},\"goto-statement\":{\"begin\":\"(?<!\\\\.)\\\\b(goto)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.goto.apex\"}},\"end\":\"(?=;)\",\"patterns\":[{\"begin\":\"\\\\b(case)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.case.apex\"}},\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#expression\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.control.default.apex\"}},\"match\":\"\\\\b(default)\\\\b\"},{\"match\":\"@?[_[:alpha:]][_[:alnum:]]*\",\"name\":\"entity.name.label.apex\"}]},\"identifier\":{\"match\":\"@?[_[:alpha:]][_[:alnum:]]*\",\"name\":\"variable.other.readwrite.apex\"},\"if-statement\":{\"begin\":\"(?<!\\\\.)\\\\b(if)\\\\b\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.conditional.if.apex\"}},\"end\":\"(?<=})|(?=;)\",\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#expression\"}]},{\"include\":\"#statement\"}]},\"implements-class\":{\"begin\":\"(implements)\\\\b\\\\s+([_[:alpha:]][_[:alnum:]]*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.implements.apex\"},\"2\":{\"name\":\"entity.name.type.implements.apex\"}},\"end\":\"(?=\\\\{|extends)\"},\"indexer-declaration\":{\"begin\":\"(?<return_type>(?<type_name>(?:ref\\\\s+)?(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s+)(?<interface_name>\\\\g<type_name>\\\\s*\\\\.\\\\s*)?(?<indexer_name>this)\\\\s*(?=\\\\[)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type\"}]},\"6\":{\"patterns\":[{\"include\":\"#type\"},{\"include\":\"#punctuation-accessor\"}]},\"7\":{\"name\":\"keyword.other.this.apex\"}},\"end\":\"(?<=})|(?=;)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#property-accessors\"},{\"include\":\"#expression-body\"},{\"include\":\"#variable-initializer\"}]},\"initializer-expression\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.apex\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.apex\"}},\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"interface-declaration\":{\"begin\":\"(?=\\\\binterface\\\\b)\",\"end\":\"(?<=})\",\"patterns\":[{\"begin\":\"(interface)\\\\b\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.interface.apex\"},\"2\":{\"name\":\"entity.name.type.interface.apex\"}},\"end\":\"(?=\\\\{)\",\"patterns\":[{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"},{\"include\":\"#type-parameter-list\"},{\"include\":\"#extends-class\"}]},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.apex\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.apex\"}},\"patterns\":[{\"include\":\"#interface-members\"}]},{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"}]},\"interface-members\":{\"patterns\":[{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"},{\"include\":\"#property-declaration\"},{\"include\":\"#indexer-declaration\"},{\"include\":\"#method-declaration\"},{\"include\":\"#punctuation-semicolon\"}]},\"invocation-expression\":{\"begin\":\"(?:(\\\\??\\\\.)\\\\s*)?(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?<type_args>\\\\s*<([^<>]|\\\\g<type_args>)+>\\\\s*)?\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#punctuation-accessor\"},{\"include\":\"#operator-safe-navigation\"}]},\"2\":{\"name\":\"entity.name.function.apex\"},\"3\":{\"patterns\":[{\"include\":\"#type-arguments\"}]}},\"end\":\"(?<=\\\\))\",\"patterns\":[{\"include\":\"#argument-list\"}]},\"javadoc-comment\":{\"patterns\":[{\"begin\":\"^\\\\s*(/\\\\*\\\\*)(?!/)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.apex\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.apex\"}},\"name\":\"comment.block.javadoc.apex\",\"patterns\":[{\"match\":\"@(deprecated|author|return|see|serial|since|version|usage|name|link)\\\\b\",\"name\":\"keyword.other.documentation.javadoc.apex\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.documentation.javadoc.apex\"},\"2\":{\"name\":\"entity.name.variable.parameter.apex\"}},\"match\":\"(@param)\\\\s+(\\\\S+)\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.documentation.javadoc.apex\"},\"2\":{\"name\":\"entity.name.type.class.apex\"}},\"match\":\"(@(?:exception|throws))\\\\s+(\\\\S+)\"},{\"captures\":{\"1\":{\"name\":\"string.quoted.single.apex\"}},\"match\":\"(`([^`]+?)`)\"}]}]},\"literal\":{\"patterns\":[{\"include\":\"#boolean-literal\"},{\"include\":\"#null-literal\"},{\"include\":\"#numeric-literal\"},{\"include\":\"#string-literal\"}]},\"local-constant-declaration\":{\"begin\":\"(?<const_keyword>\\\\bconst\\\\b)\\\\s*(?<type_name>(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s+(\\\\g<identifier>)\\\\s*(?=[,;=])\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.apex\"},\"2\":{\"patterns\":[{\"include\":\"#type\"}]},\"6\":{\"name\":\"entity.name.variable.local.apex\"}},\"end\":\"(?=;)\",\"patterns\":[{\"match\":\"@?[_[:alpha:]][_[:alnum:]]*\",\"name\":\"entity.name.variable.local.apex\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#comment\"},{\"include\":\"#variable-initializer\"}]},\"local-declaration\":{\"patterns\":[{\"include\":\"#local-constant-declaration\"},{\"include\":\"#local-variable-declaration\"}]},\"local-variable-declaration\":{\"begin\":\"(?:(?:(\\\\bref)\\\\s+)?(\\\\bvar\\\\b)|(?<type_name>(?:ref\\\\s+)?(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*))\\\\s+(\\\\g<identifier>)\\\\s*(?=[,;=)])\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.apex\"},\"2\":{\"name\":\"keyword.other.var.apex\"},\"3\":{\"patterns\":[{\"include\":\"#support-type\"},{\"include\":\"#type\"}]},\"7\":{\"name\":\"entity.name.variable.local.apex\"}},\"end\":\"(?=[;)])\",\"patterns\":[{\"match\":\"@?[_[:alpha:]][_[:alnum:]]*\",\"name\":\"entity.name.variable.local.apex\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#comment\"},{\"include\":\"#variable-initializer\"}]},\"member-access-expression\":{\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#punctuation-accessor\"},{\"include\":\"#operator-safe-navigation\"}]},\"2\":{\"name\":\"variable.other.object.property.apex\"}},\"match\":\"(\\\\??\\\\.)\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?![_[:alnum:](]|(\\\\?)?\\\\[|<)\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#punctuation-accessor\"},{\"include\":\"#operator-safe-navigation\"}]},\"2\":{\"name\":\"variable.other.object.apex\"},\"3\":{\"patterns\":[{\"include\":\"#type-arguments\"}]}},\"match\":\"(\\\\??\\\\.)?\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)(?<type_params>\\\\s*<([^<>]|\\\\g<type_params>)+>\\\\s*)(?=(\\\\s*\\\\?)?\\\\s*\\\\.\\\\s*@?[_[:alpha:]][_[:alnum:]]*)\"},{\"captures\":{\"1\":{\"name\":\"variable.other.object.apex\"}},\"match\":\"(@?[_[:alpha:]][_[:alnum:]]*)(?=(\\\\s*\\\\?)?\\\\s*\\\\.\\\\s*@?[_[:alpha:]][_[:alnum:]]*)\"}]},\"merge-expression\":{\"begin\":\"(merge)\\\\b\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.apex\"}},\"end\":\"(?<=;)\",\"patterns\":[{\"include\":\"#object-creation-expression\"},{\"include\":\"#merge-type-statement\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-semicolon\"}]},\"merge-type-statement\":{\"captures\":{\"1\":{\"name\":\"variable.other.readwrite.apex\"},\"2\":{\"name\":\"variable.other.readwrite.apex\"},\"3\":{\"name\":\"punctuation.terminator.statement.apex\"}},\"match\":\"([_[:alpha:]]*)\\\\b\\\\s+([_[:alpha:]]*)\\\\b\\\\s*(;)\"},\"method-declaration\":{\"begin\":\"(?<return_type>(?<type_name>(?:ref\\\\s+)?(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s+)(?<interface_name>\\\\g<type_name>\\\\s*\\\\.\\\\s*)?(\\\\g<identifier>)\\\\s*(<([^<>]+)>)?\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#support-type\"},{\"include\":\"#type\"}]},\"6\":{\"patterns\":[{\"include\":\"#type\"},{\"include\":\"#punctuation-accessor\"}]},\"7\":{\"patterns\":[{\"include\":\"#support-type\"},{\"include\":\"#method-name-custom\"}]},\"8\":{\"patterns\":[{\"include\":\"#type-parameter-list\"}]}},\"end\":\"(?<=})|(?=;)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#parenthesized-parameter-list\"},{\"include\":\"#expression-body\"},{\"include\":\"#block\"}]},\"method-name-custom\":{\"match\":\"@?[_[:alpha:]][_[:alnum:]]*\",\"name\":\"entity.name.function.apex\"},\"named-argument\":{\"begin\":\"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.variable.parameter.apex\"},\"2\":{\"name\":\"punctuation.separator.colon.apex\"}},\"end\":\"(?=([,)\\\\]]))\",\"patterns\":[{\"include\":\"#expression\"}]},\"null-literal\":{\"match\":\"(?<!\\\\.)\\\\bnull\\\\b\",\"name\":\"constant.language.null.apex\"},\"numeric-literal\":{\"patterns\":[{\"match\":\"\\\\b(\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?([\\\\-+])\\\\d{2}:\\\\d{2})\\\\b\",\"name\":\"constant.numeric.datetime.apex\"},{\"match\":\"\\\\b(\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?(Z)?)\\\\b\",\"name\":\"constant.numeric.datetime.apex\"},{\"match\":\"\\\\b(\\\\d{4}-\\\\d{2}-\\\\d{2})\\\\b\",\"name\":\"constant.numeric.date.apex\"},{\"match\":\"\\\\b0([xX])[_\\\\h]+([UuLl]|UL|Ul|uL|ul|LU|Lu|lU|lu)?\\\\b\",\"name\":\"constant.numeric.hex.apex\"},{\"match\":\"\\\\b0([bB])[01_]+([UuLl]|UL|Ul|uL|ul|LU|Lu|lU|lu)?\\\\b\",\"name\":\"constant.numeric.binary.apex\"},{\"match\":\"\\\\b([0-9_]+)?\\\\.[0-9_]+(([eE])[0-9]+)?([FfDdMm])?\\\\b\",\"name\":\"constant.numeric.decimal.apex\"},{\"match\":\"\\\\b[0-9_]+([eE])[0-9_]+([FfDdMm])?\\\\b\",\"name\":\"constant.numeric.decimal.apex\"},{\"match\":\"\\\\b[0-9_]+([FfDdMm])\\\\b\",\"name\":\"constant.numeric.decimal.apex\"},{\"match\":\"\\\\b[0-9_]+([UuLl]|UL|Ul|uL|ul|LU|Lu|lU|lu)?\\\\b\",\"name\":\"constant.numeric.decimal.apex\"}]},\"object-creation-expression\":{\"patterns\":[{\"include\":\"#object-creation-expression-with-parameters\"},{\"include\":\"#object-creation-expression-with-no-parameters\"},{\"include\":\"#punctuation-comma\"}]},\"object-creation-expression-with-no-parameters\":{\"captures\":{\"1\":{\"name\":\"support.function.apex\"},\"2\":{\"name\":\"keyword.control.new.apex\"},\"3\":{\"patterns\":[{\"include\":\"#support-type\"},{\"include\":\"#type\"}]}},\"match\":\"(delete|insert|undelete|update|upsert)?\\\\s*(new)\\\\s+(?<type_name>(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s*(?=\\\\{|$)\"},\"object-creation-expression-with-parameters\":{\"begin\":\"(delete|insert|undelete|update|upsert)?\\\\s*(new)\\\\s+(?<type_name>(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.apex\"},\"2\":{\"name\":\"keyword.control.new.apex\"},\"3\":{\"patterns\":[{\"include\":\"#support-type\"},{\"include\":\"#type\"}]}},\"end\":\"(?<=\\\\))\",\"patterns\":[{\"include\":\"#argument-list\"}]},\"operator-assignment\":{\"match\":\"(?<![=!])(=)(?!=)\",\"name\":\"keyword.operator.assignment.apex\"},\"operator-safe-navigation\":{\"match\":\"\\\\?\\\\.\",\"name\":\"keyword.operator.safe-navigation.apex\"},\"orderby-clause\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.query.orderby.apex\"}},\"match\":\"\\\\b(ORDER BY)\\\\b\\\\s*\",\"patterns\":[{\"include\":\"#ordering-direction\"},{\"include\":\"#ordering-nulls\"}]},\"ordering-direction\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.query.ascending.apex\"},\"2\":{\"name\":\"keyword.operator.query.descending.apex\"}},\"match\":\"\\\\b(?:(ASC)|(DESC))\\\\b\"},\"ordering-nulls\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.query.nullsfirst.apex\"},\"2\":{\"name\":\"keyword.operator.query.nullslast.apex\"}},\"match\":\"\\\\b(?:(NULLS FIRST)|(NULLS LAST))\\\\b\"},\"parameter\":{\"captures\":{\"1\":{\"name\":\"storage.modifier.apex\"},\"2\":{\"patterns\":[{\"include\":\"#support-type\"},{\"include\":\"#type\"}]},\"6\":{\"name\":\"entity.name.variable.parameter.apex\"}},\"match\":\"(?:\\\\b(this)\\\\b\\\\s+)?(?<type_name>(?:ref\\\\s+)?(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s+(\\\\g<identifier>)\"},\"parenthesized-expression\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#expression\"}]},\"parenthesized-parameter-list\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#parameter\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#variable-initializer\"}]},\"property-accessors\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.apex\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.apex\"}},\"patterns\":[{\"match\":\"\\\\b(pr(?:ivate|otected))\\\\b\",\"name\":\"storage.modifier.apex\"},{\"match\":\"\\\\b(get)\\\\b\",\"name\":\"keyword.other.get.apex\"},{\"match\":\"\\\\b(set)\\\\b\",\"name\":\"keyword.other.set.apex\"},{\"include\":\"#comment\"},{\"include\":\"#expression-body\"},{\"include\":\"#block\"},{\"include\":\"#punctuation-semicolon\"}]},\"property-declaration\":{\"begin\":\"(?!.*\\\\b(?:class|interface|enum)\\\\b)\\\\s*(?<return_type>(?<type_name>(?:ref\\\\s+)?(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s+)(?<interface_name>\\\\g<type_name>\\\\s*\\\\.\\\\s*)?(?<property_name>\\\\g<identifier>)\\\\s*(?=\\\\{|=>|$)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type\"}]},\"6\":{\"patterns\":[{\"include\":\"#type\"},{\"include\":\"#punctuation-accessor\"}]},\"7\":{\"name\":\"entity.name.variable.property.apex\"}},\"end\":\"(?<=})|(?=;)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#property-accessors\"},{\"include\":\"#expression-body\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#class-or-trigger-members\"}]},\"punctuation-accessor\":{\"match\":\"\\\\.\",\"name\":\"punctuation.accessor.apex\"},\"punctuation-comma\":{\"match\":\",\",\"name\":\"punctuation.separator.comma.apex\"},\"punctuation-semicolon\":{\"match\":\";\",\"name\":\"punctuation.terminator.statement.apex\"},\"query-operators\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.query.apex\"}},\"match\":\"\\\\b(ABOVE|AND|AT|FOR REFERENCE|FOR UPDATE|FOR VIEW|GROUP BY|HAVING|IN|LIKE|LIMIT|NOT IN|NOT|OFFSET|OR|TYPEOF|UPDATE TRACKING|UPDATE VIEWSTAT|WITH DATA CATEGORY|WITH)\\\\b\\\\s*\"},\"return-statement\":{\"begin\":\"(?<!\\\\.)\\\\b(return)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.return.apex\"}},\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#expression\"}]},\"script-top-level\":{\"patterns\":[{\"include\":\"#method-declaration\"},{\"include\":\"#statement\"},{\"include\":\"#punctuation-semicolon\"}]},\"sharing-modifier\":{\"match\":\"(?<!\\\\.)\\\\b(with sharing|without sharing|inherited sharing)\\\\b\",\"name\":\"sharing.modifier.apex\"},\"soql-colon-method-statement\":{\"begin\":\"(:?\\\\.)?([_[:alpha:]][_[:alnum:]]*)(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.accessor.apex\"},\"2\":{\"name\":\"entity.name.function.apex\"}},\"end\":\"(?<=\\\\))\",\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#expression\"}]},{\"include\":\"#statement\"}]},\"soql-colon-vars\":{\"begin\":\"(:)\\\\s*\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.conditional.colon.apex\"}},\"end\":\"(?![_[:alnum:](]|(\\\\?)?\\\\[|<)\",\"patterns\":[{\"include\":\"#trigger-context-declaration\"},{\"captures\":{\"1\":{\"name\":\"variable.other.object.apex\"},\"2\":{\"patterns\":[{\"include\":\"#punctuation-accessor\"},{\"include\":\"#operator-safe-navigation\"}]}},\"match\":\"([_[:alpha:]][_[:alnum:]]*)(\\\\??\\\\.)\"},{\"include\":\"#soql-colon-method-statement\"},{\"match\":\"[_[:alpha:]][_[:alnum:]]*\",\"name\":\"entity.name.variable.local.apex\"}]},\"soql-functions\":{\"begin\":\"\\\\b(AVG|CALENDAR_MONTH|CALENDAR_QUARTER|CALENDAR_YEAR|convertCurrency|convertTimezone|COUNT|COUNT_DISTINCT|DAY_IN_MONTH|DAY_IN_WEEK|DAY_IN_YEAR|DAY_ONLY|toLabel|INCLUDES|EXCLUDES|FISCAL_MONTH|FISCAL_QUARTER|FISCAL_YEAR|FORMAT|GROUPING|GROUP BY CUBE|GROUP BY ROLLUP|HOUR_IN_DAY|MAX|MIN|SUM|WEEK_IN_MONTH|WEEK_IN_YEAR)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.query.apex\"},\"2\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#literal\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#soql-functions\"},{\"match\":\"[_.[:alpha:]][_.[:alnum:]]*\",\"name\":\"keyword.query.field.apex\"}]},\"soql-group-clauses\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#soql-query-expression\"},{\"include\":\"#soql-colon-vars\"},{\"include\":\"#soql-group-clauses\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#operator-assignment\"},{\"include\":\"#literal\"},{\"include\":\"#query-operators\"},{\"include\":\"#date-literals\"},{\"include\":\"#date-literal-with-params\"},{\"include\":\"#using-scope\"},{\"match\":\"[_.[:alpha:]][_.[:alnum:]]*\",\"name\":\"keyword.query.field.apex\"}]},\"soql-query-body\":{\"patterns\":[{\"include\":\"#trigger-context-declaration\"},{\"include\":\"#soql-colon-vars\"},{\"include\":\"#soql-functions\"},{\"include\":\"#from-clause\"},{\"include\":\"#where-clause\"},{\"include\":\"#query-operators\"},{\"include\":\"#date-literals\"},{\"include\":\"#date-literal-with-params\"},{\"include\":\"#using-scope\"},{\"include\":\"#soql-group-clauses\"},{\"include\":\"#orderby-clause\"},{\"include\":\"#ordering-direction\"},{\"include\":\"#ordering-nulls\"}]},\"soql-query-expression\":{\"begin\":\"\\\\b(SELECT)\\\\b\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.query.select.apex\"}},\"end\":\"(?=;)|(?=])|(?=\\\\))\",\"patterns\":[{\"include\":\"#soql-query-body\"},{\"include\":\"#comment\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#operator-assignment\"},{\"include\":\"#parenthesized-expression\"},{\"include\":\"#expression-operators\"},{\"include\":\"#literal\"},{\"captures\":{\"1\":{\"name\":\"keyword.query.field.apex\"},\"2\":{\"name\":\"punctuation.separator.comma.apex\"}},\"match\":\"([_.[:alpha:]][_.[:alnum:]]*)\\\\s*(,)?\"}]},\"statement\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#while-statement\"},{\"include\":\"#do-statement\"},{\"include\":\"#for-statement\"},{\"include\":\"#switch-statement\"},{\"include\":\"#when-else-statement\"},{\"include\":\"#when-sobject-statement\"},{\"include\":\"#when-statement\"},{\"include\":\"#when-multiple-statement\"},{\"include\":\"#if-statement\"},{\"include\":\"#else-part\"},{\"include\":\"#goto-statement\"},{\"include\":\"#return-statement\"},{\"include\":\"#break-or-continue-statement\"},{\"include\":\"#throw-statement\"},{\"include\":\"#try-statement\"},{\"include\":\"#soql-query-expression\"},{\"include\":\"#local-declaration\"},{\"include\":\"#block\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-semicolon\"}]},\"storage-modifier\":{\"match\":\"(?<!\\\\.)\\\\b(new|public|protected|private|abstract|virtual|override|global|static|final|transient)\\\\b\",\"name\":\"storage.modifier.apex\"},\"string-character-escape\":{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.apex\"},\"string-literal\":{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.apex\"}},\"end\":\"(')|([^\\\\\\\\\\\\n]$)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.apex\"},\"2\":{\"name\":\"invalid.illegal.newline.apex\"}},\"name\":\"string.quoted.single.apex\",\"patterns\":[{\"include\":\"#string-character-escape\"}]},\"support-arguments\":{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.begin.apex\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.end.apex\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#support-type\"},{\"include\":\"#punctuation-comma\"}]},\"support-class\":{\"captures\":{\"1\":{\"name\":\"support.class.apex\"}},\"match\":\"\\\\b(ApexPages|Database|DMLException|Exception|PageReference|Savepoint|SchedulableContext|Schema|SObject|System|Test)\\\\b\"},\"support-expression\":{\"begin\":\"(ApexPages|Database|DMLException|Exception|PageReference|Savepoint|SchedulableContext|Schema|SObject|System|Test)(?=[.\\\\s])\",\"beginCaptures\":{\"1\":{\"name\":\"support.class.apex\"}},\"end\":\"(?<=\\\\)|$)|(?=})|(?=;)|(?=\\\\)|(?=]))|(?=,)\",\"patterns\":[{\"include\":\"#support-type\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.apex\"},\"2\":{\"name\":\"support.function.apex\"}},\"match\":\"(\\\\.)(\\\\p{alpha}*)(?=\\\\()\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.apex\"},\"2\":{\"name\":\"support.type.apex\"}},\"match\":\"(\\\\.)(\\\\p{alpha}+)\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},{\"include\":\"#comment\"},{\"include\":\"#statement\"}]},\"support-functions\":{\"captures\":{\"1\":{\"name\":\"support.function.apex\"}},\"match\":\"\\\\b(delete|execute|finish|insert|start|undelete|update|upsert)\\\\b\"},\"support-name\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.apex\"},\"2\":{\"name\":\"support.function.apex\"}},\"match\":\"(\\\\.)\\\\s*(\\\\p{alpha}*)(?=\\\\()\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.apex\"},\"2\":{\"name\":\"support.type.apex\"}},\"match\":\"(\\\\.)\\\\s*([_[:alpha:]]*)\"}]},\"support-type\":{\"name\":\"support.apex\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#support-class\"},{\"include\":\"#support-functions\"},{\"include\":\"#support-name\"}]},\"switch-statement\":{\"begin\":\"(switch)\\\\b\\\\s+(on)\\\\b\\\\s+(?:([_.?'()[:alnum:]]+)\\\\s*)?(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.switch.apex\"},\"2\":{\"name\":\"keyword.control.switch.on.apex\"},\"3\":{\"patterns\":[{\"include\":\"#statement\"},{\"include\":\"#parenthesized-expression\"}]},\"4\":{\"name\":\"punctuation.curlybrace.open.apex\"}},\"end\":\"(})\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.apex\"}},\"patterns\":[{\"include\":\"#when-string\"},{\"include\":\"#when-else-statement\"},{\"include\":\"#when-sobject-statement\"},{\"include\":\"#when-statement\"},{\"include\":\"#when-multiple-statement\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#punctuation-semicolon\"}]},\"this-expression\":{\"captures\":{\"1\":{\"name\":\"keyword.other.this.apex\"}},\"match\":\"\\\\b(this)\\\\b\"},\"throw-expression\":{\"captures\":{\"1\":{\"name\":\"keyword.control.flow.throw.apex\"}},\"match\":\"(?<!\\\\.)\\\\b(throw)\\\\b\"},\"throw-statement\":{\"begin\":\"(?<!\\\\.)\\\\b(throw)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.throw.apex\"}},\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#expression\"}]},\"trigger-context-declaration\":{\"begin\":\"\\\\b(Trigger)\\\\b(\\\\.)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"support.class.trigger.apex\"},\"2\":{\"name\":\"punctuation.accessor.apex\"}},\"end\":\"(?=})|(?=;)|(?=\\\\)|(?=]))\",\"patterns\":[{\"match\":\"\\\\b(isExecuting|isInsert|isUpdate|isDelete|isBefore|isAfter|isUndelete|new|newMap|old|oldMap|size)\\\\b\",\"name\":\"support.type.trigger.apex\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#punctuation-accessor\"},{\"include\":\"#operator-safe-navigation\"}]},\"2\":{\"name\":\"support.function.trigger.apex\"}},\"match\":\"(\\\\??\\\\.)(\\\\p{alpha}+)(?=\\\\()\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#trigger-type-statement\"},{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"},{\"include\":\"#expression\"}]},{\"include\":\"#expression\"}]},\"trigger-declaration\":{\"begin\":\"(?=\\\\btrigger\\\\b)\",\"end\":\"(?<=})\",\"patterns\":[{\"begin\":\"\\\\b(trigger)\\\\b\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\b(on)\\\\b\\\\s+([_[:alpha:]][_[:alnum:]]*)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.trigger.apex\"},\"2\":{\"name\":\"entity.name.type.trigger.apex\"},\"3\":{\"name\":\"keyword.operator.trigger.on.apex\"},\"4\":{\"name\":\"storage.type.apex\"}},\"end\":\"(?=\\\\{)\",\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#trigger-type-statement\"},{\"include\":\"#trigger-operator-statement\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#expression\"}]},{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"},{\"include\":\"#type-parameter-list\"}]},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.apex\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.apex\"}},\"patterns\":[{\"include\":\"#statement\"},{\"include\":\"#class-or-trigger-members\"}]},{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"}]},\"trigger-operator-statement\":{\"match\":\"\\\\b(insert|update|delete|merge|upsert|undelete)\\\\b\",\"name\":\"keyword.operator.trigger.apex\"},\"trigger-type-statement\":{\"captures\":{\"1\":{\"name\":\"keyword.control.trigger.before.apex\"},\"2\":{\"name\":\"keyword.control.trigger.after.apex\"}},\"match\":\"\\\\b(?:(before)|(after))\\\\b\"},\"try-block\":{\"begin\":\"(?<!\\\\.)\\\\b(try)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.try.apex\"}},\"end\":\"(?<=})\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#block\"}]},\"try-statement\":{\"patterns\":[{\"include\":\"#try-block\"},{\"include\":\"#catch-clause\"},{\"include\":\"#finally-clause\"}]},\"type\":{\"name\":\"meta.type.apex\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type-builtin\"},{\"include\":\"#type-name\"},{\"include\":\"#type-arguments\"},{\"include\":\"#type-array-suffix\"},{\"include\":\"#type-nullable-suffix\"}]},\"type-arguments\":{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.begin.apex\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.end.apex\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#support-type\"},{\"include\":\"#type\"},{\"include\":\"#punctuation-comma\"}]},\"type-array-suffix\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.squarebracket.open.apex\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.squarebracket.close.apex\"}},\"patterns\":[{\"include\":\"#punctuation-comma\"}]},\"type-builtin\":{\"captures\":{\"1\":{\"name\":\"keyword.type.apex\"}},\"match\":\"\\\\b(Blob|Boolean|byte|Date|Datetime|Decimal|Double|ID|Integer|Long|Object|String|Time|void)\\\\b\"},\"type-declarations\":{\"patterns\":[{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"},{\"include\":\"#annotation-declaration\"},{\"include\":\"#storage-modifier\"},{\"include\":\"#sharing-modifier\"},{\"include\":\"#class-declaration\"},{\"include\":\"#enum-declaration\"},{\"include\":\"#interface-declaration\"},{\"include\":\"#trigger-declaration\"},{\"include\":\"#punctuation-semicolon\"}]},\"type-name\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.type.apex\"},\"2\":{\"name\":\"punctuation.accessor.apex\"}},\"match\":\"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(\\\\.)\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.apex\"},\"2\":{\"name\":\"storage.type.apex\"}},\"match\":\"(\\\\.)\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)\"},{\"match\":\"@?[_[:alpha:]][_[:alnum:]]*\",\"name\":\"storage.type.apex\"}]},\"type-nullable-suffix\":{\"captures\":{\"0\":{\"name\":\"punctuation.separator.question-mark.apex\"}},\"match\":\"\\\\?\"},\"type-parameter-list\":{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.begin.apex\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.end.apex\"}},\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.name.type.type-parameter.apex\"}},\"match\":\"(@?[_[:alpha:]][_[:alnum:]]*)\\\\b\"},{\"include\":\"#comment\"},{\"include\":\"#punctuation-comma\"}]},\"using-scope\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.query.using.apex\"}},\"match\":\"((USING SCOPE)\\\\b\\\\s*(Delegated|Everything|Mine|My_Territory|My_Team_Territory|Team))\\\\b\\\\s*\"},\"variable-initializer\":{\"begin\":\"(?<![=!])(=)(?![=>])\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.apex\"}},\"end\":\"(?=[,)\\\\];}])\",\"patterns\":[{\"include\":\"#expression\"}]},\"when-else-statement\":{\"begin\":\"(when)\\\\b\\\\s+(else)\\\\b\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.switch.when.apex\"},\"2\":{\"name\":\"keyword.control.switch.else.apex\"}},\"end\":\"(?<=})\",\"patterns\":[{\"include\":\"#block\"},{\"include\":\"#expression\"}]},\"when-multiple-statement\":{\"begin\":\"(when)\\\\b\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.switch.when.apex\"}},\"end\":\"(?<=})\",\"patterns\":[{\"include\":\"#block\"},{\"include\":\"#expression\"}]},\"when-sobject-statement\":{\"begin\":\"(when)\\\\b\\\\s+([_[:alnum:]]+)\\\\s+([_[:alnum:]]+)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.switch.when.apex\"},\"2\":{\"name\":\"storage.type.apex\"},\"3\":{\"name\":\"entity.name.variable.local.apex\"}},\"end\":\"(?<=})\",\"patterns\":[{\"include\":\"#block\"},{\"include\":\"#expression\"}]},\"when-statement\":{\"begin\":\"(when)\\\\b\\\\s+(['_\\\\-[:alnum:]]+)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.switch.when.apex\"},\"2\":{\"patterns\":[{\"include\":\"#expression\"}]}},\"end\":\"(?<=})\",\"patterns\":[{\"include\":\"#block\"},{\"include\":\"#expression\"}]},\"when-string\":{\"begin\":\"(when)(\\\\b\\\\s*)((')[_.,'\\\\s*[:alnum:]]+)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.switch.when.apex\"},\"2\":{\"name\":\"punctuation.whitespace.apex\"},\"3\":{\"patterns\":[{\"include\":\"#when-string-statement\"},{\"include\":\"#punctuation-comma\"}]}},\"end\":\"(?<=})\",\"patterns\":[{\"include\":\"#block\"},{\"include\":\"#expression\"}]},\"when-string-statement\":{\"patterns\":[{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.apex\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.apex\"}},\"name\":\"string.quoted.single.apex\"}]},\"where-clause\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.query.where.apex\"}},\"match\":\"\\\\b(WHERE)\\\\b\\\\s*\"},\"while-statement\":{\"begin\":\"(?<!\\\\.)\\\\b(while)\\\\b\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.loop.while.apex\"}},\"end\":\"(?<=})|(?=;)\",\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#expression\"}]},{\"include\":\"#statement\"}]},\"xml-attribute\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.other.attribute-name.apex\"},\"2\":{\"name\":\"entity.other.attribute-name.namespace.apex\"},\"3\":{\"name\":\"punctuation.separator.colon.apex\"},\"4\":{\"name\":\"entity.other.attribute-name.localname.apex\"},\"5\":{\"name\":\"punctuation.separator.equals.apex\"}},\"match\":\"(?:^|\\\\s+)((?:([\\\\-_[:alnum:]]+)(:))?([\\\\-_[:alnum:]]+))(=)\"},{\"include\":\"#xml-string\"}]},\"xml-cdata\":{\"begin\":\"<!\\\\[CDATA\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.apex\"}},\"end\":\"]]>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.apex\"}},\"name\":\"string.unquoted.cdata.apex\"},\"xml-character-entity\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.constant.apex\"},\"3\":{\"name\":\"punctuation.definition.constant.apex\"}},\"match\":\"(&)([[:alpha:]:_][[:alnum:]:_.\\\\-]*|#\\\\d+|#x\\\\h+)(;)\",\"name\":\"constant.character.entity.apex\"},{\"match\":\"&\",\"name\":\"invalid.illegal.bad-ampersand.apex\"}]},\"xml-comment\":{\"begin\":\"<!--\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.apex\"}},\"end\":\"-->\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.apex\"}},\"name\":\"comment.block.apex\"},\"xml-doc-comment\":{\"patterns\":[{\"include\":\"#xml-comment\"},{\"include\":\"#xml-character-entity\"},{\"include\":\"#xml-cdata\"},{\"include\":\"#xml-tag\"}]},\"xml-string\":{\"patterns\":[{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.apex\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.apex\"}},\"name\":\"string.quoted.single.apex\",\"patterns\":[{\"include\":\"#xml-character-entity\"}]},{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.stringdoublequote.begin.apex\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.stringdoublequote.end.apex\"}},\"name\":\"string.quoted.double.apex\",\"patterns\":[{\"include\":\"#xml-character-entity\"}]}]},\"xml-tag\":{\"begin\":\"(</?)((?:([\\\\-_[:alnum:]]+)(:))?([\\\\-_[:alnum:]]+))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.apex\"},\"2\":{\"name\":\"entity.name.tag.apex\"},\"3\":{\"name\":\"entity.name.tag.namespace.apex\"},\"4\":{\"name\":\"punctuation.separator.colon.apex\"},\"5\":{\"name\":\"entity.name.tag.localname.apex\"}},\"end\":\"(/?>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.apex\"}},\"name\":\"meta.tag.apex\",\"patterns\":[{\"include\":\"#xml-attribute\"}]}},\"scopeName\":\"source.apex\"}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Apex\",\"fileTypes\":[\"apex\",\"cls\",\"trigger\"],\"name\":\"apex\",\"patterns\":[{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"},{\"include\":\"#directives\"},{\"include\":\"#declarations\"},{\"include\":\"#script-top-level\"}],\"repository\":{\"annotation-declaration\":{\"begin\":\"(@[_[:alpha:]]+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.annotation.apex\"}},\"end\":\"(?<=\\\\)|$)\",\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#expression\"}]},{\"include\":\"#statement\"}]},\"argument-list\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#named-argument\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"array-creation-expression\":{\"begin\":\"\\\\b(new)\\\\b\\\\s*(?<type_name>(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)?\\\\s*(?=\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.new.apex\"},\"2\":{\"patterns\":[{\"include\":\"#support-type\"},{\"include\":\"#type\"}]}},\"end\":\"(?<=])\",\"patterns\":[{\"include\":\"#bracketed-argument-list\"}]},\"block\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.apex\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.apex\"}},\"patterns\":[{\"include\":\"#statement\"}]},\"boolean-literal\":{\"patterns\":[{\"match\":\"(?<!\\\\.)\\\\btrue\\\\b\",\"name\":\"constant.language.boolean.true.apex\"},{\"match\":\"(?<!\\\\.)\\\\bfalse\\\\b\",\"name\":\"constant.language.boolean.false.apex\"}]},\"bracketed-argument-list\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.squarebracket.open.apex\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.squarebracket.close.apex\"}},\"patterns\":[{\"include\":\"#soql-query-expression\"},{\"include\":\"#named-argument\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"break-or-continue-statement\":{\"captures\":{\"1\":{\"name\":\"keyword.control.flow.break.apex\"},\"2\":{\"name\":\"keyword.control.flow.continue.apex\"}},\"match\":\"(?<!\\\\.)\\\\b(?:(break)|(continue))\\\\b\"},\"cast-expression\":{\"captures\":{\"1\":{\"name\":\"punctuation.parenthesis.open.apex\"},\"2\":{\"patterns\":[{\"include\":\"#support-type\"},{\"include\":\"#type\"}]},\"6\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"match\":\"(\\\\()\\\\s*(?<type_name>(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s*(\\\\))(?=\\\\s*@?[_[:alnum:](])\"},\"catch-clause\":{\"begin\":\"(?<!\\\\.)\\\\b(catch)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.try.catch.apex\"}},\"end\":\"(?<=})\",\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#support-type\"},{\"include\":\"#type\"}]},\"5\":{\"name\":\"entity.name.variable.local.apex\"}},\"match\":\"(?<type_name>(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s*(?:(\\\\g<identifier>)\\\\b)?\"}]},{\"include\":\"#comment\"},{\"include\":\"#block\"}]},\"class-declaration\":{\"begin\":\"(?=\\\\bclass\\\\b)\",\"end\":\"(?<=})\",\"patterns\":[{\"begin\":\"\\\\b(class)\\\\b\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.class.apex\"},\"2\":{\"name\":\"entity.name.type.class.apex\"}},\"end\":\"(?=\\\\{)\",\"patterns\":[{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"},{\"include\":\"#type-parameter-list\"},{\"include\":\"#extends-class\"},{\"include\":\"#implements-class\"}]},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.apex\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.apex\"}},\"patterns\":[{\"include\":\"#class-or-trigger-members\"}]},{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"}]},\"class-or-trigger-members\":{\"patterns\":[{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"},{\"include\":\"#storage-modifier\"},{\"include\":\"#sharing-modifier\"},{\"include\":\"#type-declarations\"},{\"include\":\"#field-declaration\"},{\"include\":\"#property-declaration\"},{\"include\":\"#indexer-declaration\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#constructor-declaration\"},{\"include\":\"#method-declaration\"},{\"include\":\"#punctuation-semicolon\"}]},\"colon-expression\":{\"match\":\":\",\"name\":\"keyword.operator.conditional.colon.apex\"},\"comment\":{\"patterns\":[{\"begin\":\"/\\\\*(\\\\*)?\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.apex\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.apex\"}},\"name\":\"comment.block.apex\"},{\"begin\":\"(^\\\\s+)?(?=//)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.apex\"}},\"end\":\"(?=$)\",\"patterns\":[{\"begin\":\"(?<!/)///(?!/)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.apex\"}},\"end\":\"(?=$)\",\"name\":\"comment.block.documentation.apex\",\"patterns\":[{\"include\":\"#xml-doc-comment\"}]},{\"begin\":\"(?<!/)//(?:(?!/)|(?=//))\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.apex\"}},\"end\":\"(?=$)\",\"name\":\"comment.line.double-slash.apex\"}]}]},\"conditional-operator\":{\"begin\":\"(?<!\\\\?)\\\\?(?![?.\\\\[])\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.conditional.question-mark.apex\"}},\"end\":\":\",\"endCaptures\":{\"0\":{\"name\":\"keyword.operator.conditional.colon.apex\"}},\"patterns\":[{\"include\":\"#expression\"}]},\"constructor-declaration\":{\"begin\":\"(?=@?[_[:alpha:]][_[:alnum:]]*\\\\s*\\\\()\",\"end\":\"(?<=})|(?=;)\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.name.function.apex\"}},\"match\":\"(@?[_[:alpha:]][_[:alnum:]]*)\\\\b\"},{\"begin\":\"(:)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.colon.apex\"}},\"end\":\"(?=\\\\{|=>)\",\"patterns\":[{\"include\":\"#constructor-initializer\"}]},{\"include\":\"#parenthesized-parameter-list\"},{\"include\":\"#comment\"},{\"include\":\"#expression-body\"},{\"include\":\"#block\"}]},\"constructor-initializer\":{\"begin\":\"\\\\b(this)\\\\b\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.this.apex\"}},\"end\":\"(?<=\\\\))\",\"patterns\":[{\"include\":\"#argument-list\"}]},\"date-literal-with-params\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.query.date.apex\"}},\"match\":\"\\\\b((LAST_N_DAYS|NEXT_N_DAYS|NEXT_N_WEEKS|LAST_N_WEEKS|NEXT_N_MONTHS|LAST_N_MONTHS|NEXT_N_QUARTERS|LAST_N_QUARTERS|NEXT_N_YEARS|LAST_N_YEARS|NEXT_N_FISCAL_QUARTERS|LAST_N_FISCAL_QUARTERS|NEXT_N_FISCAL_YEARS|LAST_N_FISCAL_YEARS)\\\\s*:\\\\d+)\\\\b\"},\"date-literals\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.query.date.apex\"}},\"match\":\"\\\\b(YESTERDAY|TODAY|TOMORROW|LAST_WEEK|THIS_WEEK|NEXT_WEEK|LAST_MONTH|THIS_MONTH|NEXT_MONTH|LAST_90_DAYS|NEXT_90_DAYS|THIS_QUARTER|LAST_QUARTER|NEXT_QUARTER|THIS_YEAR|LAST_YEAR|NEXT_YEAR|THIS_FISCAL_QUARTER|LAST_FISCAL_QUARTER|NEXT_FISCAL_QUARTER|THIS_FISCAL_YEAR|LAST_FISCAL_YEAR|NEXT_FISCAL_YEAR)\\\\b\\\\s*\"},\"declarations\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"include\":\"#punctuation-semicolon\"}]},\"directives\":{\"patterns\":[{\"include\":\"#punctuation-semicolon\"}]},\"do-statement\":{\"begin\":\"(?<!\\\\.)\\\\b(do)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.loop.do.apex\"}},\"end\":\"(?=[;}])\",\"patterns\":[{\"include\":\"#statement\"}]},\"element-access-expression\":{\"begin\":\"(?:(\\\\??\\\\.)\\\\s*)?(?:(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*)?(?:(\\\\?)\\\\s*)?(?=\\\\[)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#punctuation-accessor\"},{\"include\":\"#operator-safe-navigation\"}]},\"2\":{\"name\":\"variable.other.object.property.apex\"},\"3\":{\"name\":\"keyword.operator.null-conditional.apex\"}},\"end\":\"(?<=])(?!\\\\s*\\\\[)\",\"patterns\":[{\"include\":\"#bracketed-argument-list\"}]},\"else-part\":{\"begin\":\"(?<!\\\\.)\\\\b(else)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.conditional.else.apex\"}},\"end\":\"(?<=})|(?=;)\",\"patterns\":[{\"include\":\"#statement\"}]},\"enum-declaration\":{\"begin\":\"(?=\\\\benum\\\\b)\",\"end\":\"(?<=})\",\"patterns\":[{\"begin\":\"(?=enum)\",\"end\":\"(?=\\\\{)\",\"patterns\":[{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.enum.apex\"},\"2\":{\"name\":\"entity.name.type.enum.apex\"}},\"match\":\"(enum)\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)\"}]},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.apex\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.apex\"}},\"patterns\":[{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"},{\"include\":\"#punctuation-comma\"},{\"begin\":\"@?[_[:alpha:]][_[:alnum:]]*\",\"beginCaptures\":{\"0\":{\"name\":\"entity.name.variable.enum-member.apex\"}},\"end\":\"(?=([,}]))\",\"patterns\":[{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"},{\"include\":\"#variable-initializer\"}]}]},{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"}]},\"expression\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#merge-expression\"},{\"include\":\"#support-expression\"},{\"include\":\"#throw-expression\"},{\"include\":\"#this-expression\"},{\"include\":\"#trigger-context-declaration\"},{\"include\":\"#conditional-operator\"},{\"include\":\"#expression-operators\"},{\"include\":\"#soql-query-expression\"},{\"include\":\"#object-creation-expression\"},{\"include\":\"#array-creation-expression\"},{\"include\":\"#invocation-expression\"},{\"include\":\"#member-access-expression\"},{\"include\":\"#element-access-expression\"},{\"include\":\"#cast-expression\"},{\"include\":\"#literal\"},{\"include\":\"#parenthesized-expression\"},{\"include\":\"#initializer-expression\"},{\"include\":\"#identifier\"}]},\"expression-body\":{\"begin\":\"=>\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.arrow.apex\"}},\"end\":\"(?=[,);}])\",\"patterns\":[{\"include\":\"#expression\"}]},\"expression-operators\":{\"patterns\":[{\"match\":\"\\\\*=|/=|%=|\\\\+=|-=\",\"name\":\"keyword.operator.assignment.compound.apex\"},{\"match\":\"&=|\\\\^=|<<=|>>=|\\\\|=\",\"name\":\"keyword.operator.assignment.compound.bitwise.apex\"},{\"match\":\"<<|>>\",\"name\":\"keyword.operator.bitwise.shift.apex\"},{\"match\":\"==|!=\",\"name\":\"keyword.operator.comparison.apex\"},{\"match\":\"<=|>=|[<>]\",\"name\":\"keyword.operator.relational.apex\"},{\"match\":\"!|&&|\\\\|\\\\|\",\"name\":\"keyword.operator.logical.apex\"},{\"match\":\"[\\\\&~^|]\",\"name\":\"keyword.operator.bitwise.apex\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.apex\"},{\"match\":\"--\",\"name\":\"keyword.operator.decrement.apex\"},{\"match\":\"\\\\+\\\\+\",\"name\":\"keyword.operator.increment.apex\"},{\"match\":\"[%*/\\\\-+]\",\"name\":\"keyword.operator.arithmetic.apex\"}]},\"extends-class\":{\"begin\":\"(extends)\\\\b\\\\s+([_[:alpha:]][_[:alnum:]]*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.extends.apex\"},\"2\":{\"name\":\"entity.name.type.extends.apex\"}},\"end\":\"(?=\\\\{|implements)\"},\"field-declaration\":{\"begin\":\"(?<type_name>(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s+(\\\\g<identifier>)\\\\s*(?!=[>=])(?=[,;=]|$)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#support-type\"},{\"include\":\"#type\"}]},\"5\":{\"name\":\"entity.name.variable.field.apex\"}},\"end\":\"(?=;)\",\"patterns\":[{\"match\":\"@?[_[:alpha:]][_[:alnum:]]*\",\"name\":\"entity.name.variable.field.apex\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#comment\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#class-or-trigger-members\"}]},\"finally-clause\":{\"begin\":\"(?<!\\\\.)\\\\b(finally)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.try.finally.apex\"}},\"end\":\"(?<=})\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#block\"}]},\"for-apex-syntax\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#support-type\"},{\"include\":\"#type\"}]},\"2\":{\"name\":\"entity.name.variable.local.apex\"},\"3\":{\"name\":\"keyword.operator.iterator.colon.apex\"}},\"match\":\"([_.[:alpha:]][_.[:alnum:]]+)\\\\s+([_.[:alpha:]][_.[:alnum:]]*)\\\\s*(:)\"},\"for-statement\":{\"begin\":\"(?<!\\\\.)\\\\b(for)\\\\b\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.loop.for.apex\"}},\"end\":\"(?<=})|(?=;)\",\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#for-apex-syntax\"},{\"include\":\"#local-variable-declaration\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#punctuation-semicolon\"},{\"include\":\"#colon-expression\"}]},{\"include\":\"#statement\"}]},\"from-clause\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.query.from.apex\"},\"2\":{\"name\":\"storage.type.apex\"}},\"match\":\"(FROM)\\\\b\\\\s*([_.[:alnum:]]+\\\\b)?\"},\"goto-statement\":{\"begin\":\"(?<!\\\\.)\\\\b(goto)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.goto.apex\"}},\"end\":\"(?=;)\",\"patterns\":[{\"begin\":\"\\\\b(case)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.case.apex\"}},\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#expression\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.control.default.apex\"}},\"match\":\"\\\\b(default)\\\\b\"},{\"match\":\"@?[_[:alpha:]][_[:alnum:]]*\",\"name\":\"entity.name.label.apex\"}]},\"identifier\":{\"match\":\"@?[_[:alpha:]][_[:alnum:]]*\",\"name\":\"variable.other.readwrite.apex\"},\"if-statement\":{\"begin\":\"(?<!\\\\.)\\\\b(if)\\\\b\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.conditional.if.apex\"}},\"end\":\"(?<=})|(?=;)\",\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#expression\"}]},{\"include\":\"#statement\"}]},\"implements-class\":{\"begin\":\"(implements)\\\\b\\\\s+([_[:alpha:]][_[:alnum:]]*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.implements.apex\"},\"2\":{\"name\":\"entity.name.type.implements.apex\"}},\"end\":\"(?=\\\\{|extends)\"},\"indexer-declaration\":{\"begin\":\"(?<return_type>(?<type_name>(?:ref\\\\s+)?(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s+)(?<interface_name>\\\\g<type_name>\\\\s*\\\\.\\\\s*)?(?<indexer_name>this)\\\\s*(?=\\\\[)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type\"}]},\"6\":{\"patterns\":[{\"include\":\"#type\"},{\"include\":\"#punctuation-accessor\"}]},\"7\":{\"name\":\"keyword.other.this.apex\"}},\"end\":\"(?<=})|(?=;)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#property-accessors\"},{\"include\":\"#expression-body\"},{\"include\":\"#variable-initializer\"}]},\"initializer-expression\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.apex\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.apex\"}},\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"interface-declaration\":{\"begin\":\"(?=\\\\binterface\\\\b)\",\"end\":\"(?<=})\",\"patterns\":[{\"begin\":\"(interface)\\\\b\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.interface.apex\"},\"2\":{\"name\":\"entity.name.type.interface.apex\"}},\"end\":\"(?=\\\\{)\",\"patterns\":[{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"},{\"include\":\"#type-parameter-list\"},{\"include\":\"#extends-class\"}]},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.apex\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.apex\"}},\"patterns\":[{\"include\":\"#interface-members\"}]},{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"}]},\"interface-members\":{\"patterns\":[{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"},{\"include\":\"#property-declaration\"},{\"include\":\"#indexer-declaration\"},{\"include\":\"#method-declaration\"},{\"include\":\"#punctuation-semicolon\"}]},\"invocation-expression\":{\"begin\":\"(?:(\\\\??\\\\.)\\\\s*)?(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?<type_args>\\\\s*<([^<>]|\\\\g<type_args>)+>\\\\s*)?\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#punctuation-accessor\"},{\"include\":\"#operator-safe-navigation\"}]},\"2\":{\"name\":\"entity.name.function.apex\"},\"3\":{\"patterns\":[{\"include\":\"#type-arguments\"}]}},\"end\":\"(?<=\\\\))\",\"patterns\":[{\"include\":\"#argument-list\"}]},\"javadoc-comment\":{\"patterns\":[{\"begin\":\"^\\\\s*(/\\\\*\\\\*)(?!/)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.apex\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.apex\"}},\"name\":\"comment.block.javadoc.apex\",\"patterns\":[{\"match\":\"@(deprecated|author|return|see|serial|since|version|usage|name|link)\\\\b\",\"name\":\"keyword.other.documentation.javadoc.apex\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.documentation.javadoc.apex\"},\"2\":{\"name\":\"entity.name.variable.parameter.apex\"}},\"match\":\"(@param)\\\\s+(\\\\S+)\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.documentation.javadoc.apex\"},\"2\":{\"name\":\"entity.name.type.class.apex\"}},\"match\":\"(@(?:exception|throws))\\\\s+(\\\\S+)\"},{\"captures\":{\"1\":{\"name\":\"string.quoted.single.apex\"}},\"match\":\"(`([^`]+?)`)\"}]}]},\"literal\":{\"patterns\":[{\"include\":\"#boolean-literal\"},{\"include\":\"#null-literal\"},{\"include\":\"#numeric-literal\"},{\"include\":\"#string-literal\"}]},\"local-constant-declaration\":{\"begin\":\"(?<const_keyword>\\\\bconst\\\\b)\\\\s*(?<type_name>(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s+(\\\\g<identifier>)\\\\s*(?=[,;=])\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.apex\"},\"2\":{\"patterns\":[{\"include\":\"#type\"}]},\"6\":{\"name\":\"entity.name.variable.local.apex\"}},\"end\":\"(?=;)\",\"patterns\":[{\"match\":\"@?[_[:alpha:]][_[:alnum:]]*\",\"name\":\"entity.name.variable.local.apex\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#comment\"},{\"include\":\"#variable-initializer\"}]},\"local-declaration\":{\"patterns\":[{\"include\":\"#local-constant-declaration\"},{\"include\":\"#local-variable-declaration\"}]},\"local-variable-declaration\":{\"begin\":\"(?:(?:(\\\\bref)\\\\s+)?(\\\\bvar\\\\b)|(?<type_name>(?:ref\\\\s+)?(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*))\\\\s+(\\\\g<identifier>)\\\\s*(?=[,;=)])\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.apex\"},\"2\":{\"name\":\"keyword.other.var.apex\"},\"3\":{\"patterns\":[{\"include\":\"#support-type\"},{\"include\":\"#type\"}]},\"7\":{\"name\":\"entity.name.variable.local.apex\"}},\"end\":\"(?=[;)])\",\"patterns\":[{\"match\":\"@?[_[:alpha:]][_[:alnum:]]*\",\"name\":\"entity.name.variable.local.apex\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#comment\"},{\"include\":\"#variable-initializer\"}]},\"member-access-expression\":{\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#punctuation-accessor\"},{\"include\":\"#operator-safe-navigation\"}]},\"2\":{\"name\":\"variable.other.object.property.apex\"}},\"match\":\"(\\\\??\\\\.)\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?![_[:alnum:](]|(\\\\?)?\\\\[|<)\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#punctuation-accessor\"},{\"include\":\"#operator-safe-navigation\"}]},\"2\":{\"name\":\"variable.other.object.apex\"},\"3\":{\"patterns\":[{\"include\":\"#type-arguments\"}]}},\"match\":\"(\\\\??\\\\.)?\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)(?<type_params>\\\\s*<([^<>]|\\\\g<type_params>)+>\\\\s*)(?=(\\\\s*\\\\?)?\\\\s*\\\\.\\\\s*@?[_[:alpha:]][_[:alnum:]]*)\"},{\"captures\":{\"1\":{\"name\":\"variable.other.object.apex\"}},\"match\":\"(@?[_[:alpha:]][_[:alnum:]]*)(?=(\\\\s*\\\\?)?\\\\s*\\\\.\\\\s*@?[_[:alpha:]][_[:alnum:]]*)\"}]},\"merge-expression\":{\"begin\":\"(merge)\\\\b\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.apex\"}},\"end\":\"(?<=;)\",\"patterns\":[{\"include\":\"#object-creation-expression\"},{\"include\":\"#merge-type-statement\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-semicolon\"}]},\"merge-type-statement\":{\"captures\":{\"1\":{\"name\":\"variable.other.readwrite.apex\"},\"2\":{\"name\":\"variable.other.readwrite.apex\"},\"3\":{\"name\":\"punctuation.terminator.statement.apex\"}},\"match\":\"([_[:alpha:]]*)\\\\b\\\\s+([_[:alpha:]]*)\\\\b\\\\s*(;)\"},\"method-declaration\":{\"begin\":\"(?<return_type>(?<type_name>(?:ref\\\\s+)?(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s+)(?<interface_name>\\\\g<type_name>\\\\s*\\\\.\\\\s*)?(\\\\g<identifier>)\\\\s*(<([^<>]+)>)?\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#support-type\"},{\"include\":\"#type\"}]},\"6\":{\"patterns\":[{\"include\":\"#type\"},{\"include\":\"#punctuation-accessor\"}]},\"7\":{\"patterns\":[{\"include\":\"#support-type\"},{\"include\":\"#method-name-custom\"}]},\"8\":{\"patterns\":[{\"include\":\"#type-parameter-list\"}]}},\"end\":\"(?<=})|(?=;)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#parenthesized-parameter-list\"},{\"include\":\"#expression-body\"},{\"include\":\"#block\"}]},\"method-name-custom\":{\"match\":\"@?[_[:alpha:]][_[:alnum:]]*\",\"name\":\"entity.name.function.apex\"},\"named-argument\":{\"begin\":\"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.variable.parameter.apex\"},\"2\":{\"name\":\"punctuation.separator.colon.apex\"}},\"end\":\"(?=([,)\\\\]]))\",\"patterns\":[{\"include\":\"#expression\"}]},\"null-literal\":{\"match\":\"(?<!\\\\.)\\\\bnull\\\\b\",\"name\":\"constant.language.null.apex\"},\"numeric-literal\":{\"patterns\":[{\"match\":\"\\\\b(\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?([-+])\\\\d{2}:\\\\d{2})\\\\b\",\"name\":\"constant.numeric.datetime.apex\"},{\"match\":\"\\\\b(\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?(Z)?)\\\\b\",\"name\":\"constant.numeric.datetime.apex\"},{\"match\":\"\\\\b(\\\\d{4}-\\\\d{2}-\\\\d{2})\\\\b\",\"name\":\"constant.numeric.date.apex\"},{\"match\":\"\\\\b0([xX])[_\\\\h]+([UuLl]|UL|Ul|uL|ul|LU|Lu|lU|lu)?\\\\b\",\"name\":\"constant.numeric.hex.apex\"},{\"match\":\"\\\\b0([bB])[01_]+([UuLl]|UL|Ul|uL|ul|LU|Lu|lU|lu)?\\\\b\",\"name\":\"constant.numeric.binary.apex\"},{\"match\":\"\\\\b([0-9_]+)?\\\\.[0-9_]+(([eE])[0-9]+)?([FfDdMm])?\\\\b\",\"name\":\"constant.numeric.decimal.apex\"},{\"match\":\"\\\\b[0-9_]+([eE])[0-9_]+([FfDdMm])?\\\\b\",\"name\":\"constant.numeric.decimal.apex\"},{\"match\":\"\\\\b[0-9_]+([FfDdMm])\\\\b\",\"name\":\"constant.numeric.decimal.apex\"},{\"match\":\"\\\\b[0-9_]+([UuLl]|UL|Ul|uL|ul|LU|Lu|lU|lu)?\\\\b\",\"name\":\"constant.numeric.decimal.apex\"}]},\"object-creation-expression\":{\"patterns\":[{\"include\":\"#object-creation-expression-with-parameters\"},{\"include\":\"#object-creation-expression-with-no-parameters\"},{\"include\":\"#punctuation-comma\"}]},\"object-creation-expression-with-no-parameters\":{\"captures\":{\"1\":{\"name\":\"support.function.apex\"},\"2\":{\"name\":\"keyword.control.new.apex\"},\"3\":{\"patterns\":[{\"include\":\"#support-type\"},{\"include\":\"#type\"}]}},\"match\":\"(delete|insert|undelete|update|upsert)?\\\\s*(new)\\\\s+(?<type_name>(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s*(?=\\\\{|$)\"},\"object-creation-expression-with-parameters\":{\"begin\":\"(delete|insert|undelete|update|upsert)?\\\\s*(new)\\\\s+(?<type_name>(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.apex\"},\"2\":{\"name\":\"keyword.control.new.apex\"},\"3\":{\"patterns\":[{\"include\":\"#support-type\"},{\"include\":\"#type\"}]}},\"end\":\"(?<=\\\\))\",\"patterns\":[{\"include\":\"#argument-list\"}]},\"operator-assignment\":{\"match\":\"(?<![=!])(=)(?!=)\",\"name\":\"keyword.operator.assignment.apex\"},\"operator-safe-navigation\":{\"match\":\"\\\\?\\\\.\",\"name\":\"keyword.operator.safe-navigation.apex\"},\"orderby-clause\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.query.orderby.apex\"}},\"match\":\"\\\\b(ORDER BY)\\\\b\\\\s*\",\"patterns\":[{\"include\":\"#ordering-direction\"},{\"include\":\"#ordering-nulls\"}]},\"ordering-direction\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.query.ascending.apex\"},\"2\":{\"name\":\"keyword.operator.query.descending.apex\"}},\"match\":\"\\\\b(?:(ASC)|(DESC))\\\\b\"},\"ordering-nulls\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.query.nullsfirst.apex\"},\"2\":{\"name\":\"keyword.operator.query.nullslast.apex\"}},\"match\":\"\\\\b(?:(NULLS FIRST)|(NULLS LAST))\\\\b\"},\"parameter\":{\"captures\":{\"1\":{\"name\":\"storage.modifier.apex\"},\"2\":{\"patterns\":[{\"include\":\"#support-type\"},{\"include\":\"#type\"}]},\"6\":{\"name\":\"entity.name.variable.parameter.apex\"}},\"match\":\"(?:\\\\b(this)\\\\b\\\\s+)?(?<type_name>(?:ref\\\\s+)?(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s+(\\\\g<identifier>)\"},\"parenthesized-expression\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#expression\"}]},\"parenthesized-parameter-list\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#parameter\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#variable-initializer\"}]},\"property-accessors\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.apex\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.apex\"}},\"patterns\":[{\"match\":\"\\\\b(pr(?:ivate|otected))\\\\b\",\"name\":\"storage.modifier.apex\"},{\"match\":\"\\\\b(get)\\\\b\",\"name\":\"keyword.other.get.apex\"},{\"match\":\"\\\\b(set)\\\\b\",\"name\":\"keyword.other.set.apex\"},{\"include\":\"#comment\"},{\"include\":\"#expression-body\"},{\"include\":\"#block\"},{\"include\":\"#punctuation-semicolon\"}]},\"property-declaration\":{\"begin\":\"(?!.*\\\\b(?:class|interface|enum)\\\\b)\\\\s*(?<return_type>(?<type_name>(?:ref\\\\s+)?(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s+)(?<interface_name>\\\\g<type_name>\\\\s*\\\\.\\\\s*)?(?<property_name>\\\\g<identifier>)\\\\s*(?=\\\\{|=>|$)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type\"}]},\"6\":{\"patterns\":[{\"include\":\"#type\"},{\"include\":\"#punctuation-accessor\"}]},\"7\":{\"name\":\"entity.name.variable.property.apex\"}},\"end\":\"(?<=})|(?=;)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#property-accessors\"},{\"include\":\"#expression-body\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#class-or-trigger-members\"}]},\"punctuation-accessor\":{\"match\":\"\\\\.\",\"name\":\"punctuation.accessor.apex\"},\"punctuation-comma\":{\"match\":\",\",\"name\":\"punctuation.separator.comma.apex\"},\"punctuation-semicolon\":{\"match\":\";\",\"name\":\"punctuation.terminator.statement.apex\"},\"query-operators\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.query.apex\"}},\"match\":\"\\\\b(ABOVE|AND|AT|FOR REFERENCE|FOR UPDATE|FOR VIEW|GROUP BY|HAVING|IN|LIKE|LIMIT|NOT IN|NOT|OFFSET|OR|TYPEOF|UPDATE TRACKING|UPDATE VIEWSTAT|WITH DATA CATEGORY|WITH)\\\\b\\\\s*\"},\"return-statement\":{\"begin\":\"(?<!\\\\.)\\\\b(return)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.return.apex\"}},\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#expression\"}]},\"script-top-level\":{\"patterns\":[{\"include\":\"#method-declaration\"},{\"include\":\"#statement\"},{\"include\":\"#punctuation-semicolon\"}]},\"sharing-modifier\":{\"match\":\"(?<!\\\\.)\\\\b(with sharing|without sharing|inherited sharing)\\\\b\",\"name\":\"sharing.modifier.apex\"},\"soql-colon-method-statement\":{\"begin\":\"(:?\\\\.)?([_[:alpha:]][_[:alnum:]]*)(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.accessor.apex\"},\"2\":{\"name\":\"entity.name.function.apex\"}},\"end\":\"(?<=\\\\))\",\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#expression\"}]},{\"include\":\"#statement\"}]},\"soql-colon-vars\":{\"begin\":\"(:)\\\\s*\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.conditional.colon.apex\"}},\"end\":\"(?![_[:alnum:](]|(\\\\?)?\\\\[|<)\",\"patterns\":[{\"include\":\"#trigger-context-declaration\"},{\"captures\":{\"1\":{\"name\":\"variable.other.object.apex\"},\"2\":{\"patterns\":[{\"include\":\"#punctuation-accessor\"},{\"include\":\"#operator-safe-navigation\"}]}},\"match\":\"([_[:alpha:]][_[:alnum:]]*)(\\\\??\\\\.)\"},{\"include\":\"#soql-colon-method-statement\"},{\"match\":\"[_[:alpha:]][_[:alnum:]]*\",\"name\":\"entity.name.variable.local.apex\"}]},\"soql-functions\":{\"begin\":\"\\\\b(AVG|CALENDAR_MONTH|CALENDAR_QUARTER|CALENDAR_YEAR|convertCurrency|convertTimezone|COUNT|COUNT_DISTINCT|DAY_IN_MONTH|DAY_IN_WEEK|DAY_IN_YEAR|DAY_ONLY|toLabel|INCLUDES|EXCLUDES|FISCAL_MONTH|FISCAL_QUARTER|FISCAL_YEAR|FORMAT|GROUPING|GROUP BY CUBE|GROUP BY ROLLUP|HOUR_IN_DAY|MAX|MIN|SUM|WEEK_IN_MONTH|WEEK_IN_YEAR)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.query.apex\"},\"2\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#literal\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#soql-functions\"},{\"match\":\"[_.[:alpha:]][_.[:alnum:]]*\",\"name\":\"keyword.query.field.apex\"}]},\"soql-group-clauses\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#soql-query-expression\"},{\"include\":\"#soql-colon-vars\"},{\"include\":\"#soql-group-clauses\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#operator-assignment\"},{\"include\":\"#literal\"},{\"include\":\"#query-operators\"},{\"include\":\"#date-literals\"},{\"include\":\"#date-literal-with-params\"},{\"include\":\"#using-scope\"},{\"match\":\"[_.[:alpha:]][_.[:alnum:]]*\",\"name\":\"keyword.query.field.apex\"}]},\"soql-query-body\":{\"patterns\":[{\"include\":\"#trigger-context-declaration\"},{\"include\":\"#soql-colon-vars\"},{\"include\":\"#soql-functions\"},{\"include\":\"#from-clause\"},{\"include\":\"#where-clause\"},{\"include\":\"#query-operators\"},{\"include\":\"#date-literals\"},{\"include\":\"#date-literal-with-params\"},{\"include\":\"#using-scope\"},{\"include\":\"#soql-group-clauses\"},{\"include\":\"#orderby-clause\"},{\"include\":\"#ordering-direction\"},{\"include\":\"#ordering-nulls\"}]},\"soql-query-expression\":{\"begin\":\"\\\\b(SELECT)\\\\b\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.query.select.apex\"}},\"end\":\"(?=;)|(?=])|(?=\\\\))\",\"patterns\":[{\"include\":\"#soql-query-body\"},{\"include\":\"#comment\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#operator-assignment\"},{\"include\":\"#parenthesized-expression\"},{\"include\":\"#expression-operators\"},{\"include\":\"#literal\"},{\"captures\":{\"1\":{\"name\":\"keyword.query.field.apex\"},\"2\":{\"name\":\"punctuation.separator.comma.apex\"}},\"match\":\"([_.[:alpha:]][_.[:alnum:]]*)\\\\s*(,)?\"}]},\"statement\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#while-statement\"},{\"include\":\"#do-statement\"},{\"include\":\"#for-statement\"},{\"include\":\"#switch-statement\"},{\"include\":\"#when-else-statement\"},{\"include\":\"#when-sobject-statement\"},{\"include\":\"#when-statement\"},{\"include\":\"#when-multiple-statement\"},{\"include\":\"#if-statement\"},{\"include\":\"#else-part\"},{\"include\":\"#goto-statement\"},{\"include\":\"#return-statement\"},{\"include\":\"#break-or-continue-statement\"},{\"include\":\"#throw-statement\"},{\"include\":\"#try-statement\"},{\"include\":\"#soql-query-expression\"},{\"include\":\"#local-declaration\"},{\"include\":\"#block\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-semicolon\"}]},\"storage-modifier\":{\"match\":\"(?<!\\\\.)\\\\b(new|public|protected|private|abstract|virtual|override|global|static|final|transient)\\\\b\",\"name\":\"storage.modifier.apex\"},\"string-character-escape\":{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.apex\"},\"string-literal\":{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.apex\"}},\"end\":\"(')|([^\\\\\\\\\\\\n]$)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.apex\"},\"2\":{\"name\":\"invalid.illegal.newline.apex\"}},\"name\":\"string.quoted.single.apex\",\"patterns\":[{\"include\":\"#string-character-escape\"}]},\"support-arguments\":{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.begin.apex\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.end.apex\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#support-type\"},{\"include\":\"#punctuation-comma\"}]},\"support-class\":{\"captures\":{\"1\":{\"name\":\"support.class.apex\"}},\"match\":\"\\\\b(ApexPages|Database|DMLException|Exception|PageReference|Savepoint|SchedulableContext|Schema|SObject|System|Test)\\\\b\"},\"support-expression\":{\"begin\":\"(ApexPages|Database|DMLException|Exception|PageReference|Savepoint|SchedulableContext|Schema|SObject|System|Test)(?=[.\\\\s])\",\"beginCaptures\":{\"1\":{\"name\":\"support.class.apex\"}},\"end\":\"(?<=\\\\)|$)|(?=})|(?=;)|(?=\\\\)|(?=]))|(?=,)\",\"patterns\":[{\"include\":\"#support-type\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.apex\"},\"2\":{\"name\":\"support.function.apex\"}},\"match\":\"(\\\\.)(\\\\p{alpha}*)(?=\\\\()\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.apex\"},\"2\":{\"name\":\"support.type.apex\"}},\"match\":\"(\\\\.)(\\\\p{alpha}+)\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},{\"include\":\"#comment\"},{\"include\":\"#statement\"}]},\"support-functions\":{\"captures\":{\"1\":{\"name\":\"support.function.apex\"}},\"match\":\"\\\\b(delete|execute|finish|insert|start|undelete|update|upsert)\\\\b\"},\"support-name\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.apex\"},\"2\":{\"name\":\"support.function.apex\"}},\"match\":\"(\\\\.)\\\\s*(\\\\p{alpha}*)(?=\\\\()\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.apex\"},\"2\":{\"name\":\"support.type.apex\"}},\"match\":\"(\\\\.)\\\\s*([_[:alpha:]]*)\"}]},\"support-type\":{\"name\":\"support.apex\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#support-class\"},{\"include\":\"#support-functions\"},{\"include\":\"#support-name\"}]},\"switch-statement\":{\"begin\":\"(switch)\\\\b\\\\s+(on)\\\\b\\\\s+(?:([_.?'()[:alnum:]]+)\\\\s*)?(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.switch.apex\"},\"2\":{\"name\":\"keyword.control.switch.on.apex\"},\"3\":{\"patterns\":[{\"include\":\"#statement\"},{\"include\":\"#parenthesized-expression\"}]},\"4\":{\"name\":\"punctuation.curlybrace.open.apex\"}},\"end\":\"(})\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.apex\"}},\"patterns\":[{\"include\":\"#when-string\"},{\"include\":\"#when-else-statement\"},{\"include\":\"#when-sobject-statement\"},{\"include\":\"#when-statement\"},{\"include\":\"#when-multiple-statement\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#punctuation-semicolon\"}]},\"this-expression\":{\"captures\":{\"1\":{\"name\":\"keyword.other.this.apex\"}},\"match\":\"\\\\b(this)\\\\b\"},\"throw-expression\":{\"captures\":{\"1\":{\"name\":\"keyword.control.flow.throw.apex\"}},\"match\":\"(?<!\\\\.)\\\\b(throw)\\\\b\"},\"throw-statement\":{\"begin\":\"(?<!\\\\.)\\\\b(throw)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.throw.apex\"}},\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#expression\"}]},\"trigger-context-declaration\":{\"begin\":\"\\\\b(Trigger)\\\\b(\\\\.)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"support.class.trigger.apex\"},\"2\":{\"name\":\"punctuation.accessor.apex\"}},\"end\":\"(?=})|(?=;)|(?=\\\\)|(?=]))\",\"patterns\":[{\"match\":\"\\\\b(isExecuting|isInsert|isUpdate|isDelete|isBefore|isAfter|isUndelete|new|newMap|old|oldMap|size)\\\\b\",\"name\":\"support.type.trigger.apex\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#punctuation-accessor\"},{\"include\":\"#operator-safe-navigation\"}]},\"2\":{\"name\":\"support.function.trigger.apex\"}},\"match\":\"(\\\\??\\\\.)(\\\\p{alpha}+)(?=\\\\()\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#trigger-type-statement\"},{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"},{\"include\":\"#expression\"}]},{\"include\":\"#expression\"}]},\"trigger-declaration\":{\"begin\":\"(?=\\\\btrigger\\\\b)\",\"end\":\"(?<=})\",\"patterns\":[{\"begin\":\"\\\\b(trigger)\\\\b\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\b(on)\\\\b\\\\s+([_[:alpha:]][_[:alnum:]]*)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.trigger.apex\"},\"2\":{\"name\":\"entity.name.type.trigger.apex\"},\"3\":{\"name\":\"keyword.operator.trigger.on.apex\"},\"4\":{\"name\":\"storage.type.apex\"}},\"end\":\"(?=\\\\{)\",\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#trigger-type-statement\"},{\"include\":\"#trigger-operator-statement\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#expression\"}]},{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"},{\"include\":\"#type-parameter-list\"}]},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.apex\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.apex\"}},\"patterns\":[{\"include\":\"#statement\"},{\"include\":\"#class-or-trigger-members\"}]},{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"}]},\"trigger-operator-statement\":{\"match\":\"\\\\b(insert|update|delete|merge|upsert|undelete)\\\\b\",\"name\":\"keyword.operator.trigger.apex\"},\"trigger-type-statement\":{\"captures\":{\"1\":{\"name\":\"keyword.control.trigger.before.apex\"},\"2\":{\"name\":\"keyword.control.trigger.after.apex\"}},\"match\":\"\\\\b(?:(before)|(after))\\\\b\"},\"try-block\":{\"begin\":\"(?<!\\\\.)\\\\b(try)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.try.apex\"}},\"end\":\"(?<=})\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#block\"}]},\"try-statement\":{\"patterns\":[{\"include\":\"#try-block\"},{\"include\":\"#catch-clause\"},{\"include\":\"#finally-clause\"}]},\"type\":{\"name\":\"meta.type.apex\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type-builtin\"},{\"include\":\"#type-name\"},{\"include\":\"#type-arguments\"},{\"include\":\"#type-array-suffix\"},{\"include\":\"#type-nullable-suffix\"}]},\"type-arguments\":{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.begin.apex\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.end.apex\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#support-type\"},{\"include\":\"#type\"},{\"include\":\"#punctuation-comma\"}]},\"type-array-suffix\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.squarebracket.open.apex\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.squarebracket.close.apex\"}},\"patterns\":[{\"include\":\"#punctuation-comma\"}]},\"type-builtin\":{\"captures\":{\"1\":{\"name\":\"keyword.type.apex\"}},\"match\":\"\\\\b(Blob|Boolean|byte|Date|Datetime|Decimal|Double|ID|Integer|Long|Object|String|Time|void)\\\\b\"},\"type-declarations\":{\"patterns\":[{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"},{\"include\":\"#annotation-declaration\"},{\"include\":\"#storage-modifier\"},{\"include\":\"#sharing-modifier\"},{\"include\":\"#class-declaration\"},{\"include\":\"#enum-declaration\"},{\"include\":\"#interface-declaration\"},{\"include\":\"#trigger-declaration\"},{\"include\":\"#punctuation-semicolon\"}]},\"type-name\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.type.apex\"},\"2\":{\"name\":\"punctuation.accessor.apex\"}},\"match\":\"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(\\\\.)\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.apex\"},\"2\":{\"name\":\"storage.type.apex\"}},\"match\":\"(\\\\.)\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)\"},{\"match\":\"@?[_[:alpha:]][_[:alnum:]]*\",\"name\":\"storage.type.apex\"}]},\"type-nullable-suffix\":{\"captures\":{\"0\":{\"name\":\"punctuation.separator.question-mark.apex\"}},\"match\":\"\\\\?\"},\"type-parameter-list\":{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.begin.apex\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.end.apex\"}},\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.name.type.type-parameter.apex\"}},\"match\":\"(@?[_[:alpha:]][_[:alnum:]]*)\\\\b\"},{\"include\":\"#comment\"},{\"include\":\"#punctuation-comma\"}]},\"using-scope\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.query.using.apex\"}},\"match\":\"((USING SCOPE)\\\\b\\\\s*(Delegated|Everything|Mine|My_Territory|My_Team_Territory|Team))\\\\b\\\\s*\"},\"variable-initializer\":{\"begin\":\"(?<![=!])(=)(?![=>])\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.apex\"}},\"end\":\"(?=[,)\\\\];}])\",\"patterns\":[{\"include\":\"#expression\"}]},\"when-else-statement\":{\"begin\":\"(when)\\\\b\\\\s+(else)\\\\b\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.switch.when.apex\"},\"2\":{\"name\":\"keyword.control.switch.else.apex\"}},\"end\":\"(?<=})\",\"patterns\":[{\"include\":\"#block\"},{\"include\":\"#expression\"}]},\"when-multiple-statement\":{\"begin\":\"(when)\\\\b\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.switch.when.apex\"}},\"end\":\"(?<=})\",\"patterns\":[{\"include\":\"#block\"},{\"include\":\"#expression\"}]},\"when-sobject-statement\":{\"begin\":\"(when)\\\\b\\\\s+([_[:alnum:]]+)\\\\s+([_[:alnum:]]+)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.switch.when.apex\"},\"2\":{\"name\":\"storage.type.apex\"},\"3\":{\"name\":\"entity.name.variable.local.apex\"}},\"end\":\"(?<=})\",\"patterns\":[{\"include\":\"#block\"},{\"include\":\"#expression\"}]},\"when-statement\":{\"begin\":\"(when)\\\\b\\\\s+(['_\\\\-[:alnum:]]+)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.switch.when.apex\"},\"2\":{\"patterns\":[{\"include\":\"#expression\"}]}},\"end\":\"(?<=})\",\"patterns\":[{\"include\":\"#block\"},{\"include\":\"#expression\"}]},\"when-string\":{\"begin\":\"(when)(\\\\b\\\\s*)((')[_.,'\\\\s*[:alnum:]]+)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.switch.when.apex\"},\"2\":{\"name\":\"punctuation.whitespace.apex\"},\"3\":{\"patterns\":[{\"include\":\"#when-string-statement\"},{\"include\":\"#punctuation-comma\"}]}},\"end\":\"(?<=})\",\"patterns\":[{\"include\":\"#block\"},{\"include\":\"#expression\"}]},\"when-string-statement\":{\"patterns\":[{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.apex\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.apex\"}},\"name\":\"string.quoted.single.apex\"}]},\"where-clause\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.query.where.apex\"}},\"match\":\"\\\\b(WHERE)\\\\b\\\\s*\"},\"while-statement\":{\"begin\":\"(?<!\\\\.)\\\\b(while)\\\\b\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.loop.while.apex\"}},\"end\":\"(?<=})|(?=;)\",\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.apex\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.apex\"}},\"patterns\":[{\"include\":\"#expression\"}]},{\"include\":\"#statement\"}]},\"xml-attribute\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.other.attribute-name.apex\"},\"2\":{\"name\":\"entity.other.attribute-name.namespace.apex\"},\"3\":{\"name\":\"punctuation.separator.colon.apex\"},\"4\":{\"name\":\"entity.other.attribute-name.localname.apex\"},\"5\":{\"name\":\"punctuation.separator.equals.apex\"}},\"match\":\"(?:^|\\\\s+)((?:([-_[:alnum:]]+)(:))?([-_[:alnum:]]+))(=)\"},{\"include\":\"#xml-string\"}]},\"xml-cdata\":{\"begin\":\"<!\\\\[CDATA\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.apex\"}},\"end\":\"]]>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.apex\"}},\"name\":\"string.unquoted.cdata.apex\"},\"xml-character-entity\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.constant.apex\"},\"3\":{\"name\":\"punctuation.definition.constant.apex\"}},\"match\":\"(&)([[:alpha:]:_][[:alnum:]:_.-]*|#\\\\d+|#x\\\\h+)(;)\",\"name\":\"constant.character.entity.apex\"},{\"match\":\"&\",\"name\":\"invalid.illegal.bad-ampersand.apex\"}]},\"xml-comment\":{\"begin\":\"<!--\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.apex\"}},\"end\":\"-->\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.apex\"}},\"name\":\"comment.block.apex\"},\"xml-doc-comment\":{\"patterns\":[{\"include\":\"#xml-comment\"},{\"include\":\"#xml-character-entity\"},{\"include\":\"#xml-cdata\"},{\"include\":\"#xml-tag\"}]},\"xml-string\":{\"patterns\":[{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.apex\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.apex\"}},\"name\":\"string.quoted.single.apex\",\"patterns\":[{\"include\":\"#xml-character-entity\"}]},{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.stringdoublequote.begin.apex\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.stringdoublequote.end.apex\"}},\"name\":\"string.quoted.double.apex\",\"patterns\":[{\"include\":\"#xml-character-entity\"}]}]},\"xml-tag\":{\"begin\":\"(</?)((?:([-_[:alnum:]]+)(:))?([-_[:alnum:]]+))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.apex\"},\"2\":{\"name\":\"entity.name.tag.apex\"},\"3\":{\"name\":\"entity.name.tag.namespace.apex\"},\"4\":{\"name\":\"punctuation.separator.colon.apex\"},\"5\":{\"name\":\"entity.name.tag.localname.apex\"}},\"end\":\"(/?>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.apex\"}},\"name\":\"meta.tag.apex\",\"patterns\":[{\"include\":\"#xml-attribute\"}]}},\"scopeName\":\"source.apex\"}"))
2
2
 
3
3
  export default [
4
4
  lang
package/dist/apl.mjs CHANGED
@@ -4,7 +4,7 @@ import css from './css.mjs'
4
4
  import javascript from './javascript.mjs'
5
5
  import json from './json.mjs'
6
6
 
7
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"APL\",\"fileTypes\":[\"apl\",\"apla\",\"aplc\",\"aplf\",\"apli\",\"apln\",\"aplo\",\"dyalog\",\"dyapp\",\"mipage\"],\"firstLineMatch\":\"[⌶-⍺]|^#!.*(?:[\\\\s/]|(?<=!)\\\\b)(?:gnu[\\\\-._]?apl|aplx?|dyalog)(?:$|\\\\s)|(?i:-\\\\*-(?:\\\\s*(?=[^:;\\\\s]+\\\\s*-\\\\*-)|(?:.*?[;\\\\s]|(?<=-\\\\*-))mode\\\\s*:\\\\s*)apl(?=[\\\\s;]|(?<![\\\\-*])-\\\\*-).*?-\\\\*-|(?:(?:\\\\s|^)vi(?:m(?:[<=>]?\\\\d+|))?|\\\\sex)(?=:(?:(?=\\\\s*set?\\\\s[^\\\\n:]+:)|(?!\\\\s*set?\\\\s)))(?:(?:\\\\s|\\\\s*:\\\\s*)\\\\w*(?:\\\\s*=(?:[^\\\\n\\\\\\\\\\\\s]|\\\\\\\\.)*)?)*[\\\\s:](?:filetype|ft|syntax)\\\\s*=apl(?=[\\\\s:]|$))\",\"foldingStartMarker\":\"\\\\{\",\"foldingStopMarker\":\"}\",\"name\":\"apl\",\"patterns\":[{\"match\":\"\\\\A#!.*$\",\"name\":\"comment.line.shebang.apl\"},{\"include\":\"#heredocs\"},{\"include\":\"#main\"},{\"begin\":\"^\\\\s*((\\\\))OFF|(])NEXTFILE)\\\\b(.*)$\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.command.eof.apl\"},\"2\":{\"name\":\"punctuation.definition.command.apl\"},\"3\":{\"name\":\"punctuation.definition.command.apl\"},\"4\":{\"patterns\":[{\"include\":\"#comment\"}]}},\"contentName\":\"text.embedded.apl\",\"end\":\"(?=N)A\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.round.bracket.begin.apl\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.round.bracket.end.apl\"}},\"name\":\"meta.round.bracketed.group.apl\",\"patterns\":[{\"include\":\"#main\"}]},{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.square.bracket.begin.apl\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.square.bracket.end.apl\"}},\"name\":\"meta.square.bracketed.group.apl\",\"patterns\":[{\"include\":\"#main\"}]},{\"begin\":\"^\\\\s*((\\\\))\\\\S+)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.command.apl\"},\"2\":{\"name\":\"punctuation.definition.command.apl\"}},\"end\":\"$\",\"name\":\"meta.system.command.apl\",\"patterns\":[{\"include\":\"#command-arguments\"},{\"include\":\"#command-switches\"},{\"include\":\"#main\"}]},{\"begin\":\"^\\\\s*((])\\\\S+)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.command.apl\"},\"2\":{\"name\":\"punctuation.definition.command.apl\"}},\"end\":\"$\",\"name\":\"meta.user.command.apl\",\"patterns\":[{\"include\":\"#command-arguments\"},{\"include\":\"#command-switches\"},{\"include\":\"#main\"}]}],\"repository\":{\"class\":{\"patterns\":[{\"begin\":\"(?<=\\\\s|^)((:)Class)\\\\s+('[^']*'?|[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*)\\\\s*((:)\\\\s*(?:('[^']*'?|[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*)\\\\s*)?)?(.*?)$\",\"beginCaptures\":{\"0\":{\"name\":\"meta.class.apl\"},\"1\":{\"name\":\"keyword.control.class.apl\"},\"2\":{\"name\":\"punctuation.definition.class.apl\"},\"3\":{\"name\":\"entity.name.type.class.apl\",\"patterns\":[{\"include\":\"#strings\"}]},\"4\":{\"name\":\"entity.other.inherited-class.apl\"},\"5\":{\"name\":\"punctuation.separator.inheritance.apl\"},\"6\":{\"patterns\":[{\"include\":\"#strings\"}]},\"7\":{\"name\":\"entity.other.class.interfaces.apl\",\"patterns\":[{\"include\":\"#csv\"}]}},\"end\":\"(?<=\\\\s|^)((:)EndClass)(?=\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.class.apl\"},\"2\":{\"name\":\"punctuation.definition.class.apl\"}},\"patterns\":[{\"begin\":\"(?<=\\\\s|^)(:)Field(?=\\\\s)\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.field.apl\"},\"1\":{\"name\":\"punctuation.definition.field.apl\"}},\"end\":\"\\\\s*(←.*)?(?:$|(?=⍝))\",\"endCaptures\":{\"0\":{\"name\":\"entity.other.initial-value.apl\"},\"1\":{\"patterns\":[{\"include\":\"#main\"}]}},\"name\":\"meta.field.apl\",\"patterns\":[{\"match\":\"(?<=\\\\s|^)Public(?=\\\\s|$)\",\"name\":\"storage.modifier.access.public.apl\"},{\"match\":\"(?<=\\\\s|^)Private(?=\\\\s|$)\",\"name\":\"storage.modifier.access.private.apl\"},{\"match\":\"(?<=\\\\s|^)Shared(?=\\\\s|$)\",\"name\":\"storage.modifier.shared.apl\"},{\"match\":\"(?<=\\\\s|^)Instance(?=\\\\s|$)\",\"name\":\"storage.modifier.instance.apl\"},{\"match\":\"(?<=\\\\s|^)ReadOnly(?=\\\\s|$)\",\"name\":\"storage.modifier.readonly.apl\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#strings\"}]}},\"match\":\"('[^']*'?|[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*)\",\"name\":\"entity.name.type.apl\"}]},{\"include\":\"$self\"}]}]},\"command-arguments\":{\"patterns\":[{\"begin\":\"\\\\b(?=\\\\S)\",\"end\":\"\\\\b(?=\\\\s)\",\"name\":\"variable.parameter.argument.apl\",\"patterns\":[{\"include\":\"#main\"}]}]},\"command-switches\":{\"patterns\":[{\"begin\":\"(?<=\\\\s)(-)([A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*)(=)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.delimiter.switch.apl\"},\"2\":{\"name\":\"entity.name.switch.apl\"},\"3\":{\"name\":\"punctuation.assignment.switch.apl\"}},\"end\":\"\\\\b(?=\\\\s)\",\"name\":\"variable.parameter.switch.apl\",\"patterns\":[{\"include\":\"#main\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.delimiter.switch.apl\"},\"2\":{\"name\":\"entity.name.switch.apl\"}},\"match\":\"(?<=\\\\s)(-)([A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*)(?!=)\",\"name\":\"variable.parameter.switch.apl\"}]},\"comment\":{\"patterns\":[{\"begin\":\"⍝\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.apl\"}},\"end\":\"$\",\"name\":\"comment.line.apl\"}]},\"csv\":{\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.apl\"},{\"include\":\"$self\"}]},\"definition\":{\"patterns\":[{\"begin\":\"^\\\\s*?(∇)(?:\\\\s*(?:([A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*)|\\\\s*((\\\\{)(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*)*(})|(\\\\()(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*)*(\\\\))|(\\\\(\\\\s*\\\\{)(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*)*(}\\\\s*\\\\))|(\\\\{\\\\s*\\\\()(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*)*(\\\\)\\\\s*}))\\\\s*)\\\\s*(←))?\\\\s*(?:([A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*)\\\\s*((\\\\[)\\\\s*(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*(.*?)|([^\\\\]]*))\\\\s*(]))?\\\\s*?((?<=[\\\\s\\\\]])[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*|(\\\\()(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*)*(\\\\)))\\\\s*(?=;|$)|(?:([A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s+)|((\\\\{)(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*)*(})|(\\\\(\\\\s*\\\\{)(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*)*(}\\\\s*\\\\))|(\\\\{\\\\s*\\\\()(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*)*(\\\\)\\\\s*})))?\\\\s*(?:([A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*)\\\\s*((\\\\[)\\\\s*(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*(.*?)|([^\\\\]]*))\\\\s*(]))?|((\\\\()(\\\\s*[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*)?\\\\s*([A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*)\\\\s*?((\\\\[)\\\\s*(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*(.*?)|([^\\\\]]*))\\\\s*(]))?\\\\s*([A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*)?(\\\\))))\\\\s*((?<=[\\\\s\\\\]])[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*|\\\\s*(\\\\()(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*)*(\\\\)))?)\\\\s*([^;]+)?(((?>\\\\s*;(?:\\\\s*[⎕A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*)+)+)|([^⍝]+))?\\\\s*(⍝.*)?$\",\"beginCaptures\":{\"0\":{\"name\":\"entity.function.definition.apl\"},\"1\":{\"name\":\"keyword.operator.nabla.apl\"},\"2\":{\"name\":\"entity.function.return-value.apl\"},\"3\":{\"name\":\"entity.function.return-value.shy.apl\"},\"4\":{\"name\":\"punctuation.definition.return-value.begin.apl\"},\"5\":{\"name\":\"punctuation.definition.return-value.end.apl\"},\"6\":{\"name\":\"punctuation.definition.return-value.begin.apl\"},\"7\":{\"name\":\"punctuation.definition.return-value.end.apl\"},\"8\":{\"name\":\"punctuation.definition.return-value.begin.apl\"},\"9\":{\"name\":\"punctuation.definition.return-value.end.apl\"},\"10\":{\"name\":\"punctuation.definition.return-value.begin.apl\"},\"11\":{\"name\":\"punctuation.definition.return-value.end.apl\"},\"12\":{\"name\":\"keyword.operator.assignment.apl\"},\"13\":{\"name\":\"entity.function.name.apl\",\"patterns\":[{\"include\":\"#embolden\"}]},\"14\":{\"name\":\"entity.function.axis.apl\"},\"15\":{\"name\":\"punctuation.definition.axis.begin.apl\"},\"16\":{\"name\":\"invalid.illegal.extra-characters.apl\"},\"17\":{\"name\":\"invalid.illegal.apl\"},\"18\":{\"name\":\"punctuation.definition.axis.end.apl\"},\"19\":{\"name\":\"entity.function.arguments.right.apl\"},\"20\":{\"name\":\"punctuation.definition.arguments.begin.apl\"},\"21\":{\"name\":\"punctuation.definition.arguments.end.apl\"},\"22\":{\"name\":\"entity.function.arguments.left.apl\"},\"23\":{\"name\":\"entity.function.arguments.left.optional.apl\"},\"24\":{\"name\":\"punctuation.definition.arguments.begin.apl\"},\"25\":{\"name\":\"punctuation.definition.arguments.end.apl\"},\"26\":{\"name\":\"punctuation.definition.arguments.begin.apl\"},\"27\":{\"name\":\"punctuation.definition.arguments.end.apl\"},\"28\":{\"name\":\"punctuation.definition.arguments.begin.apl\"},\"29\":{\"name\":\"punctuation.definition.arguments.end.apl\"},\"30\":{\"name\":\"entity.function.name.apl\",\"patterns\":[{\"include\":\"#embolden\"}]},\"31\":{\"name\":\"entity.function.axis.apl\"},\"32\":{\"name\":\"punctuation.definition.axis.begin.apl\"},\"33\":{\"name\":\"invalid.illegal.extra-characters.apl\"},\"34\":{\"name\":\"invalid.illegal.apl\"},\"35\":{\"name\":\"punctuation.definition.axis.end.apl\"},\"36\":{\"name\":\"entity.function.operands.apl\"},\"37\":{\"name\":\"punctuation.definition.operands.begin.apl\"},\"38\":{\"name\":\"entity.function.operands.left.apl\"},\"39\":{\"name\":\"entity.function.name.apl\",\"patterns\":[{\"include\":\"#embolden\"}]},\"40\":{\"name\":\"entity.function.axis.apl\"},\"41\":{\"name\":\"punctuation.definition.axis.begin.apl\"},\"42\":{\"name\":\"invalid.illegal.extra-characters.apl\"},\"43\":{\"name\":\"invalid.illegal.apl\"},\"44\":{\"name\":\"punctuation.definition.axis.end.apl\"},\"45\":{\"name\":\"entity.function.operands.right.apl\"},\"46\":{\"name\":\"punctuation.definition.operands.end.apl\"},\"47\":{\"name\":\"entity.function.arguments.right.apl\"},\"48\":{\"name\":\"punctuation.definition.arguments.begin.apl\"},\"49\":{\"name\":\"punctuation.definition.arguments.end.apl\"},\"50\":{\"name\":\"invalid.illegal.arguments.right.apl\"},\"51\":{\"name\":\"entity.function.local-variables.apl\"},\"52\":{\"patterns\":[{\"match\":\";\",\"name\":\"punctuation.separator.apl\"}]},\"53\":{\"name\":\"invalid.illegal.local-variables.apl\"},\"54\":{\"name\":\"comment.line.apl\"}},\"end\":\"^\\\\s*?(?:(∇)|(⍫))\\\\s*?(⍝.*?)?$\",\"endCaptures\":{\"1\":{\"name\":\"keyword.operator.nabla.apl\"},\"2\":{\"name\":\"keyword.operator.lock.apl\"},\"3\":{\"name\":\"comment.line.apl\"}},\"name\":\"meta.function.apl\",\"patterns\":[{\"captures\":{\"0\":{\"name\":\"entity.function.local-variables.apl\"},\"1\":{\"patterns\":[{\"match\":\";\",\"name\":\"punctuation.separator.apl\"}]}},\"match\":\"^\\\\s*((?>;(?:\\\\s*[⎕A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*)+)+)\",\"name\":\"entity.function.definition.apl\"},{\"include\":\"$self\"}]}]},\"embedded-apl\":{\"patterns\":[{\"begin\":\"(?i)(<([?%])(?:apl(?=\\\\s+)|=))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.begin.apl\"}},\"end\":\"(?<=\\\\s)(\\\\2>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.end.apl\"}},\"name\":\"meta.embedded.block.apl\",\"patterns\":[{\"include\":\"#main\"}]}]},\"embolden\":{\"patterns\":[{\"match\":\".+\",\"name\":\"markup.bold.identifier.apl\"}]},\"heredocs\":{\"patterns\":[{\"begin\":\"^.*?⎕INP\\\\s+(['\\\"])((?i).*?HTML?.*?|END-OF-⎕INP)\\\\1.*$\",\"beginCaptures\":{\"0\":{\"patterns\":[{\"include\":\"#main\"}]}},\"contentName\":\"text.embedded.html.basic\",\"end\":\"^.*?\\\\2.*?$\",\"endCaptures\":{\"0\":{\"name\":\"constant.other.apl\"}},\"name\":\"meta.heredoc.apl\",\"patterns\":[{\"include\":\"text.html.basic\"},{\"include\":\"#embedded-apl\"}]},{\"begin\":\"^.*?⎕INP\\\\s+(['\\\"])((?i).*?(?:XML|XSLT|SVG|RSS).*?)\\\\1.*$\",\"beginCaptures\":{\"0\":{\"patterns\":[{\"include\":\"#main\"}]}},\"contentName\":\"text.embedded.xml\",\"end\":\"^.*?\\\\2.*?$\",\"endCaptures\":{\"0\":{\"name\":\"constant.other.apl\"}},\"name\":\"meta.heredoc.apl\",\"patterns\":[{\"include\":\"text.xml\"},{\"include\":\"#embedded-apl\"}]},{\"begin\":\"^.*?⎕INP\\\\s+(['\\\"])((?i).*?(?:CSS|stylesheet).*?)\\\\1.*$\",\"beginCaptures\":{\"0\":{\"patterns\":[{\"include\":\"#main\"}]}},\"contentName\":\"source.embedded.css\",\"end\":\"^.*?\\\\2.*?$\",\"endCaptures\":{\"0\":{\"name\":\"constant.other.apl\"}},\"name\":\"meta.heredoc.apl\",\"patterns\":[{\"include\":\"source.css\"},{\"include\":\"#embedded-apl\"}]},{\"begin\":\"^.*?⎕INP\\\\s+(['\\\"])((?i).*?(?:JS(?!ON)|(?:ECMA|J|Java).?Script).*?)\\\\1.*$\",\"beginCaptures\":{\"0\":{\"patterns\":[{\"include\":\"#main\"}]}},\"contentName\":\"source.embedded.js\",\"end\":\"^.*?\\\\2.*?$\",\"endCaptures\":{\"0\":{\"name\":\"constant.other.apl\"}},\"name\":\"meta.heredoc.apl\",\"patterns\":[{\"include\":\"source.js\"},{\"include\":\"#embedded-apl\"}]},{\"begin\":\"^.*?⎕INP\\\\s+(['\\\"])((?i).*?JSON.*?)\\\\1.*$\",\"beginCaptures\":{\"0\":{\"patterns\":[{\"include\":\"#main\"}]}},\"contentName\":\"source.embedded.json\",\"end\":\"^.*?\\\\2.*?$\",\"endCaptures\":{\"0\":{\"name\":\"constant.other.apl\"}},\"name\":\"meta.heredoc.apl\",\"patterns\":[{\"include\":\"source.json\"},{\"include\":\"#embedded-apl\"}]},{\"begin\":\"^.*?⎕INP\\\\s+(['\\\"])(?i)((?:Raw|Plain)?\\\\s*Te?xt)\\\\1.*$\",\"beginCaptures\":{\"0\":{\"patterns\":[{\"include\":\"#main\"}]}},\"contentName\":\"text.embedded.plain\",\"end\":\"^.*?\\\\2.*?$\",\"endCaptures\":{\"0\":{\"name\":\"constant.other.apl\"}},\"name\":\"meta.heredoc.apl\",\"patterns\":[{\"include\":\"#embedded-apl\"}]},{\"begin\":\"^.*?⎕INP\\\\s+(['\\\"])(.*?)\\\\1.*$\",\"beginCaptures\":{\"0\":{\"patterns\":[{\"include\":\"#main\"}]}},\"end\":\"^.*?\\\\2.*?$\",\"endCaptures\":{\"0\":{\"name\":\"constant.other.apl\"}},\"name\":\"meta.heredoc.apl\",\"patterns\":[{\"include\":\"$self\"}]}]},\"label\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.label.name.apl\"},\"2\":{\"name\":\"punctuation.definition.label.end.apl\"}},\"match\":\"^\\\\s*([A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*)(:)\",\"name\":\"meta.label.apl\"}]},\"lambda\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.lambda.begin.apl\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.lambda.end.apl\"}},\"name\":\"meta.lambda.function.apl\",\"patterns\":[{\"include\":\"#main\"},{\"include\":\"#lambda-variables\"}]},\"lambda-variables\":{\"patterns\":[{\"match\":\"⍺⍺\",\"name\":\"constant.language.lambda.operands.left.apl\"},{\"match\":\"⍵⍵\",\"name\":\"constant.language.lambda.operands.right.apl\"},{\"match\":\"[⍺⍶]\",\"name\":\"constant.language.lambda.arguments.left.apl\"},{\"match\":\"[⍵⍹]\",\"name\":\"constant.language.lambda.arguments.right.apl\"},{\"match\":\"χ\",\"name\":\"constant.language.lambda.arguments.axis.apl\"},{\"match\":\"∇∇\",\"name\":\"constant.language.lambda.operands.self.operator.apl\"},{\"match\":\"∇\",\"name\":\"constant.language.lambda.operands.self.function.apl\"},{\"match\":\"λ\",\"name\":\"constant.language.lambda.symbol.apl\"}]},\"main\":{\"patterns\":[{\"include\":\"#class\"},{\"include\":\"#definition\"},{\"include\":\"#comment\"},{\"include\":\"#label\"},{\"include\":\"#sck\"},{\"include\":\"#strings\"},{\"include\":\"#number\"},{\"include\":\"#lambda\"},{\"include\":\"#sysvars\"},{\"include\":\"#symbols\"},{\"include\":\"#name\"}]},\"name\":{\"patterns\":[{\"match\":\"[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\",\"name\":\"variable.other.readwrite.apl\"}]},\"number\":{\"patterns\":[{\"match\":\"¯?[0-9][¯0-9A-Za-z]*(?:\\\\.[¯0-9Ee][¯0-9A-Za-z]*)*|¯?\\\\.[0-9Ee][¯0-9A-Za-z]*\",\"name\":\"constant.numeric.apl\"}]},\"sck\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.sck.begin.apl\"}},\"match\":\"(?<=\\\\s|^)(:)[A-Za-z]+\",\"name\":\"keyword.control.sck.apl\"}]},\"strings\":{\"patterns\":[{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.apl\"}},\"end\":\"'|$\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.apl\"}},\"name\":\"string.quoted.single.apl\",\"patterns\":[{\"match\":\"[^']*[^'\\\\n\\\\r\\\\\\\\]$\",\"name\":\"invalid.illegal.string.apl\"}]},{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.apl\"}},\"end\":\"\\\"|$\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.apl\"}},\"name\":\"string.quoted.double.apl\",\"patterns\":[{\"match\":\"[^\\\"]*[^\\\"\\\\n\\\\r\\\\\\\\]$\",\"name\":\"invalid.illegal.string.apl\"}]}]},\"symbols\":{\"patterns\":[{\"match\":\"(?<=\\\\s)←(?=\\\\s|$)\",\"name\":\"keyword.spaced.operator.assignment.apl\"},{\"match\":\"(?<=\\\\s)→(?=\\\\s|$)\",\"name\":\"keyword.spaced.control.goto.apl\"},{\"match\":\"(?<=\\\\s)≡(?=\\\\s|$)\",\"name\":\"keyword.spaced.operator.identical.apl\"},{\"match\":\"(?<=\\\\s)≢(?=\\\\s|$)\",\"name\":\"keyword.spaced.operator.not-identical.apl\"},{\"match\":\"\\\\+\",\"name\":\"keyword.operator.plus.apl\"},{\"match\":\"[\\\\-−]\",\"name\":\"keyword.operator.minus.apl\"},{\"match\":\"×\",\"name\":\"keyword.operator.times.apl\"},{\"match\":\"÷\",\"name\":\"keyword.operator.divide.apl\"},{\"match\":\"⌊\",\"name\":\"keyword.operator.floor.apl\"},{\"match\":\"⌈\",\"name\":\"keyword.operator.ceiling.apl\"},{\"match\":\"[∣|]\",\"name\":\"keyword.operator.absolute.apl\"},{\"match\":\"[⋆*]\",\"name\":\"keyword.operator.exponent.apl\"},{\"match\":\"⍟\",\"name\":\"keyword.operator.logarithm.apl\"},{\"match\":\"○\",\"name\":\"keyword.operator.circle.apl\"},{\"match\":\"!\",\"name\":\"keyword.operator.factorial.apl\"},{\"match\":\"∧\",\"name\":\"keyword.operator.and.apl\"},{\"match\":\"∨\",\"name\":\"keyword.operator.or.apl\"},{\"match\":\"⍲\",\"name\":\"keyword.operator.nand.apl\"},{\"match\":\"⍱\",\"name\":\"keyword.operator.nor.apl\"},{\"match\":\"<\",\"name\":\"keyword.operator.less.apl\"},{\"match\":\"≤\",\"name\":\"keyword.operator.less-or-equal.apl\"},{\"match\":\"=\",\"name\":\"keyword.operator.equal.apl\"},{\"match\":\"≥\",\"name\":\"keyword.operator.greater-or-equal.apl\"},{\"match\":\">\",\"name\":\"keyword.operator.greater.apl\"},{\"match\":\"≠\",\"name\":\"keyword.operator.not-equal.apl\"},{\"match\":\"[∼~]\",\"name\":\"keyword.operator.tilde.apl\"},{\"match\":\"\\\\?\",\"name\":\"keyword.operator.random.apl\"},{\"match\":\"[∊∈]\",\"name\":\"keyword.operator.member-of.apl\"},{\"match\":\"⍷\",\"name\":\"keyword.operator.find.apl\"},{\"match\":\",\",\"name\":\"keyword.operator.comma.apl\"},{\"match\":\"⍪\",\"name\":\"keyword.operator.comma-bar.apl\"},{\"match\":\"⌷\",\"name\":\"keyword.operator.squad.apl\"},{\"match\":\"⍳\",\"name\":\"keyword.operator.iota.apl\"},{\"match\":\"⍴\",\"name\":\"keyword.operator.rho.apl\"},{\"match\":\"↑\",\"name\":\"keyword.operator.take.apl\"},{\"match\":\"↓\",\"name\":\"keyword.operator.drop.apl\"},{\"match\":\"⊣\",\"name\":\"keyword.operator.left.apl\"},{\"match\":\"⊢\",\"name\":\"keyword.operator.right.apl\"},{\"match\":\"⊤\",\"name\":\"keyword.operator.encode.apl\"},{\"match\":\"⊥\",\"name\":\"keyword.operator.decode.apl\"},{\"match\":\"/\",\"name\":\"keyword.operator.slash.apl\"},{\"match\":\"⌿\",\"name\":\"keyword.operator.slash-bar.apl\"},{\"match\":\"\\\\\\\\\",\"name\":\"keyword.operator.backslash.apl\"},{\"match\":\"⍀\",\"name\":\"keyword.operator.backslash-bar.apl\"},{\"match\":\"⌽\",\"name\":\"keyword.operator.rotate-last.apl\"},{\"match\":\"⊖\",\"name\":\"keyword.operator.rotate-first.apl\"},{\"match\":\"⍉\",\"name\":\"keyword.operator.transpose.apl\"},{\"match\":\"⍋\",\"name\":\"keyword.operator.grade-up.apl\"},{\"match\":\"⍒\",\"name\":\"keyword.operator.grade-down.apl\"},{\"match\":\"⌹\",\"name\":\"keyword.operator.quad-divide.apl\"},{\"match\":\"≡\",\"name\":\"keyword.operator.identical.apl\"},{\"match\":\"≢\",\"name\":\"keyword.operator.not-identical.apl\"},{\"match\":\"⊂\",\"name\":\"keyword.operator.enclose.apl\"},{\"match\":\"⊃\",\"name\":\"keyword.operator.pick.apl\"},{\"match\":\"∩\",\"name\":\"keyword.operator.intersection.apl\"},{\"match\":\"∪\",\"name\":\"keyword.operator.union.apl\"},{\"match\":\"⍎\",\"name\":\"keyword.operator.hydrant.apl\"},{\"match\":\"⍕\",\"name\":\"keyword.operator.thorn.apl\"},{\"match\":\"⊆\",\"name\":\"keyword.operator.underbar-shoe-left.apl\"},{\"match\":\"⍸\",\"name\":\"keyword.operator.underbar-iota.apl\"},{\"match\":\"¨\",\"name\":\"keyword.operator.each.apl\"},{\"match\":\"⍤\",\"name\":\"keyword.operator.rank.apl\"},{\"match\":\"⌸\",\"name\":\"keyword.operator.quad-equal.apl\"},{\"match\":\"⍨\",\"name\":\"keyword.operator.commute.apl\"},{\"match\":\"⍣\",\"name\":\"keyword.operator.power.apl\"},{\"match\":\"\\\\.\",\"name\":\"keyword.operator.dot.apl\"},{\"match\":\"∘\",\"name\":\"keyword.operator.jot.apl\"},{\"match\":\"⍠\",\"name\":\"keyword.operator.quad-colon.apl\"},{\"match\":\"&\",\"name\":\"keyword.operator.ampersand.apl\"},{\"match\":\"⌶\",\"name\":\"keyword.operator.i-beam.apl\"},{\"match\":\"⌺\",\"name\":\"keyword.operator.quad-diamond.apl\"},{\"match\":\"@\",\"name\":\"keyword.operator.at.apl\"},{\"match\":\"◊\",\"name\":\"keyword.operator.lozenge.apl\"},{\"match\":\";\",\"name\":\"keyword.operator.semicolon.apl\"},{\"match\":\"¯\",\"name\":\"keyword.operator.high-minus.apl\"},{\"match\":\"←\",\"name\":\"keyword.operator.assignment.apl\"},{\"match\":\"→\",\"name\":\"keyword.control.goto.apl\"},{\"match\":\"⍬\",\"name\":\"constant.language.zilde.apl\"},{\"match\":\"⋄\",\"name\":\"keyword.operator.diamond.apl\"},{\"match\":\"⍫\",\"name\":\"keyword.operator.lock.apl\"},{\"match\":\"⎕\",\"name\":\"keyword.operator.quad.apl\"},{\"match\":\"##\",\"name\":\"constant.language.namespace.parent.apl\"},{\"match\":\"#\",\"name\":\"constant.language.namespace.root.apl\"},{\"match\":\"⌻\",\"name\":\"keyword.operator.quad-jot.apl\"},{\"match\":\"⌼\",\"name\":\"keyword.operator.quad-circle.apl\"},{\"match\":\"⌾\",\"name\":\"keyword.operator.circle-jot.apl\"},{\"match\":\"⍁\",\"name\":\"keyword.operator.quad-slash.apl\"},{\"match\":\"⍂\",\"name\":\"keyword.operator.quad-backslash.apl\"},{\"match\":\"⍃\",\"name\":\"keyword.operator.quad-less.apl\"},{\"match\":\"⍄\",\"name\":\"keyword.operator.greater.apl\"},{\"match\":\"⍅\",\"name\":\"keyword.operator.vane-left.apl\"},{\"match\":\"⍆\",\"name\":\"keyword.operator.vane-right.apl\"},{\"match\":\"⍇\",\"name\":\"keyword.operator.quad-arrow-left.apl\"},{\"match\":\"⍈\",\"name\":\"keyword.operator.quad-arrow-right.apl\"},{\"match\":\"⍊\",\"name\":\"keyword.operator.tack-down.apl\"},{\"match\":\"⍌\",\"name\":\"keyword.operator.quad-caret-down.apl\"},{\"match\":\"⍍\",\"name\":\"keyword.operator.quad-del-up.apl\"},{\"match\":\"⍏\",\"name\":\"keyword.operator.vane-up.apl\"},{\"match\":\"⍐\",\"name\":\"keyword.operator.quad-arrow-up.apl\"},{\"match\":\"⍑\",\"name\":\"keyword.operator.tack-up.apl\"},{\"match\":\"⍓\",\"name\":\"keyword.operator.quad-caret-up.apl\"},{\"match\":\"⍔\",\"name\":\"keyword.operator.quad-del-down.apl\"},{\"match\":\"⍖\",\"name\":\"keyword.operator.vane-down.apl\"},{\"match\":\"⍗\",\"name\":\"keyword.operator.quad-arrow-down.apl\"},{\"match\":\"⍘\",\"name\":\"keyword.operator.underbar-quote.apl\"},{\"match\":\"⍚\",\"name\":\"keyword.operator.underbar-diamond.apl\"},{\"match\":\"⍛\",\"name\":\"keyword.operator.underbar-jot.apl\"},{\"match\":\"⍜\",\"name\":\"keyword.operator.underbar-circle.apl\"},{\"match\":\"⍞\",\"name\":\"keyword.operator.quad-quote.apl\"},{\"match\":\"⍡\",\"name\":\"keyword.operator.dotted-tack-up.apl\"},{\"match\":\"⍢\",\"name\":\"keyword.operator.dotted-del.apl\"},{\"match\":\"⍥\",\"name\":\"keyword.operator.dotted-circle.apl\"},{\"match\":\"⍦\",\"name\":\"keyword.operator.stile-shoe-up.apl\"},{\"match\":\"⍧\",\"name\":\"keyword.operator.stile-shoe-left.apl\"},{\"match\":\"⍩\",\"name\":\"keyword.operator.dotted-greater.apl\"},{\"match\":\"⍭\",\"name\":\"keyword.operator.stile-tilde.apl\"},{\"match\":\"⍮\",\"name\":\"keyword.operator.underbar-semicolon.apl\"},{\"match\":\"⍯\",\"name\":\"keyword.operator.quad-not-equal.apl\"},{\"match\":\"⍰\",\"name\":\"keyword.operator.quad-question.apl\"}]},\"sysvars\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.quad.apl\"},\"2\":{\"name\":\"punctuation.definition.quad-quote.apl\"}},\"match\":\"(?:(⎕)|(⍞))[A-Za-z]*\",\"name\":\"support.system.variable.apl\"}]}},\"scopeName\":\"source.apl\",\"embeddedLangs\":[\"html\",\"xml\",\"css\",\"javascript\",\"json\"]}"))
7
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"APL\",\"fileTypes\":[\"apl\",\"apla\",\"aplc\",\"aplf\",\"apli\",\"apln\",\"aplo\",\"dyalog\",\"dyapp\",\"mipage\"],\"firstLineMatch\":\"[⌶-⍺]|^#!.*(?:[\\\\s/]|(?<=!)\\\\b)(?:gnu[-._]?apl|aplx?|dyalog)(?:$|\\\\s)|(?i:-\\\\*-(?:\\\\s*(?=[^:;\\\\s]+\\\\s*-\\\\*-)|(?:.*?[;\\\\s]|(?<=-\\\\*-))mode\\\\s*:\\\\s*)apl(?=[\\\\s;]|(?<![-*])-\\\\*-).*?-\\\\*-|(?:(?:\\\\s|^)vi(?:m(?:[<=>]?\\\\d+|))?|\\\\sex)(?=:(?:(?=\\\\s*set?\\\\s[^\\\\n:]+:)|(?!\\\\s*set?\\\\s)))(?:(?:\\\\s|\\\\s*:\\\\s*)\\\\w*(?:\\\\s*=(?:[^\\\\n\\\\\\\\\\\\s]|\\\\\\\\.)*)?)*[\\\\s:](?:filetype|ft|syntax)\\\\s*=apl(?=[\\\\s:]|$))\",\"foldingStartMarker\":\"\\\\{\",\"foldingStopMarker\":\"}\",\"name\":\"apl\",\"patterns\":[{\"match\":\"\\\\A#!.*$\",\"name\":\"comment.line.shebang.apl\"},{\"include\":\"#heredocs\"},{\"include\":\"#main\"},{\"begin\":\"^\\\\s*((\\\\))OFF|(])NEXTFILE)\\\\b(.*)$\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.command.eof.apl\"},\"2\":{\"name\":\"punctuation.definition.command.apl\"},\"3\":{\"name\":\"punctuation.definition.command.apl\"},\"4\":{\"patterns\":[{\"include\":\"#comment\"}]}},\"contentName\":\"text.embedded.apl\",\"end\":\"(?=N)A\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.round.bracket.begin.apl\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.round.bracket.end.apl\"}},\"name\":\"meta.round.bracketed.group.apl\",\"patterns\":[{\"include\":\"#main\"}]},{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.square.bracket.begin.apl\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.square.bracket.end.apl\"}},\"name\":\"meta.square.bracketed.group.apl\",\"patterns\":[{\"include\":\"#main\"}]},{\"begin\":\"^\\\\s*((\\\\))\\\\S+)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.command.apl\"},\"2\":{\"name\":\"punctuation.definition.command.apl\"}},\"end\":\"$\",\"name\":\"meta.system.command.apl\",\"patterns\":[{\"include\":\"#command-arguments\"},{\"include\":\"#command-switches\"},{\"include\":\"#main\"}]},{\"begin\":\"^\\\\s*((])\\\\S+)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.command.apl\"},\"2\":{\"name\":\"punctuation.definition.command.apl\"}},\"end\":\"$\",\"name\":\"meta.user.command.apl\",\"patterns\":[{\"include\":\"#command-arguments\"},{\"include\":\"#command-switches\"},{\"include\":\"#main\"}]}],\"repository\":{\"class\":{\"patterns\":[{\"begin\":\"(?<=\\\\s|^)((:)Class)\\\\s+('[^']*'?|[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*)\\\\s*((:)\\\\s*(?:('[^']*'?|[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*)\\\\s*)?)?(.*?)$\",\"beginCaptures\":{\"0\":{\"name\":\"meta.class.apl\"},\"1\":{\"name\":\"keyword.control.class.apl\"},\"2\":{\"name\":\"punctuation.definition.class.apl\"},\"3\":{\"name\":\"entity.name.type.class.apl\",\"patterns\":[{\"include\":\"#strings\"}]},\"4\":{\"name\":\"entity.other.inherited-class.apl\"},\"5\":{\"name\":\"punctuation.separator.inheritance.apl\"},\"6\":{\"patterns\":[{\"include\":\"#strings\"}]},\"7\":{\"name\":\"entity.other.class.interfaces.apl\",\"patterns\":[{\"include\":\"#csv\"}]}},\"end\":\"(?<=\\\\s|^)((:)EndClass)(?=\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.class.apl\"},\"2\":{\"name\":\"punctuation.definition.class.apl\"}},\"patterns\":[{\"begin\":\"(?<=\\\\s|^)(:)Field(?=\\\\s)\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.field.apl\"},\"1\":{\"name\":\"punctuation.definition.field.apl\"}},\"end\":\"\\\\s*(←.*)?(?:$|(?=⍝))\",\"endCaptures\":{\"0\":{\"name\":\"entity.other.initial-value.apl\"},\"1\":{\"patterns\":[{\"include\":\"#main\"}]}},\"name\":\"meta.field.apl\",\"patterns\":[{\"match\":\"(?<=\\\\s|^)Public(?=\\\\s|$)\",\"name\":\"storage.modifier.access.public.apl\"},{\"match\":\"(?<=\\\\s|^)Private(?=\\\\s|$)\",\"name\":\"storage.modifier.access.private.apl\"},{\"match\":\"(?<=\\\\s|^)Shared(?=\\\\s|$)\",\"name\":\"storage.modifier.shared.apl\"},{\"match\":\"(?<=\\\\s|^)Instance(?=\\\\s|$)\",\"name\":\"storage.modifier.instance.apl\"},{\"match\":\"(?<=\\\\s|^)ReadOnly(?=\\\\s|$)\",\"name\":\"storage.modifier.readonly.apl\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#strings\"}]}},\"match\":\"('[^']*'?|[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*)\",\"name\":\"entity.name.type.apl\"}]},{\"include\":\"$self\"}]}]},\"command-arguments\":{\"patterns\":[{\"begin\":\"\\\\b(?=\\\\S)\",\"end\":\"\\\\b(?=\\\\s)\",\"name\":\"variable.parameter.argument.apl\",\"patterns\":[{\"include\":\"#main\"}]}]},\"command-switches\":{\"patterns\":[{\"begin\":\"(?<=\\\\s)(-)([A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*)(=)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.delimiter.switch.apl\"},\"2\":{\"name\":\"entity.name.switch.apl\"},\"3\":{\"name\":\"punctuation.assignment.switch.apl\"}},\"end\":\"\\\\b(?=\\\\s)\",\"name\":\"variable.parameter.switch.apl\",\"patterns\":[{\"include\":\"#main\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.delimiter.switch.apl\"},\"2\":{\"name\":\"entity.name.switch.apl\"}},\"match\":\"(?<=\\\\s)(-)([A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*)(?!=)\",\"name\":\"variable.parameter.switch.apl\"}]},\"comment\":{\"patterns\":[{\"begin\":\"⍝\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.apl\"}},\"end\":\"$\",\"name\":\"comment.line.apl\"}]},\"csv\":{\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.apl\"},{\"include\":\"$self\"}]},\"definition\":{\"patterns\":[{\"begin\":\"^\\\\s*?(∇)(?:\\\\s*(?:([A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*)|\\\\s*((\\\\{)(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*)*(})|(\\\\()(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*)*(\\\\))|(\\\\(\\\\s*\\\\{)(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*)*(}\\\\s*\\\\))|(\\\\{\\\\s*\\\\()(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*)*(\\\\)\\\\s*}))\\\\s*)\\\\s*(←))?\\\\s*(?:([A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*)\\\\s*((\\\\[)\\\\s*(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*(.*?)|([^\\\\]]*))\\\\s*(]))?\\\\s*?((?<=[\\\\s\\\\]])[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*|(\\\\()(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*)*(\\\\)))\\\\s*(?=;|$)|(?:([A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s+)|((\\\\{)(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*)*(})|(\\\\(\\\\s*\\\\{)(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*)*(}\\\\s*\\\\))|(\\\\{\\\\s*\\\\()(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*)*(\\\\)\\\\s*})))?\\\\s*(?:([A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*)\\\\s*((\\\\[)\\\\s*(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*(.*?)|([^\\\\]]*))\\\\s*(]))?|((\\\\()(\\\\s*[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*)?\\\\s*([A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*)\\\\s*?((\\\\[)\\\\s*(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*(.*?)|([^\\\\]]*))\\\\s*(]))?\\\\s*([A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*)?(\\\\))))\\\\s*((?<=[\\\\s\\\\]])[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*|\\\\s*(\\\\()(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*)*(\\\\)))?)\\\\s*([^;]+)?(((?>\\\\s*;(?:\\\\s*[⎕A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*)+)+)|([^⍝]+))?\\\\s*(⍝.*)?$\",\"beginCaptures\":{\"0\":{\"name\":\"entity.function.definition.apl\"},\"1\":{\"name\":\"keyword.operator.nabla.apl\"},\"2\":{\"name\":\"entity.function.return-value.apl\"},\"3\":{\"name\":\"entity.function.return-value.shy.apl\"},\"4\":{\"name\":\"punctuation.definition.return-value.begin.apl\"},\"5\":{\"name\":\"punctuation.definition.return-value.end.apl\"},\"6\":{\"name\":\"punctuation.definition.return-value.begin.apl\"},\"7\":{\"name\":\"punctuation.definition.return-value.end.apl\"},\"8\":{\"name\":\"punctuation.definition.return-value.begin.apl\"},\"9\":{\"name\":\"punctuation.definition.return-value.end.apl\"},\"10\":{\"name\":\"punctuation.definition.return-value.begin.apl\"},\"11\":{\"name\":\"punctuation.definition.return-value.end.apl\"},\"12\":{\"name\":\"keyword.operator.assignment.apl\"},\"13\":{\"name\":\"entity.function.name.apl\",\"patterns\":[{\"include\":\"#embolden\"}]},\"14\":{\"name\":\"entity.function.axis.apl\"},\"15\":{\"name\":\"punctuation.definition.axis.begin.apl\"},\"16\":{\"name\":\"invalid.illegal.extra-characters.apl\"},\"17\":{\"name\":\"invalid.illegal.apl\"},\"18\":{\"name\":\"punctuation.definition.axis.end.apl\"},\"19\":{\"name\":\"entity.function.arguments.right.apl\"},\"20\":{\"name\":\"punctuation.definition.arguments.begin.apl\"},\"21\":{\"name\":\"punctuation.definition.arguments.end.apl\"},\"22\":{\"name\":\"entity.function.arguments.left.apl\"},\"23\":{\"name\":\"entity.function.arguments.left.optional.apl\"},\"24\":{\"name\":\"punctuation.definition.arguments.begin.apl\"},\"25\":{\"name\":\"punctuation.definition.arguments.end.apl\"},\"26\":{\"name\":\"punctuation.definition.arguments.begin.apl\"},\"27\":{\"name\":\"punctuation.definition.arguments.end.apl\"},\"28\":{\"name\":\"punctuation.definition.arguments.begin.apl\"},\"29\":{\"name\":\"punctuation.definition.arguments.end.apl\"},\"30\":{\"name\":\"entity.function.name.apl\",\"patterns\":[{\"include\":\"#embolden\"}]},\"31\":{\"name\":\"entity.function.axis.apl\"},\"32\":{\"name\":\"punctuation.definition.axis.begin.apl\"},\"33\":{\"name\":\"invalid.illegal.extra-characters.apl\"},\"34\":{\"name\":\"invalid.illegal.apl\"},\"35\":{\"name\":\"punctuation.definition.axis.end.apl\"},\"36\":{\"name\":\"entity.function.operands.apl\"},\"37\":{\"name\":\"punctuation.definition.operands.begin.apl\"},\"38\":{\"name\":\"entity.function.operands.left.apl\"},\"39\":{\"name\":\"entity.function.name.apl\",\"patterns\":[{\"include\":\"#embolden\"}]},\"40\":{\"name\":\"entity.function.axis.apl\"},\"41\":{\"name\":\"punctuation.definition.axis.begin.apl\"},\"42\":{\"name\":\"invalid.illegal.extra-characters.apl\"},\"43\":{\"name\":\"invalid.illegal.apl\"},\"44\":{\"name\":\"punctuation.definition.axis.end.apl\"},\"45\":{\"name\":\"entity.function.operands.right.apl\"},\"46\":{\"name\":\"punctuation.definition.operands.end.apl\"},\"47\":{\"name\":\"entity.function.arguments.right.apl\"},\"48\":{\"name\":\"punctuation.definition.arguments.begin.apl\"},\"49\":{\"name\":\"punctuation.definition.arguments.end.apl\"},\"50\":{\"name\":\"invalid.illegal.arguments.right.apl\"},\"51\":{\"name\":\"entity.function.local-variables.apl\"},\"52\":{\"patterns\":[{\"match\":\";\",\"name\":\"punctuation.separator.apl\"}]},\"53\":{\"name\":\"invalid.illegal.local-variables.apl\"},\"54\":{\"name\":\"comment.line.apl\"}},\"end\":\"^\\\\s*?(?:(∇)|(⍫))\\\\s*?(⍝.*?)?$\",\"endCaptures\":{\"1\":{\"name\":\"keyword.operator.nabla.apl\"},\"2\":{\"name\":\"keyword.operator.lock.apl\"},\"3\":{\"name\":\"comment.line.apl\"}},\"name\":\"meta.function.apl\",\"patterns\":[{\"captures\":{\"0\":{\"name\":\"entity.function.local-variables.apl\"},\"1\":{\"patterns\":[{\"match\":\";\",\"name\":\"punctuation.separator.apl\"}]}},\"match\":\"^\\\\s*((?>;(?:\\\\s*[⎕A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\\\\s*)+)+)\",\"name\":\"entity.function.definition.apl\"},{\"include\":\"$self\"}]}]},\"embedded-apl\":{\"patterns\":[{\"begin\":\"(?i)(<([?%])(?:apl(?=\\\\s+)|=))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.begin.apl\"}},\"end\":\"(?<=\\\\s)(\\\\2>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.end.apl\"}},\"name\":\"meta.embedded.block.apl\",\"patterns\":[{\"include\":\"#main\"}]}]},\"embolden\":{\"patterns\":[{\"match\":\".+\",\"name\":\"markup.bold.identifier.apl\"}]},\"heredocs\":{\"patterns\":[{\"begin\":\"^.*?⎕INP\\\\s+(['\\\"])((?i).*?HTML?.*?|END-OF-⎕INP)\\\\1.*$\",\"beginCaptures\":{\"0\":{\"patterns\":[{\"include\":\"#main\"}]}},\"contentName\":\"text.embedded.html.basic\",\"end\":\"^.*?\\\\2.*?$\",\"endCaptures\":{\"0\":{\"name\":\"constant.other.apl\"}},\"name\":\"meta.heredoc.apl\",\"patterns\":[{\"include\":\"text.html.basic\"},{\"include\":\"#embedded-apl\"}]},{\"begin\":\"^.*?⎕INP\\\\s+(['\\\"])((?i).*?(?:XML|XSLT|SVG|RSS).*?)\\\\1.*$\",\"beginCaptures\":{\"0\":{\"patterns\":[{\"include\":\"#main\"}]}},\"contentName\":\"text.embedded.xml\",\"end\":\"^.*?\\\\2.*?$\",\"endCaptures\":{\"0\":{\"name\":\"constant.other.apl\"}},\"name\":\"meta.heredoc.apl\",\"patterns\":[{\"include\":\"text.xml\"},{\"include\":\"#embedded-apl\"}]},{\"begin\":\"^.*?⎕INP\\\\s+(['\\\"])((?i).*?(?:CSS|stylesheet).*?)\\\\1.*$\",\"beginCaptures\":{\"0\":{\"patterns\":[{\"include\":\"#main\"}]}},\"contentName\":\"source.embedded.css\",\"end\":\"^.*?\\\\2.*?$\",\"endCaptures\":{\"0\":{\"name\":\"constant.other.apl\"}},\"name\":\"meta.heredoc.apl\",\"patterns\":[{\"include\":\"source.css\"},{\"include\":\"#embedded-apl\"}]},{\"begin\":\"^.*?⎕INP\\\\s+(['\\\"])((?i).*?(?:JS(?!ON)|(?:ECMA|J|Java).?Script).*?)\\\\1.*$\",\"beginCaptures\":{\"0\":{\"patterns\":[{\"include\":\"#main\"}]}},\"contentName\":\"source.embedded.js\",\"end\":\"^.*?\\\\2.*?$\",\"endCaptures\":{\"0\":{\"name\":\"constant.other.apl\"}},\"name\":\"meta.heredoc.apl\",\"patterns\":[{\"include\":\"source.js\"},{\"include\":\"#embedded-apl\"}]},{\"begin\":\"^.*?⎕INP\\\\s+(['\\\"])((?i).*?JSON.*?)\\\\1.*$\",\"beginCaptures\":{\"0\":{\"patterns\":[{\"include\":\"#main\"}]}},\"contentName\":\"source.embedded.json\",\"end\":\"^.*?\\\\2.*?$\",\"endCaptures\":{\"0\":{\"name\":\"constant.other.apl\"}},\"name\":\"meta.heredoc.apl\",\"patterns\":[{\"include\":\"source.json\"},{\"include\":\"#embedded-apl\"}]},{\"begin\":\"^.*?⎕INP\\\\s+(['\\\"])(?i)((?:Raw|Plain)?\\\\s*Te?xt)\\\\1.*$\",\"beginCaptures\":{\"0\":{\"patterns\":[{\"include\":\"#main\"}]}},\"contentName\":\"text.embedded.plain\",\"end\":\"^.*?\\\\2.*?$\",\"endCaptures\":{\"0\":{\"name\":\"constant.other.apl\"}},\"name\":\"meta.heredoc.apl\",\"patterns\":[{\"include\":\"#embedded-apl\"}]},{\"begin\":\"^.*?⎕INP\\\\s+(['\\\"])(.*?)\\\\1.*$\",\"beginCaptures\":{\"0\":{\"patterns\":[{\"include\":\"#main\"}]}},\"end\":\"^.*?\\\\2.*?$\",\"endCaptures\":{\"0\":{\"name\":\"constant.other.apl\"}},\"name\":\"meta.heredoc.apl\",\"patterns\":[{\"include\":\"$self\"}]}]},\"label\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.label.name.apl\"},\"2\":{\"name\":\"punctuation.definition.label.end.apl\"}},\"match\":\"^\\\\s*([A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*)(:)\",\"name\":\"meta.label.apl\"}]},\"lambda\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.lambda.begin.apl\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.lambda.end.apl\"}},\"name\":\"meta.lambda.function.apl\",\"patterns\":[{\"include\":\"#main\"},{\"include\":\"#lambda-variables\"}]},\"lambda-variables\":{\"patterns\":[{\"match\":\"⍺⍺\",\"name\":\"constant.language.lambda.operands.left.apl\"},{\"match\":\"⍵⍵\",\"name\":\"constant.language.lambda.operands.right.apl\"},{\"match\":\"[⍺⍶]\",\"name\":\"constant.language.lambda.arguments.left.apl\"},{\"match\":\"[⍵⍹]\",\"name\":\"constant.language.lambda.arguments.right.apl\"},{\"match\":\"χ\",\"name\":\"constant.language.lambda.arguments.axis.apl\"},{\"match\":\"∇∇\",\"name\":\"constant.language.lambda.operands.self.operator.apl\"},{\"match\":\"∇\",\"name\":\"constant.language.lambda.operands.self.function.apl\"},{\"match\":\"λ\",\"name\":\"constant.language.lambda.symbol.apl\"}]},\"main\":{\"patterns\":[{\"include\":\"#class\"},{\"include\":\"#definition\"},{\"include\":\"#comment\"},{\"include\":\"#label\"},{\"include\":\"#sck\"},{\"include\":\"#strings\"},{\"include\":\"#number\"},{\"include\":\"#lambda\"},{\"include\":\"#sysvars\"},{\"include\":\"#symbols\"},{\"include\":\"#name\"}]},\"name\":{\"patterns\":[{\"match\":\"[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ][A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\",\"name\":\"variable.other.readwrite.apl\"}]},\"number\":{\"patterns\":[{\"match\":\"¯?[0-9][¯0-9A-Za-z]*(?:\\\\.[¯0-9Ee][¯0-9A-Za-z]*)*|¯?\\\\.[0-9Ee][¯0-9A-Za-z]*\",\"name\":\"constant.numeric.apl\"}]},\"sck\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.sck.begin.apl\"}},\"match\":\"(?<=\\\\s|^)(:)[A-Za-z]+\",\"name\":\"keyword.control.sck.apl\"}]},\"strings\":{\"patterns\":[{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.apl\"}},\"end\":\"'|$\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.apl\"}},\"name\":\"string.quoted.single.apl\",\"patterns\":[{\"match\":\"[^']*[^'\\\\n\\\\r\\\\\\\\]$\",\"name\":\"invalid.illegal.string.apl\"}]},{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.apl\"}},\"end\":\"\\\"|$\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.apl\"}},\"name\":\"string.quoted.double.apl\",\"patterns\":[{\"match\":\"[^\\\"]*[^\\\"\\\\n\\\\r\\\\\\\\]$\",\"name\":\"invalid.illegal.string.apl\"}]}]},\"symbols\":{\"patterns\":[{\"match\":\"(?<=\\\\s)←(?=\\\\s|$)\",\"name\":\"keyword.spaced.operator.assignment.apl\"},{\"match\":\"(?<=\\\\s)→(?=\\\\s|$)\",\"name\":\"keyword.spaced.control.goto.apl\"},{\"match\":\"(?<=\\\\s)≡(?=\\\\s|$)\",\"name\":\"keyword.spaced.operator.identical.apl\"},{\"match\":\"(?<=\\\\s)≢(?=\\\\s|$)\",\"name\":\"keyword.spaced.operator.not-identical.apl\"},{\"match\":\"\\\\+\",\"name\":\"keyword.operator.plus.apl\"},{\"match\":\"[-−]\",\"name\":\"keyword.operator.minus.apl\"},{\"match\":\"×\",\"name\":\"keyword.operator.times.apl\"},{\"match\":\"÷\",\"name\":\"keyword.operator.divide.apl\"},{\"match\":\"⌊\",\"name\":\"keyword.operator.floor.apl\"},{\"match\":\"⌈\",\"name\":\"keyword.operator.ceiling.apl\"},{\"match\":\"[∣|]\",\"name\":\"keyword.operator.absolute.apl\"},{\"match\":\"[⋆*]\",\"name\":\"keyword.operator.exponent.apl\"},{\"match\":\"⍟\",\"name\":\"keyword.operator.logarithm.apl\"},{\"match\":\"○\",\"name\":\"keyword.operator.circle.apl\"},{\"match\":\"!\",\"name\":\"keyword.operator.factorial.apl\"},{\"match\":\"∧\",\"name\":\"keyword.operator.and.apl\"},{\"match\":\"∨\",\"name\":\"keyword.operator.or.apl\"},{\"match\":\"⍲\",\"name\":\"keyword.operator.nand.apl\"},{\"match\":\"⍱\",\"name\":\"keyword.operator.nor.apl\"},{\"match\":\"<\",\"name\":\"keyword.operator.less.apl\"},{\"match\":\"≤\",\"name\":\"keyword.operator.less-or-equal.apl\"},{\"match\":\"=\",\"name\":\"keyword.operator.equal.apl\"},{\"match\":\"≥\",\"name\":\"keyword.operator.greater-or-equal.apl\"},{\"match\":\">\",\"name\":\"keyword.operator.greater.apl\"},{\"match\":\"≠\",\"name\":\"keyword.operator.not-equal.apl\"},{\"match\":\"[∼~]\",\"name\":\"keyword.operator.tilde.apl\"},{\"match\":\"\\\\?\",\"name\":\"keyword.operator.random.apl\"},{\"match\":\"[∊∈]\",\"name\":\"keyword.operator.member-of.apl\"},{\"match\":\"⍷\",\"name\":\"keyword.operator.find.apl\"},{\"match\":\",\",\"name\":\"keyword.operator.comma.apl\"},{\"match\":\"⍪\",\"name\":\"keyword.operator.comma-bar.apl\"},{\"match\":\"⌷\",\"name\":\"keyword.operator.squad.apl\"},{\"match\":\"⍳\",\"name\":\"keyword.operator.iota.apl\"},{\"match\":\"⍴\",\"name\":\"keyword.operator.rho.apl\"},{\"match\":\"↑\",\"name\":\"keyword.operator.take.apl\"},{\"match\":\"↓\",\"name\":\"keyword.operator.drop.apl\"},{\"match\":\"⊣\",\"name\":\"keyword.operator.left.apl\"},{\"match\":\"⊢\",\"name\":\"keyword.operator.right.apl\"},{\"match\":\"⊤\",\"name\":\"keyword.operator.encode.apl\"},{\"match\":\"⊥\",\"name\":\"keyword.operator.decode.apl\"},{\"match\":\"/\",\"name\":\"keyword.operator.slash.apl\"},{\"match\":\"⌿\",\"name\":\"keyword.operator.slash-bar.apl\"},{\"match\":\"\\\\\\\\\",\"name\":\"keyword.operator.backslash.apl\"},{\"match\":\"⍀\",\"name\":\"keyword.operator.backslash-bar.apl\"},{\"match\":\"⌽\",\"name\":\"keyword.operator.rotate-last.apl\"},{\"match\":\"⊖\",\"name\":\"keyword.operator.rotate-first.apl\"},{\"match\":\"⍉\",\"name\":\"keyword.operator.transpose.apl\"},{\"match\":\"⍋\",\"name\":\"keyword.operator.grade-up.apl\"},{\"match\":\"⍒\",\"name\":\"keyword.operator.grade-down.apl\"},{\"match\":\"⌹\",\"name\":\"keyword.operator.quad-divide.apl\"},{\"match\":\"≡\",\"name\":\"keyword.operator.identical.apl\"},{\"match\":\"≢\",\"name\":\"keyword.operator.not-identical.apl\"},{\"match\":\"⊂\",\"name\":\"keyword.operator.enclose.apl\"},{\"match\":\"⊃\",\"name\":\"keyword.operator.pick.apl\"},{\"match\":\"∩\",\"name\":\"keyword.operator.intersection.apl\"},{\"match\":\"∪\",\"name\":\"keyword.operator.union.apl\"},{\"match\":\"⍎\",\"name\":\"keyword.operator.hydrant.apl\"},{\"match\":\"⍕\",\"name\":\"keyword.operator.thorn.apl\"},{\"match\":\"⊆\",\"name\":\"keyword.operator.underbar-shoe-left.apl\"},{\"match\":\"⍸\",\"name\":\"keyword.operator.underbar-iota.apl\"},{\"match\":\"¨\",\"name\":\"keyword.operator.each.apl\"},{\"match\":\"⍤\",\"name\":\"keyword.operator.rank.apl\"},{\"match\":\"⌸\",\"name\":\"keyword.operator.quad-equal.apl\"},{\"match\":\"⍨\",\"name\":\"keyword.operator.commute.apl\"},{\"match\":\"⍣\",\"name\":\"keyword.operator.power.apl\"},{\"match\":\"\\\\.\",\"name\":\"keyword.operator.dot.apl\"},{\"match\":\"∘\",\"name\":\"keyword.operator.jot.apl\"},{\"match\":\"⍠\",\"name\":\"keyword.operator.quad-colon.apl\"},{\"match\":\"&\",\"name\":\"keyword.operator.ampersand.apl\"},{\"match\":\"⌶\",\"name\":\"keyword.operator.i-beam.apl\"},{\"match\":\"⌺\",\"name\":\"keyword.operator.quad-diamond.apl\"},{\"match\":\"@\",\"name\":\"keyword.operator.at.apl\"},{\"match\":\"◊\",\"name\":\"keyword.operator.lozenge.apl\"},{\"match\":\";\",\"name\":\"keyword.operator.semicolon.apl\"},{\"match\":\"¯\",\"name\":\"keyword.operator.high-minus.apl\"},{\"match\":\"←\",\"name\":\"keyword.operator.assignment.apl\"},{\"match\":\"→\",\"name\":\"keyword.control.goto.apl\"},{\"match\":\"⍬\",\"name\":\"constant.language.zilde.apl\"},{\"match\":\"⋄\",\"name\":\"keyword.operator.diamond.apl\"},{\"match\":\"⍫\",\"name\":\"keyword.operator.lock.apl\"},{\"match\":\"⎕\",\"name\":\"keyword.operator.quad.apl\"},{\"match\":\"##\",\"name\":\"constant.language.namespace.parent.apl\"},{\"match\":\"#\",\"name\":\"constant.language.namespace.root.apl\"},{\"match\":\"⌻\",\"name\":\"keyword.operator.quad-jot.apl\"},{\"match\":\"⌼\",\"name\":\"keyword.operator.quad-circle.apl\"},{\"match\":\"⌾\",\"name\":\"keyword.operator.circle-jot.apl\"},{\"match\":\"⍁\",\"name\":\"keyword.operator.quad-slash.apl\"},{\"match\":\"⍂\",\"name\":\"keyword.operator.quad-backslash.apl\"},{\"match\":\"⍃\",\"name\":\"keyword.operator.quad-less.apl\"},{\"match\":\"⍄\",\"name\":\"keyword.operator.greater.apl\"},{\"match\":\"⍅\",\"name\":\"keyword.operator.vane-left.apl\"},{\"match\":\"⍆\",\"name\":\"keyword.operator.vane-right.apl\"},{\"match\":\"⍇\",\"name\":\"keyword.operator.quad-arrow-left.apl\"},{\"match\":\"⍈\",\"name\":\"keyword.operator.quad-arrow-right.apl\"},{\"match\":\"⍊\",\"name\":\"keyword.operator.tack-down.apl\"},{\"match\":\"⍌\",\"name\":\"keyword.operator.quad-caret-down.apl\"},{\"match\":\"⍍\",\"name\":\"keyword.operator.quad-del-up.apl\"},{\"match\":\"⍏\",\"name\":\"keyword.operator.vane-up.apl\"},{\"match\":\"⍐\",\"name\":\"keyword.operator.quad-arrow-up.apl\"},{\"match\":\"⍑\",\"name\":\"keyword.operator.tack-up.apl\"},{\"match\":\"⍓\",\"name\":\"keyword.operator.quad-caret-up.apl\"},{\"match\":\"⍔\",\"name\":\"keyword.operator.quad-del-down.apl\"},{\"match\":\"⍖\",\"name\":\"keyword.operator.vane-down.apl\"},{\"match\":\"⍗\",\"name\":\"keyword.operator.quad-arrow-down.apl\"},{\"match\":\"⍘\",\"name\":\"keyword.operator.underbar-quote.apl\"},{\"match\":\"⍚\",\"name\":\"keyword.operator.underbar-diamond.apl\"},{\"match\":\"⍛\",\"name\":\"keyword.operator.underbar-jot.apl\"},{\"match\":\"⍜\",\"name\":\"keyword.operator.underbar-circle.apl\"},{\"match\":\"⍞\",\"name\":\"keyword.operator.quad-quote.apl\"},{\"match\":\"⍡\",\"name\":\"keyword.operator.dotted-tack-up.apl\"},{\"match\":\"⍢\",\"name\":\"keyword.operator.dotted-del.apl\"},{\"match\":\"⍥\",\"name\":\"keyword.operator.dotted-circle.apl\"},{\"match\":\"⍦\",\"name\":\"keyword.operator.stile-shoe-up.apl\"},{\"match\":\"⍧\",\"name\":\"keyword.operator.stile-shoe-left.apl\"},{\"match\":\"⍩\",\"name\":\"keyword.operator.dotted-greater.apl\"},{\"match\":\"⍭\",\"name\":\"keyword.operator.stile-tilde.apl\"},{\"match\":\"⍮\",\"name\":\"keyword.operator.underbar-semicolon.apl\"},{\"match\":\"⍯\",\"name\":\"keyword.operator.quad-not-equal.apl\"},{\"match\":\"⍰\",\"name\":\"keyword.operator.quad-question.apl\"}]},\"sysvars\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.quad.apl\"},\"2\":{\"name\":\"punctuation.definition.quad-quote.apl\"}},\"match\":\"(?:(⎕)|(⍞))[A-Za-z]*\",\"name\":\"support.system.variable.apl\"}]}},\"scopeName\":\"source.apl\",\"embeddedLangs\":[\"html\",\"xml\",\"css\",\"javascript\",\"json\"]}"))
8
8
 
9
9
  export default [
10
10
  ...html,