@markusylisiurunen/tau 0.3.33 → 0.3.35

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 (284) hide show
  1. package/README.md +13 -8
  2. package/dist/core/agent/agent_runtime.js +86 -39
  3. package/dist/core/agent/agent_runtime.js.map +1 -1
  4. package/dist/core/commands/registry.js +24 -2
  5. package/dist/core/commands/registry.js.map +1 -1
  6. package/dist/core/config/content_loader.js +5 -3
  7. package/dist/core/config/content_loader.js.map +1 -1
  8. package/dist/core/index.js +2 -1
  9. package/dist/core/index.js.map +1 -1
  10. package/dist/core/personas.js +3 -2
  11. package/dist/core/personas.js.map +1 -1
  12. package/dist/core/runtime/chat_runtime.js +17 -4
  13. package/dist/core/runtime/chat_runtime.js.map +1 -1
  14. package/dist/core/runtime/steering.js +2 -1
  15. package/dist/core/runtime/steering.js.map +1 -1
  16. package/dist/core/session/auto_compaction_archive.js +239 -0
  17. package/dist/core/session/auto_compaction_archive.js.map +1 -0
  18. package/dist/core/session/compaction.js +97 -29
  19. package/dist/core/session/compaction.js.map +1 -1
  20. package/dist/core/session/goal.js +54 -0
  21. package/dist/core/session/goal.js.map +1 -0
  22. package/dist/core/session/runner.js +78 -5
  23. package/dist/core/session/runner.js.map +1 -1
  24. package/dist/core/subagents/agent_supervisor.js +176 -132
  25. package/dist/core/subagents/agent_supervisor.js.map +1 -1
  26. package/dist/core/subagents/format.js +101 -0
  27. package/dist/core/subagents/format.js.map +1 -0
  28. package/dist/core/subagents/registry.js +3 -1
  29. package/dist/core/subagents/registry.js.map +1 -1
  30. package/dist/core/subagents/types.js +1 -0
  31. package/dist/core/subagents/types.js.map +1 -1
  32. package/dist/core/tools/catalog.js +18 -3
  33. package/dist/core/tools/catalog.js.map +1 -1
  34. package/dist/core/tools/goal.js +77 -0
  35. package/dist/core/tools/goal.js.map +1 -0
  36. package/dist/core/tools/interrupt_agent.js +119 -0
  37. package/dist/core/tools/interrupt_agent.js.map +1 -0
  38. package/dist/core/tools/list_agents.js +64 -0
  39. package/dist/core/tools/list_agents.js.map +1 -0
  40. package/dist/core/tools/send_input_to_agent.js +8 -9
  41. package/dist/core/tools/send_input_to_agent.js.map +1 -1
  42. package/dist/core/tools/spawn_agent.js +8 -23
  43. package/dist/core/tools/spawn_agent.js.map +1 -1
  44. package/dist/core/tools/tool_names.js +7 -2
  45. package/dist/core/tools/tool_names.js.map +1 -1
  46. package/dist/core/tools/wait_for_agents.js +28 -82
  47. package/dist/core/tools/wait_for_agents.js.map +1 -1
  48. package/dist/core/utils/compact.js +19 -10
  49. package/dist/core/utils/compact.js.map +1 -1
  50. package/dist/core/utils/user_metadata.js +14 -0
  51. package/dist/core/utils/user_metadata.js.map +1 -1
  52. package/dist/core/version.js +1 -1
  53. package/dist/diff_tool/app/dist/assets/actionscript-3-Cs6JJXT5.js +1 -0
  54. package/dist/diff_tool/app/dist/assets/ahk-CA9gdOdF.js +1 -0
  55. package/dist/diff_tool/app/dist/assets/ahk2-_6rzW9BS.js +1 -0
  56. package/dist/diff_tool/app/dist/assets/{angular-html-DbgxQryr.js → angular-html-vSIwre92.js} +1 -1
  57. package/dist/diff_tool/app/dist/assets/{angular-ts-Dzjq8SvI.js → angular-ts-B9yWa-IT.js} +1 -1
  58. package/dist/diff_tool/app/dist/assets/apex-KFGFyKwG.js +1 -0
  59. package/dist/diff_tool/app/dist/assets/{apl-6AmEMJr-.js → apl-CBg9ewu1.js} +1 -1
  60. package/dist/diff_tool/app/dist/assets/asciidoc-SCjQUq34.js +1 -0
  61. package/dist/diff_tool/app/dist/assets/{astro-BM8EbfIg.js → astro-BVjxSYjj.js} +1 -1
  62. package/dist/diff_tool/app/dist/assets/{bat-Bo4NYOV-.js → bat-qdxAdBWQ.js} +1 -1
  63. package/dist/diff_tool/app/dist/assets/bird2-CYIUgYqB.js +1 -0
  64. package/dist/diff_tool/app/dist/assets/{blade-DiKMnN3e.js → blade-jvqV5kiv.js} +1 -1
  65. package/dist/diff_tool/app/dist/assets/bsl-_VjlB9mv.js +1 -0
  66. package/dist/diff_tool/app/dist/assets/{c-DMT5X-u9.js → c-DDAfW08c.js} +1 -1
  67. package/dist/diff_tool/app/dist/assets/c3-D0apG41V.js +1 -0
  68. package/dist/diff_tool/app/dist/assets/catppuccin-frappe-C9Q5zVZY.js +1 -0
  69. package/dist/diff_tool/app/dist/assets/catppuccin-latte-CtsyrtPq.js +1 -0
  70. package/dist/diff_tool/app/dist/assets/catppuccin-macchiato-R8nAf1vR.js +1 -0
  71. package/dist/diff_tool/app/dist/assets/catppuccin-mocha-DjuaAJKi.js +1 -0
  72. package/dist/diff_tool/app/dist/assets/chapel-Qflwfgbt.js +1 -0
  73. package/dist/diff_tool/app/dist/assets/clarity-CtfBBspg.js +1 -0
  74. package/dist/diff_tool/app/dist/assets/{cobol-CACNMc1O.js → cobol-4iJI1LUg.js} +1 -1
  75. package/dist/diff_tool/app/dist/assets/{coffee-D_WUFE0g.js → coffee-C9LbGGO3.js} +1 -1
  76. package/dist/diff_tool/app/dist/assets/coq-DuBRPxYg.js +1 -0
  77. package/dist/diff_tool/app/dist/assets/cpp-B-x6veTx.js +1 -0
  78. package/dist/diff_tool/app/dist/assets/{crystal-wh93mtUe.js → crystal-S06EUmKn.js} +1 -1
  79. package/dist/diff_tool/app/dist/assets/{css-CCfuUqEr.js → css-DA4RYriG.js} +1 -1
  80. package/dist/diff_tool/app/dist/assets/{edge-DP-spcJf.js → edge-7dx6BjGp.js} +1 -1
  81. package/dist/diff_tool/app/dist/assets/{elixir-BXBkaEtJ.js → elixir-DPywG97a.js} +1 -1
  82. package/dist/diff_tool/app/dist/assets/{elm-BXr8OwKP.js → elm-Dgo_WnqC.js} +1 -1
  83. package/dist/diff_tool/app/dist/assets/emacs-lisp-c_oH4hRZ.js +1 -0
  84. package/dist/diff_tool/app/dist/assets/{erb-Cu5Zacs_.js → erb-CVW4PjFl.js} +1 -1
  85. package/dist/diff_tool/app/dist/assets/{gdresource-C0sCabJj.js → gdresource-xMC7jr7x.js} +1 -1
  86. package/dist/diff_tool/app/dist/assets/gdscript-DYvRD3hg.js +1 -0
  87. package/dist/diff_tool/app/dist/assets/{git-rebase-DO8LWld4.js → git-rebase-CtU0gmBJ.js} +1 -1
  88. package/dist/diff_tool/app/dist/assets/{glimmer-js-Bh-OAIDW.js → glimmer-js-twAYiPP2.js} +1 -1
  89. package/dist/diff_tool/app/dist/assets/{glimmer-ts-DI9lHU4q.js → glimmer-ts-BfNoXayN.js} +1 -1
  90. package/dist/diff_tool/app/dist/assets/{glsl--zoY4RCO.js → glsl-D_XrtFF7.js} +1 -1
  91. package/dist/diff_tool/app/dist/assets/{graphql-C8h2T_SC.js → graphql-B_GeapzM.js} +1 -1
  92. package/dist/diff_tool/app/dist/assets/hack-BCaCVoSX.js +1 -0
  93. package/dist/diff_tool/app/dist/assets/{haml-C2BBBsDW.js → haml-z9Mz7I1O.js} +1 -1
  94. package/dist/diff_tool/app/dist/assets/{handlebars-cZMztphK.js → handlebars-D0FVYagc.js} +1 -1
  95. package/dist/diff_tool/app/dist/assets/haxe-C8oCnwJJ.js +1 -0
  96. package/dist/diff_tool/app/dist/assets/{html-BtccomkJ.js → html-BOM4tb7u.js} +1 -1
  97. package/dist/diff_tool/app/dist/assets/{html-derivative-qjeUe52-.js → html-derivative-CsSlhJgr.js} +1 -1
  98. package/dist/diff_tool/app/dist/assets/{http-Dv8OQO33.js → http-Cjy9oaQn.js} +1 -1
  99. package/dist/diff_tool/app/dist/assets/{hurl-B6Fnr2ae.js → hurl-CjLQ7ql5.js} +1 -1
  100. package/dist/diff_tool/app/dist/assets/hxml-Dcm88srW.js +1 -0
  101. package/dist/diff_tool/app/dist/assets/index-QO81yN6b.js +1550 -0
  102. package/dist/diff_tool/app/dist/assets/{java-BuadWMcp.js → java-cn8DiFD8.js} +1 -1
  103. package/dist/diff_tool/app/dist/assets/{javascript-BIKxmHeL.js → javascript-CEnHZaZM.js} +1 -1
  104. package/dist/diff_tool/app/dist/assets/{jinja-Cm_guvgu.js → jinja-DIp6kVk7.js} +1 -1
  105. package/dist/diff_tool/app/dist/assets/{jison-Sst29gJb.js → jison-Dx116ito.js} +1 -1
  106. package/dist/diff_tool/app/dist/assets/{json-Bg6l2vym.js → json-C6B9h0n5.js} +1 -1
  107. package/dist/diff_tool/app/dist/assets/{jsx-BiREAxkr.js → jsx-CDEGT2B2.js} +1 -1
  108. package/dist/diff_tool/app/dist/assets/{julia-DAhrWFzr.js → julia-CsIJA3Km.js} +1 -1
  109. package/dist/diff_tool/app/dist/assets/{just-xBwbf5aT.js → just-DZRYvkQw.js} +1 -1
  110. package/dist/diff_tool/app/dist/assets/kanagawa-dragon-Bozd7klA.js +1 -0
  111. package/dist/diff_tool/app/dist/assets/kanagawa-lotus-BmuOG9ZW.js +1 -0
  112. package/dist/diff_tool/app/dist/assets/kanagawa-wave-BML5mF2J.js +1 -0
  113. package/dist/diff_tool/app/dist/assets/latex-CeR-RQOI.js +1 -0
  114. package/dist/diff_tool/app/dist/assets/{liquid-BTsCzVvF.js → liquid-Dhf8N4mn.js} +1 -1
  115. package/dist/diff_tool/app/dist/assets/{llvm-Cm23YOpf.js → llvm-DqHOMS-s.js} +1 -1
  116. package/dist/diff_tool/app/dist/assets/{lua-BJt9x0JP.js → lua-zVTVaJzn.js} +1 -1
  117. package/dist/diff_tool/app/dist/assets/luau-C2pBCSgt.js +1 -0
  118. package/dist/diff_tool/app/dist/assets/{marko-CWdJkbvC.js → marko-BGPq5r3o.js} +1 -1
  119. package/dist/diff_tool/app/dist/assets/mdc-D8K78bym.js +1 -0
  120. package/dist/diff_tool/app/dist/assets/mermaid-BxpfTIzt.js +1 -0
  121. package/dist/diff_tool/app/dist/assets/mojo-CFuIV2fl.js +1 -0
  122. package/dist/diff_tool/app/dist/assets/monokai-B_bV9PQ9.js +1 -0
  123. package/dist/diff_tool/app/dist/assets/moonbit-DgjMoLWr.js +1 -0
  124. package/dist/diff_tool/app/dist/assets/move-BYnGhZoM.js +1 -0
  125. package/dist/diff_tool/app/dist/assets/{nginx-BwS0G4IK.js → nginx-Bo-bEa75.js} +1 -1
  126. package/dist/diff_tool/app/dist/assets/{nim-B2VFbcs9.js → nim-Bfy5M54r.js} +1 -1
  127. package/dist/diff_tool/app/dist/assets/nsis-CjNLYCLg.js +1 -0
  128. package/dist/diff_tool/app/dist/assets/nushell-DHYfO66s.js +1 -0
  129. package/dist/diff_tool/app/dist/assets/org-BKetN7sT.js +1 -0
  130. package/dist/diff_tool/app/dist/assets/{perl-BTeqR-l8.js → perl-WiwTOQTV.js} +1 -1
  131. package/dist/diff_tool/app/dist/assets/{php-Crua7nbA.js → php-CM2FzhGV.js} +1 -1
  132. package/dist/diff_tool/app/dist/assets/{powershell-DshXNtvi.js → powershell-CCSX75yM.js} +1 -1
  133. package/dist/diff_tool/app/dist/assets/prisma-DMgNhnYS.js +1 -0
  134. package/dist/diff_tool/app/dist/assets/{pug-CUlgPjMU.js → pug-D2WvUHZ-.js} +1 -1
  135. package/dist/diff_tool/app/dist/assets/{qml-DI0IjNUw.js → qml-DGPbc6TL.js} +1 -1
  136. package/dist/diff_tool/app/dist/assets/r-CCFYJ_KM.js +1 -0
  137. package/dist/diff_tool/app/dist/assets/{razor-DrkKtFm5.js → razor-D1JuQWQz.js} +1 -1
  138. package/dist/diff_tool/app/dist/assets/rbs-C0MpOrj4.js +1 -0
  139. package/dist/diff_tool/app/dist/assets/red-DX1BQOs8.js +1 -0
  140. package/dist/diff_tool/app/dist/assets/{regexp-DRmxJil7.js → regexp-zTiHwMow.js} +1 -1
  141. package/dist/diff_tool/app/dist/assets/rose-pine-aMsaMD1D.js +1 -0
  142. package/dist/diff_tool/app/dist/assets/rose-pine-dawn-8PwUyIlP.js +1 -0
  143. package/dist/diff_tool/app/dist/assets/rose-pine-moon-DO-qXg-I.js +1 -0
  144. package/dist/diff_tool/app/dist/assets/{rst-DiRke36z.js → rst-CuUAArfH.js} +1 -1
  145. package/dist/diff_tool/app/dist/assets/{ruby-t7r9jzAg.js → ruby-DznrLCoG.js} +1 -1
  146. package/dist/diff_tool/app/dist/assets/{sas-CR7Z4kg-.js → sas-D2hJmLva.js} +1 -1
  147. package/dist/diff_tool/app/dist/assets/{scala-DKOlJaKm.js → scala-BiFt_7mu.js} +1 -1
  148. package/dist/diff_tool/app/dist/assets/{scss--CnPWaDv.js → scss-Cjb3p_6n.js} +1 -1
  149. package/dist/diff_tool/app/dist/assets/{shellscript-Bz7H5174.js → shellscript-BtwI-tfX.js} +1 -1
  150. package/dist/diff_tool/app/dist/assets/{shellsession-mlKnHJfN.js → shellsession-BYirS1xP.js} +1 -1
  151. package/dist/diff_tool/app/dist/assets/smalltalk-BHpQb5nM.js +1 -0
  152. package/dist/diff_tool/app/dist/assets/smithy-Dgaz7aur.js +1 -0
  153. package/dist/diff_tool/app/dist/assets/solarized-dark-UdsmMDCL.js +1 -0
  154. package/dist/diff_tool/app/dist/assets/solarized-light-C1IUL_tW.js +1 -0
  155. package/dist/diff_tool/app/dist/assets/solidity-Bj7E1mRn.js +1 -0
  156. package/dist/diff_tool/app/dist/assets/{soy-CKu9y9G1.js → soy-D4Ndk7-j.js} +1 -1
  157. package/dist/diff_tool/app/dist/assets/{sql-DcvKi3Jj.js → sql-DbLQ5SJl.js} +1 -1
  158. package/dist/diff_tool/app/dist/assets/{stata-Yo25QZyV.js → stata-BXoNBosJ.js} +1 -1
  159. package/dist/diff_tool/app/dist/assets/surrealql-toyTYnAL.js +1 -0
  160. package/dist/diff_tool/app/dist/assets/{svelte-BIhEVbnP.js → svelte-BEpa7pAW.js} +1 -1
  161. package/dist/diff_tool/app/dist/assets/swift-CyEgAFGc.js +1 -0
  162. package/dist/diff_tool/app/dist/assets/system-verilog-Dh5ihWbf.js +1 -0
  163. package/dist/diff_tool/app/dist/assets/{templ-D6FrV4mZ.js → templ-CZfW_RJI.js} +1 -1
  164. package/dist/diff_tool/app/dist/assets/tex-COemmIIu.js +1 -0
  165. package/dist/diff_tool/app/dist/assets/theming-B5HubD5i.js +1 -0
  166. package/dist/diff_tool/app/dist/assets/theming-BTK0wyKj.js +1 -0
  167. package/dist/diff_tool/app/dist/assets/theming-BTUlzJFw.js +1 -0
  168. package/dist/diff_tool/app/dist/assets/theming-BURFlYfV.js +1 -0
  169. package/dist/diff_tool/app/dist/assets/theming-BVZjihoZ.js +1 -0
  170. package/dist/diff_tool/app/dist/assets/theming-BWSkzMBn.js +1 -0
  171. package/dist/diff_tool/app/dist/assets/theming-BchIqPOb.js +1 -0
  172. package/dist/diff_tool/app/dist/assets/theming-CeLfRn2P.js +1 -0
  173. package/dist/diff_tool/app/dist/assets/theming-DMjwMSwU.js +1 -0
  174. package/dist/diff_tool/app/dist/assets/theming-QWGGdlwd.js +1 -0
  175. package/dist/diff_tool/app/dist/assets/{ts-tags-Kqn1PP6m.js → ts-tags-CMVUY_BA.js} +1 -1
  176. package/dist/diff_tool/app/dist/assets/{tsx-L3TEJWGL.js → tsx-BTvP6uzd.js} +1 -1
  177. package/dist/diff_tool/app/dist/assets/twig-DzP5RjJc.js +1 -0
  178. package/dist/diff_tool/app/dist/assets/{typescript-Dvc5RX4H.js → typescript-CQaGlMoX.js} +1 -1
  179. package/dist/diff_tool/app/dist/assets/{v-DETTlOr0.js → v-DBj4K9d_.js} +1 -1
  180. package/dist/diff_tool/app/dist/assets/{vb-Djn5o6TS.js → vb-DOwzaHZ0.js} +1 -1
  181. package/dist/diff_tool/app/dist/assets/verilog-B2gwz-sJ.js +1 -0
  182. package/dist/diff_tool/app/dist/assets/{vue-X1uI3I2A.js → vue-DaVWTtvb.js} +1 -1
  183. package/dist/diff_tool/app/dist/assets/{vue-html-BMpHEoeQ.js → vue-html-BA_OH0Xt.js} +1 -1
  184. package/dist/diff_tool/app/dist/assets/{vue-vine-DnTGaA4r.js → vue-vine-C_H4XbNR.js} +1 -1
  185. package/dist/diff_tool/app/dist/assets/{xml-QlPQXP0d.js → xml-1JLzpunp.js} +1 -1
  186. package/dist/diff_tool/app/dist/assets/{xsl-JpRU16Li.js → xsl-GtZi0Erj.js} +1 -1
  187. package/dist/diff_tool/app/dist/assets/{yaml-Djukn3_s.js → yaml-LueTtDDo.js} +1 -1
  188. package/dist/diff_tool/app/dist/index.html +1 -1
  189. package/dist/host/client_tool_broker.js +6 -1
  190. package/dist/host/client_tool_broker.js.map +1 -1
  191. package/dist/host/hosted_ephemeral_agent_session.js +5 -0
  192. package/dist/host/hosted_ephemeral_agent_session.js.map +1 -1
  193. package/dist/host/local_session_host.js +422 -97
  194. package/dist/host/local_session_host.js.map +1 -1
  195. package/dist/host/session_host.js +2 -0
  196. package/dist/host/session_host.js.map +1 -1
  197. package/dist/host/session_protocol_handler.js +257 -240
  198. package/dist/host/session_protocol_handler.js.map +1 -1
  199. package/dist/protocol/index.d.ts +1 -1
  200. package/dist/protocol/index.js.map +1 -1
  201. package/dist/protocol/session_protocol.d.ts +79 -18
  202. package/dist/protocol/session_protocol.js +138 -25
  203. package/dist/protocol/session_protocol.js.map +1 -1
  204. package/dist/sdk/index.d.ts +1 -1
  205. package/dist/sdk/index.js.map +1 -1
  206. package/dist/sdk/session.js +24 -4
  207. package/dist/sdk/session.js.map +1 -1
  208. package/dist/sdk/types.d.ts +9 -3
  209. package/dist/starter/prompts/approval-review-branch.md +7 -0
  210. package/dist/starter/prompts/approval-review-current-changes.md +7 -0
  211. package/dist/starter/prompts/approval-review-last-commit.md +7 -0
  212. package/dist/starter/skills/approval-review/SKILL.md +219 -0
  213. package/dist/store/session_snapshot_migrations.js +29 -1
  214. package/dist/store/session_snapshot_migrations.js.map +1 -1
  215. package/dist/tui/chat_view.js +1 -0
  216. package/dist/tui/chat_view.js.map +1 -1
  217. package/dist/tui/session_chat_controller.js +71 -69
  218. package/dist/tui/session_chat_controller.js.map +1 -1
  219. package/dist/tui/ui/footer.js +7 -3
  220. package/dist/tui/ui/footer.js.map +1 -1
  221. package/dist/tui/ui/subagent_panel.js +24 -28
  222. package/dist/tui/ui/subagent_panel.js.map +1 -1
  223. package/dist/tui/ui/tool_ui_registry.js +71 -22
  224. package/dist/tui/ui/tool_ui_registry.js.map +1 -1
  225. package/package.json +4 -4
  226. package/dist/core/tools/terminate_agent.js +0 -155
  227. package/dist/core/tools/terminate_agent.js.map +0 -1
  228. package/dist/diff_tool/app/dist/assets/actionscript-3--17pq3dv.js +0 -1
  229. package/dist/diff_tool/app/dist/assets/apex-VAyPSnFM.js +0 -1
  230. package/dist/diff_tool/app/dist/assets/asciidoc-DE70LPWp.js +0 -1
  231. package/dist/diff_tool/app/dist/assets/bird2-C6vDhewU.js +0 -1
  232. package/dist/diff_tool/app/dist/assets/bsl-BkkzgIyY.js +0 -1
  233. package/dist/diff_tool/app/dist/assets/c3-BFHwR3_K.js +0 -1
  234. package/dist/diff_tool/app/dist/assets/catppuccin-frappe-3VR1Za6u.js +0 -1
  235. package/dist/diff_tool/app/dist/assets/catppuccin-latte-DwIHMF0Q.js +0 -1
  236. package/dist/diff_tool/app/dist/assets/catppuccin-macchiato-DYnBP6_5.js +0 -1
  237. package/dist/diff_tool/app/dist/assets/catppuccin-mocha-DYhrFGRu.js +0 -1
  238. package/dist/diff_tool/app/dist/assets/clarity-SemFz856.js +0 -1
  239. package/dist/diff_tool/app/dist/assets/coq-BrsZFFmf.js +0 -1
  240. package/dist/diff_tool/app/dist/assets/cpp-BcU9r9kv.js +0 -1
  241. package/dist/diff_tool/app/dist/assets/emacs-lisp-B4R74twV.js +0 -1
  242. package/dist/diff_tool/app/dist/assets/gdscript-Cp2uCuqX.js +0 -1
  243. package/dist/diff_tool/app/dist/assets/hack-DAsjGmmw.js +0 -1
  244. package/dist/diff_tool/app/dist/assets/haxe-OTjmBuCE.js +0 -1
  245. package/dist/diff_tool/app/dist/assets/hxml-B0Qn7Nwc.js +0 -1
  246. package/dist/diff_tool/app/dist/assets/index-U7G4V3LV.js +0 -1579
  247. package/dist/diff_tool/app/dist/assets/kanagawa-dragon-CXtmUGW6.js +0 -1
  248. package/dist/diff_tool/app/dist/assets/kanagawa-lotus-BN08jTvb.js +0 -1
  249. package/dist/diff_tool/app/dist/assets/kanagawa-wave-CTweb8Dz.js +0 -1
  250. package/dist/diff_tool/app/dist/assets/latex-Bydg2zYo.js +0 -1
  251. package/dist/diff_tool/app/dist/assets/luau-FMPmPwt6.js +0 -1
  252. package/dist/diff_tool/app/dist/assets/mdc-B6ddHTKx.js +0 -1
  253. package/dist/diff_tool/app/dist/assets/mermaid-Bk4SNUv9.js +0 -1
  254. package/dist/diff_tool/app/dist/assets/mojo-BgCJLMeH.js +0 -1
  255. package/dist/diff_tool/app/dist/assets/monokai-CdkpiU2Y.js +0 -1
  256. package/dist/diff_tool/app/dist/assets/moonbit-CaWjb8XO.js +0 -1
  257. package/dist/diff_tool/app/dist/assets/move-B1IS1UjX.js +0 -1
  258. package/dist/diff_tool/app/dist/assets/nushell-DcLAeLz5.js +0 -1
  259. package/dist/diff_tool/app/dist/assets/pierre-dark-CpLgRqie.js +0 -1
  260. package/dist/diff_tool/app/dist/assets/pierre-dark-protanopia-deuteranopia-B35FxJx-.js +0 -1
  261. package/dist/diff_tool/app/dist/assets/pierre-dark-soft-kZQmAZld.js +0 -1
  262. package/dist/diff_tool/app/dist/assets/pierre-dark-tritanopia-CpjhbsIL.js +0 -1
  263. package/dist/diff_tool/app/dist/assets/pierre-dark-vibrant-CpQYzh95.js +0 -1
  264. package/dist/diff_tool/app/dist/assets/pierre-light-CoaEpmwp.js +0 -1
  265. package/dist/diff_tool/app/dist/assets/pierre-light-protanopia-deuteranopia-0fSaH845.js +0 -1
  266. package/dist/diff_tool/app/dist/assets/pierre-light-soft-lWLdNTOI.js +0 -1
  267. package/dist/diff_tool/app/dist/assets/pierre-light-tritanopia-CEbqgOJL.js +0 -1
  268. package/dist/diff_tool/app/dist/assets/pierre-light-vibrant-D80Fkn33.js +0 -1
  269. package/dist/diff_tool/app/dist/assets/prisma-BsRQq5mF.js +0 -1
  270. package/dist/diff_tool/app/dist/assets/r-DRexFFDh.js +0 -1
  271. package/dist/diff_tool/app/dist/assets/red-CJ3rzSJv.js +0 -1
  272. package/dist/diff_tool/app/dist/assets/rose-pine-BthvhNj6.js +0 -1
  273. package/dist/diff_tool/app/dist/assets/rose-pine-dawn-Dg85fqjY.js +0 -1
  274. package/dist/diff_tool/app/dist/assets/rose-pine-moon-hon4tzzS.js +0 -1
  275. package/dist/diff_tool/app/dist/assets/smalltalk-B16xEiuN.js +0 -1
  276. package/dist/diff_tool/app/dist/assets/solarized-dark-DV17i1UV.js +0 -1
  277. package/dist/diff_tool/app/dist/assets/solarized-light-DSh2HLQt.js +0 -1
  278. package/dist/diff_tool/app/dist/assets/solidity-CKzVLygQ.js +0 -1
  279. package/dist/diff_tool/app/dist/assets/surrealql-CUddZ4Qk.js +0 -1
  280. package/dist/diff_tool/app/dist/assets/swift-DonLKvLd.js +0 -1
  281. package/dist/diff_tool/app/dist/assets/system-verilog-DJ5XKQeo.js +0 -1
  282. package/dist/diff_tool/app/dist/assets/tex-BOTYELrL.js +0 -1
  283. package/dist/diff_tool/app/dist/assets/twig-BpzmhnWz.js +0 -1
  284. package/dist/diff_tool/app/dist/assets/verilog-CiiDBU1e.js +0 -1
@@ -1,155 +0,0 @@
1
- import { Type } from "typebox";
2
- import { z } from "zod";
3
- import { parseToolArgs } from "../utils/zod.js";
4
- import { createTextToolOutcome, executeTool, } from "./registry.js";
5
- import { buildSubagentUiText, formatSubagentStatusLine } from "./subagent_ui.js";
6
- import { TOOL_NAME_TERMINATE_AGENT } from "./tool_names.js";
7
- const TERMINATE_AGENT_DESCRIPTION = [
8
- "Terminate a running subagent and return its final status and response.",
9
- "If the subagent already finished, this returns its latest result.",
10
- ].join(" ");
11
- const TERMINATE_AGENT_ID_DESCRIPTION = "Subagent id to terminate.";
12
- export const TERMINATE_AGENT_TOOL = {
13
- name: TOOL_NAME_TERMINATE_AGENT,
14
- description: TERMINATE_AGENT_DESCRIPTION,
15
- parameters: Type.Object({
16
- id: Type.String({ description: TERMINATE_AGENT_ID_DESCRIPTION }),
17
- }, { additionalProperties: false }),
18
- };
19
- const terminateArgsSchema = z.object({
20
- id: z.string().trim().min(1),
21
- });
22
- function formatTerminateResult(result) {
23
- const payload = {
24
- id: result.id,
25
- name: result.name,
26
- title: result.title,
27
- status: result.status,
28
- finalText: result.finalText,
29
- error: result.error,
30
- };
31
- return JSON.stringify(payload, null, 2);
32
- }
33
- function formatTerminateOutput(result, succeeded) {
34
- const finalText = result.finalText?.trimEnd() ?? "";
35
- const body = finalText.trim().length > 0 ? finalText : "";
36
- if (!succeeded) {
37
- const errorLine = result.error ? `Error: ${result.error}` : `Status: ${result.status}`;
38
- return body ? `${errorLine}\n${body}` : errorLine;
39
- }
40
- return body;
41
- }
42
- function getTerminateDurationMs(result) {
43
- const finishedAt = result.finishedAt ?? Date.now();
44
- return Math.max(0, finishedAt - result.startedAt);
45
- }
46
- function getTerminateAgentDisplayTarget(raw) {
47
- const parsedArgs = parseToolArgs(terminateArgsSchema, raw);
48
- return parsedArgs.ok ? parsedArgs.data.id : "(invalid arguments)";
49
- }
50
- export function createTerminateAgentToolDefinition(supervisor) {
51
- return {
52
- schema: TERMINATE_AGENT_TOOL,
53
- describe: (toolCall) => ({ headerTarget: getTerminateAgentDisplayTarget(toolCall.arguments) }),
54
- async execute(toolCall, context) {
55
- const { signal } = context;
56
- let id = "";
57
- const headerTarget = getTerminateAgentDisplayTarget(toolCall.arguments);
58
- const blocked = (reason) => {
59
- const outcome = createTextToolOutcome(reason, "blocked");
60
- const uiEvent = {
61
- type: "terminate_agent_blocked",
62
- toolCallId: toolCall.id,
63
- agentId: id || undefined,
64
- headerTarget,
65
- reason,
66
- };
67
- return { content: outcome.content, outcome: outcome.outcome, uiEvent };
68
- };
69
- const parsedArgs = parseToolArgs(terminateArgsSchema, toolCall.arguments);
70
- if (!parsedArgs.ok) {
71
- return executeTool(context, () => blocked(`Invalid arguments: ${parsedArgs.error}`));
72
- }
73
- ({ id } = parsedArgs.data);
74
- return executeTool(context, async () => {
75
- try {
76
- const result = await supervisor.terminate(id, signal);
77
- if (!result) {
78
- const message = `Unknown subagent ID '${id}'.`;
79
- const uiText = buildSubagentUiText({
80
- output: message,
81
- statusText: "error",
82
- maxOutputLines: 16,
83
- fullText: message,
84
- });
85
- const uiEvent = {
86
- type: "terminate_agent_finished",
87
- toolCallId: toolCall.id,
88
- agentId: id,
89
- headerTarget,
90
- status: "error",
91
- message,
92
- uiText,
93
- };
94
- const outcome = createTextToolOutcome(message, "blocked");
95
- return { content: outcome.content, outcome: outcome.outcome, uiEvent };
96
- }
97
- const resultText = formatTerminateResult(result);
98
- const succeeded = result.status === "success" || result.status === "aborted";
99
- const baseStatusText = formatSubagentStatusLine({
100
- costTotal: result.costTotal,
101
- durationMs: getTerminateDurationMs(result),
102
- });
103
- const statusText = succeeded
104
- ? baseStatusText
105
- : `${baseStatusText} · Status ${result.status}`;
106
- const uiText = buildSubagentUiText({
107
- output: formatTerminateOutput(result, succeeded),
108
- statusText,
109
- maxOutputLines: 16,
110
- fullText: resultText,
111
- });
112
- const uiEvent = {
113
- type: "terminate_agent_finished",
114
- toolCallId: toolCall.id,
115
- agentId: id,
116
- headerTarget,
117
- status: succeeded ? "success" : "error",
118
- finalStatus: result.status,
119
- message: succeeded ? undefined : `Subagent finished with status ${result.status}.`,
120
- uiText,
121
- };
122
- const outcome = createTextToolOutcome(resultText, succeeded ? "succeeded" : "failed");
123
- return { content: outcome.content, outcome: outcome.outcome, uiEvent };
124
- }
125
- catch (error) {
126
- const message = error instanceof Error ? error.message : String(error);
127
- const reason = message.trim() || "The terminate_agent request failed.";
128
- const uiText = buildSubagentUiText({
129
- output: reason,
130
- statusText: "error",
131
- maxOutputLines: 16,
132
- fullText: reason,
133
- });
134
- const uiEvent = {
135
- type: "terminate_agent_finished",
136
- toolCallId: toolCall.id,
137
- agentId: id,
138
- headerTarget,
139
- status: "error",
140
- message: reason,
141
- uiText,
142
- };
143
- const outcome = createTextToolOutcome(reason, signal.aborted ? "cancelled" : "failed");
144
- return { content: outcome.content, outcome: outcome.outcome, uiEvent };
145
- }
146
- }, {
147
- type: "terminate_agent_started",
148
- toolCallId: toolCall.id,
149
- agentId: id,
150
- headerTarget,
151
- });
152
- },
153
- };
154
- }
155
- //# sourceMappingURL=terminate_agent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terminate_agent.js","sourceRoot":"","sources":["../../../src/core/tools/terminate_agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAEL,qBAAqB,EACrB,WAAW,GAIZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,MAAM,2BAA2B,GAAG;IAClC,wEAAwE;IACxE,mEAAmE;CACpE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,MAAM,8BAA8B,GAAG,2BAA2B,CAAC;AAEnE,MAAM,CAAC,MAAM,oBAAoB,GAAS;IACxC,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EAAE,2BAA2B;IACxC,UAAU,EAAE,IAAI,CAAC,MAAM,CACrB;QACE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC;KACjE,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAChC;CACF,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC7B,CAAC,CAAC;AAEH,SAAS,qBAAqB,CAAC,MAAsB;IACnD,MAAM,OAAO,GAAG;QACd,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;IAEF,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAsB,EAAE,SAAkB;IACvE,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACpD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAE1D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC;QACvF,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAsB;IACpD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACnD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,8BAA8B,CAAC,GAAY;IAClD,MAAM,UAAU,GAAG,aAAa,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IAC3D,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,UAA2B;IAC5E,OAAO;QACL,MAAM,EAAE,oBAAoB;QAC5B,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,8BAA8B,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9F,KAAK,CAAC,OAAO,CACX,QAAkB,EAClB,OAA6B;YAE7B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;YAC3B,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,MAAM,YAAY,GAAG,8BAA8B,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAExE,MAAM,OAAO,GAAG,CAAC,MAAc,EAA6B,EAAE;gBAC5D,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBACzD,MAAM,OAAO,GAAiB;oBAC5B,IAAI,EAAE,yBAAyB;oBAC/B,UAAU,EAAE,QAAQ,CAAC,EAAE;oBACvB,OAAO,EAAE,EAAE,IAAI,SAAS;oBACxB,YAAY;oBACZ,MAAM;iBACP,CAAC;gBACF,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YACzE,CAAC,CAAC;YAEF,MAAM,UAAU,GAAG,aAAa,CAAC,mBAAmB,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC1E,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;gBACnB,OAAO,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,sBAAsB,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACvF,CAAC;YAED,CAAC,EAAE,EAAE,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAE3B,OAAO,WAAW,CAChB,OAAO,EACP,KAAK,IAAwC,EAAE;gBAC7C,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;oBACtD,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,MAAM,OAAO,GAAG,wBAAwB,EAAE,IAAI,CAAC;wBAC/C,MAAM,MAAM,GAAG,mBAAmB,CAAC;4BACjC,MAAM,EAAE,OAAO;4BACf,UAAU,EAAE,OAAO;4BACnB,cAAc,EAAE,EAAE;4BAClB,QAAQ,EAAE,OAAO;yBAClB,CAAC,CAAC;wBACH,MAAM,OAAO,GAAiB;4BAC5B,IAAI,EAAE,0BAA0B;4BAChC,UAAU,EAAE,QAAQ,CAAC,EAAE;4BACvB,OAAO,EAAE,EAAE;4BACX,YAAY;4BACZ,MAAM,EAAE,OAAO;4BACf,OAAO;4BACP,MAAM;yBACP,CAAC;wBACF,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;wBAC1D,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;oBACzE,CAAC;oBAED,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;oBACjD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;oBAC7E,MAAM,cAAc,GAAG,wBAAwB,CAAC;wBAC9C,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,UAAU,EAAE,sBAAsB,CAAC,MAAM,CAAC;qBAC3C,CAAC,CAAC;oBACH,MAAM,UAAU,GAAG,SAAS;wBAC1B,CAAC,CAAC,cAAc;wBAChB,CAAC,CAAC,GAAG,cAAc,aAAa,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClD,MAAM,MAAM,GAAG,mBAAmB,CAAC;wBACjC,MAAM,EAAE,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC;wBAChD,UAAU;wBACV,cAAc,EAAE,EAAE;wBAClB,QAAQ,EAAE,UAAU;qBACrB,CAAC,CAAC;oBACH,MAAM,OAAO,GAAiB;wBAC5B,IAAI,EAAE,0BAA0B;wBAChC,UAAU,EAAE,QAAQ,CAAC,EAAE;wBACvB,OAAO,EAAE,EAAE;wBACX,YAAY;wBACZ,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;wBACvC,WAAW,EAAE,MAAM,CAAC,MAAM;wBAC1B,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iCAAiC,MAAM,CAAC,MAAM,GAAG;wBAClF,MAAM;qBACP,CAAC;oBACF,MAAM,OAAO,GAAG,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBACtF,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;gBACzE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACvE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,qCAAqC,CAAC;oBACvE,MAAM,MAAM,GAAG,mBAAmB,CAAC;wBACjC,MAAM,EAAE,MAAM;wBACd,UAAU,EAAE,OAAO;wBACnB,cAAc,EAAE,EAAE;wBAClB,QAAQ,EAAE,MAAM;qBACjB,CAAC,CAAC;oBACH,MAAM,OAAO,GAAiB;wBAC5B,IAAI,EAAE,0BAA0B;wBAChC,UAAU,EAAE,QAAQ,CAAC,EAAE;wBACvB,OAAO,EAAE,EAAE;wBACX,YAAY;wBACZ,MAAM,EAAE,OAAO;wBACf,OAAO,EAAE,MAAM;wBACf,MAAM;qBACP,CAAC;oBACF,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBACvF,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;gBACzE,CAAC;YACH,CAAC,EACD;gBACE,IAAI,EAAE,yBAAyB;gBAC/B,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,OAAO,EAAE,EAAE;gBACX,YAAY;aACb,CACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +0,0 @@
1
- var e=[Object.freeze(JSON.parse(`{"displayName":"ActionScript","fileTypes":["as"],"name":"actionscript-3","patterns":[{"include":"#comments"},{"include":"#package"},{"include":"#class"},{"include":"#interface"},{"include":"#namespace_declaration"},{"include":"#import"},{"include":"#mxml"},{"include":"#strings"},{"include":"#regexp"},{"include":"#variable_declaration"},{"include":"#numbers"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#primitive_functions"},{"include":"#language_constants"},{"include":"#language_variables"},{"include":"#guess_type"},{"include":"#guess_constant"},{"include":"#other_operators"},{"include":"#arithmetic_operators"},{"include":"#logical_operators"},{"include":"#array_access_operators"},{"include":"#vector_creation_operators"},{"include":"#control_keywords"},{"include":"#other_keywords"},{"include":"#use_namespace"},{"include":"#functions"}],"repository":{"arithmetic_operators":{"match":"([-%+/]|(?<!:)\\\\*)","name":"keyword.operator.actionscript.3"},"array_access_operators":{"match":"([]\\\\[])","name":"keyword.operator.actionscript.3"},"class":{"begin":"(^|\\\\s+|;)(\\\\b(dynamic|final|abstract)\\\\b\\\\s+)?(\\\\b(internal|public)\\\\b\\\\s+)?(\\\\b(dynamic|final|abstract)\\\\b\\\\s+)?(?=\\\\bclass\\\\b)","beginCaptures":{"3":{"name":"storage.modifier.actionscript.3"},"5":{"name":"storage.modifier.actionscript.3"},"7":{"name":"storage.modifier.actionscript.3"}},"end":"}","name":"meta.class.actionscript.3","patterns":[{"include":"#class_declaration"},{"include":"#declaration_code_block"},{"include":"#metadata"},{"include":"#method"},{"include":"#comments"},{"include":"#strings"},{"include":"#regexp"},{"include":"#numbers"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#primitive_functions"},{"include":"#language_constants"},{"include":"#language_variables"},{"include":"#other_operators"},{"include":"#other_keywords"},{"include":"#use_namespace"},{"include":"#guess_type"},{"include":"#guess_constant"},{"include":"#arithmetic_operators"},{"include":"#array_access_operators"},{"include":"#vector_creation_operators"},{"include":"#variable_declaration"},{"include":"#object_literal"},{"include":"#conditional_compilation"}]},"class_declaration":{"begin":"\\\\b(class)\\\\b\\\\s+([$.0-9A-Z_a-z]+|\\\\*)","beginCaptures":{"1":{"name":"storage.type.class.actionscript.3"},"2":{"name":"entity.name.class.actionscript.3"}},"end":"\\\\{","name":"meta.class_declaration.actionscript.3","patterns":[{"include":"#extends"},{"include":"#implements"},{"include":"#comments"}]},"comments":{"patterns":[{"begin":"/\\\\*\\\\*(?!/)","end":"\\\\*/","name":"comment.block.documentation.actionscript.3","patterns":[{"match":"@(copy|default|eventType|example|exampleText|includeExample|inheritDoc|internal|param|private|return|see|since|throws)\\\\b","name":"keyword.other.documentation.actionscript.3.asdoc"}]},{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.actionscript.3"},{"match":"//.*","name":"comment.line.actionscript.3"}]},"conditional_compilation":{"captures":{"2":{"name":"constant.other.actionscript.3"},"3":{"name":"constant.other.actionscript.3"}},"match":"(^|\\\\s+|;)\\\\b(\\\\w+)\\\\b::\\\\b(\\\\w+)\\\\b","name":"meta.conditional.actionscript.3"},"control_keywords":{"match":"\\\\b(if|else|do|while|for|each|continue|return|switch|case|default|break|try|catch|finally|throw|with)\\\\b","name":"keyword.control.actionscript.3"},"declaration_code_block":{"begin":"\\\\{","end":"}","name":"meta.code_block.actionscript.3","patterns":[{"include":"#method"},{"include":"#variable_declaration"},{"include":"#comments"},{"include":"#strings"},{"include":"#regexp"},{"include":"#numbers"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#primitive_functions"},{"include":"#language_constants"},{"include":"#language_variables"},{"include":"#guess_type"},{"include":"#guess_constant"},{"include":"#other_operators"},{"include":"#arithmetic_operators"},{"include":"#logical_operators"},{"include":"#array_access_operators"},{"include":"#vector_creation_operators"},{"include":"#control_keywords"},{"include":"#other_keywords"},{"include":"#use_namespace"},{"include":"#functions"},{"include":"#import"}]},"dynamic_type":{"captures":{"1":{"name":"support.type.actionscript.3"}},"match":"(?<=:)\\\\s*(\\\\*)"},"escapes":{"match":"\\\\\\\\(x\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)","name":"constant.character.escape.actionscript.3"},"extends":{"captures":{"1":{"name":"keyword.other.actionscript.3"},"2":{"name":"entity.other.inherited-class.actionscript.3"},"3":{"name":"entity.other.inherited-class.actionscript.3"}},"match":"\\\\b(extends)\\\\b\\\\s+([$.0-9A-Z_a-z]+)\\\\s*(?:,\\\\s*([$.0-9A-Z_a-z]+))*\\\\s*","name":"meta.extends.actionscript.3"},"function_arguments":{"begin":"\\\\(","end":"\\\\)","name":"meta.function_arguments.actionscript.3","patterns":[{"include":"#parameters"},{"include":"#comments"}]},"functions":{"begin":"\\\\b(function)\\\\b(?:\\\\s+\\\\b([gs]et)\\\\b\\\\s+)?\\\\s*([$0-9A-Z_a-z]+\\\\b)?","beginCaptures":{"1":{"name":"storage.type.function.actionscript.3"},"2":{"name":"storage.modifier.actionscript.3"},"3":{"name":"entity.name.function.actionscript.3"}},"end":"($|;|(?=\\\\{))","name":"meta.function.actionscript.3","patterns":[{"include":"#function_arguments"},{"include":"#return_type"},{"include":"#comments"}]},"guess_constant":{"captures":{"1":{"name":"constant.other.actionscript.3"}},"match":"\\\\b([$A-Z][0-9A-Z_]+)\\\\b"},"guess_type":{"captures":{"1":{"name":"support.type.actionscript.3"}},"match":"\\\\b((?:[$0-9A-Z_a-z]+\\\\.)*[A-Z][0-9A-Z]*[a-z]+[$0-9A-Z_a-z]*)\\\\b"},"implements":{"captures":{"1":{"name":"keyword.other.actionscript.3"},"2":{"name":"entity.other.inherited-class.actionscript.3"},"3":{"name":"entity.other.inherited-class.actionscript.3"}},"match":"\\\\b(implements)\\\\b\\\\s+([$.0-9A-Z_a-z]+)\\\\s*(?:,\\\\s*([$.0-9A-Z_a-z]+))*\\\\s*","name":"meta.implements.actionscript.3"},"import":{"captures":{"2":{"name":"keyword.control.import.actionscript.3"},"3":{"name":"support.type.actionscript.3"}},"match":"(^|\\\\s+|;)\\\\b(import)\\\\b\\\\s+([$.0-9A-Z_a-z]+(?:\\\\.\\\\*)?)\\\\s*(?=;|$)","name":"meta.import.actionscript.3"},"interface":{"begin":"(^|\\\\s+|;)(\\\\b(internal|public)\\\\b\\\\s+)?(?=\\\\binterface\\\\b)","beginCaptures":{"3":{"name":"storage.modifier.actionscript.3"}},"end":"}","name":"meta.interface.actionscript.3","patterns":[{"include":"#interface_declaration"},{"include":"#metadata"},{"include":"#functions"},{"include":"#comments"}]},"interface_declaration":{"begin":"\\\\b(interface)\\\\b\\\\s+([$.0-9A-Z_a-z]+)","beginCaptures":{"1":{"name":"storage.type.interface.actionscript.3"},"2":{"name":"entity.name.class.actionscript.3"}},"end":"\\\\{","name":"meta.class_declaration.actionscript.3","patterns":[{"include":"#extends"},{"include":"#comments"}]},"language_constants":{"match":"\\\\b(true|false|null|Infinity|-Infinity|NaN|undefined)\\\\b","name":"constant.language.actionscript.3"},"language_variables":{"match":"\\\\b(super|this|arguments)\\\\b","name":"variable.language.actionscript.3"},"local_code_block":{"begin":"\\\\{","end":"}","name":"meta.code_block.actionscript.3","patterns":[{"include":"#local_code_block"},{"include":"#comments"},{"include":"#strings"},{"include":"#regexp"},{"include":"#variable_declaration"},{"include":"#numbers"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#primitive_functions"},{"include":"#language_constants"},{"include":"#language_variables"},{"include":"#guess_type"},{"include":"#guess_constant"},{"include":"#other_operators"},{"include":"#arithmetic_operators"},{"include":"#logical_operators"},{"include":"#array_access_operators"},{"include":"#vector_creation_operators"},{"include":"#control_keywords"},{"include":"#other_keywords"},{"include":"#use_namespace"},{"include":"#functions"},{"include":"#import"}]},"logical_operators":{"match":"([!\\\\&<>?^|~])","name":"keyword.operator.actionscript.3"},"metadata":{"begin":"(?<=(?:^|[;{}]|\\\\*/)\\\\s*)\\\\[\\\\s*\\\\b([$A-Z_a-z][$0-9A-Z_a-z]+)\\\\b","beginCaptures":{"1":{"name":"keyword.other.actionscript.3"}},"end":"]","name":"meta.metadata_info.actionscript.3","patterns":[{"include":"#metadata_info"}]},"metadata_info":{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"#strings"},{"captures":{"1":{"name":"variable.parameter.actionscript.3"},"2":{"name":"keyword.operator.actionscript.3"}},"match":"(\\\\w+)\\\\s*(=)"}]},"method":{"begin":"(^|\\\\s+)((\\\\w+)\\\\s+)?((\\\\w+)\\\\s+)?((\\\\w+)\\\\s+)?((\\\\w+)\\\\s+)?(?=\\\\bfunction\\\\b)","beginCaptures":{"3":{"name":"storage.modifier.actionscript.3"},"5":{"name":"storage.modifier.actionscript.3"},"7":{"name":"storage.modifier.actionscript.3"},"8":{"name":"storage.modifier.actionscript.3"}},"end":"(?<=([;}]))","name":"meta.method.actionscript.3","patterns":[{"include":"#functions"},{"include":"#local_code_block"}]},"mxml":{"begin":"<!\\\\[CDATA\\\\[","end":"]]>","name":"meta.cdata.actionscript.3","patterns":[{"include":"#comments"},{"include":"#import"},{"include":"#metadata"},{"include":"#class"},{"include":"#namespace_declaration"},{"include":"#use_namespace"},{"include":"#class_declaration"},{"include":"#method"},{"include":"#comments"},{"include":"#strings"},{"include":"#regexp"},{"include":"#numbers"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#primitive_functions"},{"include":"#language_constants"},{"include":"#language_variables"},{"include":"#other_keywords"},{"include":"#guess_type"},{"include":"#guess_constant"},{"include":"#other_operators"},{"include":"#arithmetic_operators"},{"include":"#array_access_operators"},{"include":"#vector_creation_operators"},{"include":"#variable_declaration"}]},"namespace_declaration":{"captures":{"2":{"name":"storage.modifier.actionscript.3"},"3":{"name":"storage.modifier.actionscript.3"}},"match":"((\\\\w+)\\\\s+)?(namespace)\\\\s+[$0-9A-Z_a-z]+","name":"meta.namespace_declaration.actionscript.3"},"numbers":{"match":"\\\\b((0([Xx])\\\\h*)|(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([Ll]|UL|ul|[FUfu])?\\\\b","name":"constant.numeric.actionscript.3"},"object_literal":{"begin":"\\\\{","end":"}","name":"meta.object_literal.actionscript.3","patterns":[{"include":"#object_literal"},{"include":"#comments"},{"include":"#strings"},{"include":"#regexp"},{"include":"#numbers"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#primitive_functions"},{"include":"#language_constants"},{"include":"#language_variables"},{"include":"#guess_type"},{"include":"#guess_constant"},{"include":"#array_access_operators"},{"include":"#vector_creation_operators"},{"include":"#functions"}]},"other_keywords":{"match":"\\\\b(as|delete|in|instanceof|is|native|new|to|typeof)\\\\b","name":"keyword.other.actionscript.3"},"other_operators":{"match":"([.=])","name":"keyword.operator.actionscript.3"},"package":{"begin":"(^|\\\\s+)(package)\\\\b","beginCaptures":{"2":{"name":"keyword.other.actionscript.3"}},"end":"}","name":"meta.package.actionscript.3","patterns":[{"include":"#package_name"},{"include":"#variable_declaration"},{"include":"#method"},{"include":"#comments"},{"include":"#return_type"},{"include":"#import"},{"include":"#use_namespace"},{"include":"#strings"},{"include":"#numbers"},{"include":"#language_constants"},{"include":"#metadata"},{"include":"#class"},{"include":"#interface"},{"include":"#namespace_declaration"}]},"package_name":{"begin":"(?<=package)\\\\s+([._\\\\w]*)\\\\b","end":"\\\\{","name":"meta.package_name.actionscript.3"},"parameters":{"begin":"(\\\\.\\\\.\\\\.)?\\\\s*([$A-Z_a-z][$0-9A-Z_a-z]*)(?:\\\\s*(:)\\\\s*(?:([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)(?:\\\\.<([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)>)?|(\\\\*)))?(?:\\\\s*(=))?","beginCaptures":{"1":{"name":"keyword.operator.actionscript.3"},"2":{"name":"variable.parameter.actionscript.3"},"3":{"name":"keyword.operator.actionscript.3"},"4":{"name":"support.type.actionscript.3"},"5":{"name":"support.type.actionscript.3"},"6":{"name":"support.type.actionscript.3"},"7":{"name":"keyword.operator.actionscript.3"}},"end":",|(?=\\\\))","patterns":[{"include":"#strings"},{"include":"#numbers"},{"include":"#language_constants"},{"include":"#comments"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#guess_type"},{"include":"#guess_constant"}]},"primitive_error_types":{"captures":{"1":{"name":"support.class.error.actionscript.3"}},"match":"\\\\b((Argument|Definition|Eval|Internal|Range|Reference|Security|Syntax|Type|URI|Verify)?Error)\\\\b"},"primitive_functions":{"captures":{"1":{"name":"support.function.actionscript.3"}},"match":"\\\\b(decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|isFinite|isNaN|isXMLName|parseFloat|parseInt|trace|unescape)(?=\\\\s*\\\\()"},"primitive_types":{"captures":{"1":{"name":"support.class.builtin.actionscript.3"}},"match":"\\\\b(Array|Boolean|Class|Date|Function|int|JSON|Math|Namespace|Number|Object|QName|RegExp|String|uint|Vector|XML|XMLList|\\\\*(?<=a))\\\\b"},"regexp":{"begin":"(?<=[(,:=\\\\[]|^|return|&&|\\\\|\\\\||!)\\\\s*(/)(?![*+/?{}])","end":"$|(/)[gim]*","name":"string.regex.actionscript.3","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.actionscript.3"},{"match":"\\\\[(\\\\\\\\]|[^]])*]","name":"constant.character.class.actionscript.3"}]},"return_type":{"captures":{"1":{"name":"keyword.operator.actionscript.3"},"2":{"name":"support.type.actionscript.3"},"3":{"name":"support.type.actionscript.3"},"4":{"name":"support.type.actionscript.3"}},"match":"(:)\\\\s*([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)(?:\\\\.<([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)>)?|(\\\\*)"},"strings":{"patterns":[{"begin":"@\\"","end":"\\"","name":"string.quoted.verbatim.actionscript.3"},{"begin":"\\"","end":"\\"","name":"string.quoted.double.actionscript.3","patterns":[{"include":"#escapes"}]},{"begin":"'","end":"'","name":"string.quoted.single.actionscript.3","patterns":[{"include":"#escapes"}]}]},"use_namespace":{"captures":{"2":{"name":"keyword.other.actionscript.3"},"3":{"name":"keyword.other.actionscript.3"},"4":{"name":"storage.modifier.actionscript.3"}},"match":"(^|\\\\s+|;)(use\\\\s+)?(namespace)\\\\s+(\\\\w+)\\\\s*(;|$)"},"variable_declaration":{"captures":{"2":{"name":"storage.modifier.actionscript.3"},"4":{"name":"storage.modifier.actionscript.3"},"6":{"name":"storage.modifier.actionscript.3"},"7":{"name":"storage.modifier.actionscript.3"},"8":{"name":"keyword.operator.actionscript.3"}},"match":"((static)\\\\s+)?((\\\\w+)\\\\s+)?((static)\\\\s+)?(const|var)\\\\s+[$0-9A-Z_a-z]+(?:\\\\s*(:))?","name":"meta.variable_declaration.actionscript.3"},"vector_creation_operators":{"match":"([<>])","name":"keyword.operator.actionscript.3"}},"scopeName":"source.actionscript.3"}`))];export{e as default};
@@ -1 +0,0 @@
1
- var e=[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":"(?=\\\\s(?!\\\\())|(?=\\\\s*$)|(?<=\\\\s*\\\\))","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":"#initializer-block"},{"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":"(?<!\\\\?)\\\\?(?!\\\\?|\\\\.(?!\\\\d)|\\\\[)","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_DAY|NEXT_N_DAY|NEXT_N_WEEK|LAST_N_WEEK|NEXT_N_MONTH|LAST_N_MONTH|NEXT_N_QUARTER|LAST_N_QUARTER|NEXT_N_YEAR|LAST_N_YEAR|NEXT_N_FISCAL_QUARTER|LAST_N_FISCAL_QUARTER|NEXT_N_FISCAL_YEAR|LAST_N_FISCAL_YEAR)S)\\\\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"}]},"dml-expression":{"begin":"\\\\b(delete|insert|undelete|update|upsert)\\\\b\\\\s+(?!new\\\\b)","beginCaptures":{"1":{"name":"support.function.apex"}},"end":"(?<=;)","patterns":[{"include":"#expression"},{"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":"#dml-expression"},{"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+","beginCaptures":{"1":{"name":"keyword.other.extends.apex"}},"end":"(?=\\\\{|implements)","patterns":[{"begin":"(?=[_[:alpha:]][_[:alnum:]]*\\\\s*\\\\.)","end":"(?=\\\\{|implements)","patterns":[{"include":"#support-type"},{"include":"#type"}]},{"captures":{"1":{"name":"entity.name.type.extends.apex"}},"match":"([_[:alpha:]][_[:alnum:]]*)"}]},"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","beginCaptures":{"1":{"name":"keyword.other.implements.apex"}},"end":"(?=\\\\{|extends)","patterns":[{"begin":"(?=[_[:alpha:]][_[:alnum:]]*\\\\s*\\\\.)","end":"(?=\\\\{|extends|,)","patterns":[{"include":"#support-type"},{"include":"#type"}]},{"captures":{"1":{"name":"entity.name.type.implements.apex"},"2":{"name":"punctuation.separator.comma.apex"}},"match":"([_[:alpha:]][_[:alnum:]]*)\\\\b\\\\s*(,)?"},{"include":"#punctuation-comma"}]},"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-block":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.apex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}},"patterns":[{"include":"#statement"}]},"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":"#multiline-string-literal"},{"include":"#string-literal"}]},"local-constant-declaration":{"begin":"\\\\b(?<const_keyword>const)\\\\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":"(?:(?:\\\\b(ref)\\\\s+)?\\\\b(var)\\\\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"},"multiline-string-literal":{"begin":"'''","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.apex"}},"end":"'''","endCaptures":{"0":{"name":"punctuation.definition.string.end.apex"}},"name":"string.quoted.single.multiline.apex","patterns":[{"include":"#string-character-escape"},{"include":"#string-template-expression"}]},"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]+([LUlu]|UL|Ul|uL|ul|LU|Lu|lU|lu)?\\\\b","name":"constant.numeric.hex.apex"},{"match":"\\\\b0([Bb])[01_]+([LUlu]|UL|Ul|uL|ul|LU|Lu|lU|lu)?\\\\b","name":"constant.numeric.binary.apex"},{"match":"\\\\b([0-9_]+)?\\\\.[0-9_]+(([Ee])[0-9]+)?([DFMdfm])?\\\\b","name":"constant.numeric.decimal.apex"},{"match":"\\\\b[0-9_]+([Ee])[0-9_]+([DFMdfm])?\\\\b","name":"constant.numeric.decimal.apex"},{"match":"\\\\b[0-9_]+([DFMdfm])\\\\b","name":"constant.numeric.decimal.apex"},{"match":"\\\\b[0-9_]+([LUlu]|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|final)\\\\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|without|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"},{"include":"#string-template-expression"}]},"string-template-expression":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.apex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.apex"}},"name":"meta.template-expression.apex","patterns":[{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"variable.other.readwrite.apex"}]},"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+(.*)(\\\\{)","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|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":"(?=})|(?=when\\\\b)","patterns":[{"include":"#block"},{"include":"#expression"}]},"when-multiple-statement":{"begin":"(when)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.control.switch.when.apex"}},"end":"(?=})|(?=when\\\\b)","patterns":[{"include":"#block"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"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":"(?=})|(?=when\\\\b)","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":"(?=})|(?=when\\\\b)","patterns":[{"include":"#block"},{"include":"#expression"}]},"when-string":{"begin":"(when)\\\\b\\\\s*('[^\\\\n']*')(\\\\s*(,)\\\\s*('[^\\\\n']*'))*\\\\s*","beginCaptures":{"1":{"name":"keyword.control.switch.when.apex"},"2":{"patterns":[{"include":"#string-literal"}]},"4":{"patterns":[{"include":"#punctuation-comma"}]},"5":{"patterns":[{"include":"#string-literal"}]}},"end":"(?=})|(?=when\\\\b)","patterns":[{"include":"#block"},{"include":"#expression"}]},"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"}`))];export{e as default};