@openclaw/diffs 2026.5.27-beta.1 → 2026.5.28-beta.1

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 (838) hide show
  1. package/README.md +1 -0
  2. package/dist/assets/viewer-runtime.js +50 -50
  3. package/dist/index.js +419 -81
  4. package/node_modules/@pierre/diffs/dist/components/CodeView.d.ts +22 -7
  5. package/node_modules/@pierre/diffs/dist/components/CodeView.d.ts.map +1 -1
  6. package/node_modules/@pierre/diffs/dist/components/CodeView.js +202 -105
  7. package/node_modules/@pierre/diffs/dist/components/CodeView.js.map +1 -1
  8. package/node_modules/@pierre/diffs/dist/components/File.d.ts +2 -0
  9. package/node_modules/@pierre/diffs/dist/components/File.d.ts.map +1 -1
  10. package/node_modules/@pierre/diffs/dist/components/File.js +13 -9
  11. package/node_modules/@pierre/diffs/dist/components/File.js.map +1 -1
  12. package/node_modules/@pierre/diffs/dist/components/FileDiff.d.ts +2 -0
  13. package/node_modules/@pierre/diffs/dist/components/FileDiff.d.ts.map +1 -1
  14. package/node_modules/@pierre/diffs/dist/components/FileDiff.js +12 -6
  15. package/node_modules/@pierre/diffs/dist/components/FileDiff.js.map +1 -1
  16. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.d.ts +4 -2
  17. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.d.ts.map +1 -1
  18. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.js +23 -6
  19. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.js.map +1 -1
  20. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.d.ts +9 -8
  21. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
  22. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.js +329 -142
  23. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.js.map +1 -1
  24. package/node_modules/@pierre/diffs/dist/constants.d.ts.map +1 -1
  25. package/node_modules/@pierre/diffs/dist/index.d.ts +2 -2
  26. package/node_modules/@pierre/diffs/dist/index.js +3 -3
  27. package/node_modules/@pierre/diffs/dist/react/index.d.ts +2 -2
  28. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.d.ts +1 -0
  29. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
  30. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.js +12 -5
  31. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.js.map +1 -1
  32. package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.d.ts +1 -0
  33. package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.d.ts.map +1 -1
  34. package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.js +4 -1
  35. package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.js.map +1 -1
  36. package/node_modules/@pierre/diffs/dist/ssr/index.d.ts +2 -2
  37. package/node_modules/@pierre/diffs/dist/types.d.ts +7 -1
  38. package/node_modules/@pierre/diffs/dist/types.d.ts.map +1 -1
  39. package/node_modules/@pierre/diffs/dist/utils/computeEstimatedDiffHeights.d.ts +28 -0
  40. package/node_modules/@pierre/diffs/dist/utils/computeEstimatedDiffHeights.d.ts.map +1 -0
  41. package/node_modules/@pierre/diffs/dist/utils/computeEstimatedDiffHeights.js +111 -0
  42. package/node_modules/@pierre/diffs/dist/utils/computeEstimatedDiffHeights.js.map +1 -0
  43. package/node_modules/@pierre/diffs/dist/utils/getDiffHunksRendererOptions.d.ts +8 -0
  44. package/node_modules/@pierre/diffs/dist/utils/getDiffHunksRendererOptions.d.ts.map +1 -0
  45. package/node_modules/@pierre/diffs/dist/utils/getDiffHunksRendererOptions.js +31 -0
  46. package/node_modules/@pierre/diffs/dist/utils/getDiffHunksRendererOptions.js.map +1 -0
  47. package/node_modules/@pierre/diffs/dist/utils/getFileRendererOptions.d.ts +8 -0
  48. package/node_modules/@pierre/diffs/dist/utils/getFileRendererOptions.d.ts.map +1 -0
  49. package/node_modules/@pierre/diffs/dist/utils/getFileRendererOptions.js +24 -0
  50. package/node_modules/@pierre/diffs/dist/utils/getFileRendererOptions.js.map +1 -0
  51. package/node_modules/@pierre/diffs/dist/utils/iterateOverDiff.js +29 -30
  52. package/node_modules/@pierre/diffs/dist/utils/iterateOverDiff.js.map +1 -1
  53. package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.js +8 -1
  54. package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.js.map +1 -1
  55. package/node_modules/@pierre/diffs/dist/utils/virtualDiffLayout.d.ts +65 -0
  56. package/node_modules/@pierre/diffs/dist/utils/virtualDiffLayout.d.ts.map +1 -0
  57. package/node_modules/@pierre/diffs/dist/utils/virtualDiffLayout.js +94 -0
  58. package/node_modules/@pierre/diffs/dist/utils/virtualDiffLayout.js.map +1 -0
  59. package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.d.ts +4 -1
  60. package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.d.ts.map +1 -1
  61. package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.js +49 -24
  62. package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.js.map +1 -1
  63. package/node_modules/@pierre/diffs/dist/worker/types.d.ts +2 -0
  64. package/node_modules/@pierre/diffs/dist/worker/types.d.ts.map +1 -1
  65. package/node_modules/@pierre/diffs/dist/worker/worker-portable.js +163 -40
  66. package/node_modules/@pierre/diffs/dist/worker/worker-portable.js.map +1 -1
  67. package/node_modules/@pierre/diffs/dist/worker/worker.js +60 -30
  68. package/node_modules/@pierre/diffs/dist/worker/worker.js.map +1 -1
  69. package/node_modules/@pierre/diffs/package.json +1 -1
  70. package/node_modules/@shikijs/core/node_modules/@shikijs/types/LICENSE +22 -0
  71. package/node_modules/@shikijs/core/node_modules/@shikijs/types/README.md +7 -0
  72. package/node_modules/@shikijs/core/node_modules/@shikijs/types/dist/index.d.mts +885 -0
  73. package/node_modules/@shikijs/core/node_modules/@shikijs/types/dist/index.mjs +8 -0
  74. package/node_modules/@shikijs/core/node_modules/@shikijs/types/package.json +36 -0
  75. package/node_modules/@shikijs/engine-javascript/node_modules/@shikijs/types/LICENSE +22 -0
  76. package/node_modules/@shikijs/engine-javascript/node_modules/@shikijs/types/README.md +7 -0
  77. package/node_modules/@shikijs/engine-javascript/node_modules/@shikijs/types/dist/index.d.mts +885 -0
  78. package/node_modules/@shikijs/engine-javascript/node_modules/@shikijs/types/dist/index.mjs +8 -0
  79. package/node_modules/@shikijs/engine-javascript/node_modules/@shikijs/types/package.json +36 -0
  80. package/node_modules/@shikijs/engine-oniguruma/node_modules/@shikijs/types/LICENSE +22 -0
  81. package/node_modules/@shikijs/engine-oniguruma/node_modules/@shikijs/types/README.md +7 -0
  82. package/node_modules/@shikijs/engine-oniguruma/node_modules/@shikijs/types/dist/index.d.mts +885 -0
  83. package/node_modules/@shikijs/engine-oniguruma/node_modules/@shikijs/types/dist/index.mjs +8 -0
  84. package/node_modules/@shikijs/engine-oniguruma/node_modules/@shikijs/types/package.json +36 -0
  85. package/node_modules/@shikijs/langs/dist/apex.mjs +1 -1
  86. package/node_modules/@shikijs/langs/dist/bird2.mjs +1 -1
  87. package/node_modules/@shikijs/langs/dist/c3.mjs +1 -1
  88. package/node_modules/@shikijs/langs/dist/cobol.mjs +1 -1
  89. package/node_modules/@shikijs/langs/dist/csharp.mjs +1 -1
  90. package/node_modules/@shikijs/langs/dist/css.mjs +1 -1
  91. package/node_modules/@shikijs/langs/dist/dart.mjs +1 -1
  92. package/node_modules/@shikijs/langs/dist/emacs-lisp.mjs +1 -1
  93. package/node_modules/@shikijs/langs/dist/es-tag-sql.mjs +1 -1
  94. package/node_modules/@shikijs/langs/dist/go.mjs +1 -1
  95. package/node_modules/@shikijs/langs/dist/hack.mjs +1 -1
  96. package/node_modules/@shikijs/langs/dist/julia.mjs +1 -1
  97. package/node_modules/@shikijs/langs/dist/just.mjs +1 -1
  98. package/node_modules/@shikijs/langs/dist/kusto.mjs +1 -1
  99. package/node_modules/@shikijs/langs/dist/latex.mjs +1 -1
  100. package/node_modules/@shikijs/langs/dist/luau.mjs +1 -1
  101. package/node_modules/@shikijs/langs/dist/nextflow-groovy.mjs +1 -1
  102. package/node_modules/@shikijs/langs/dist/php.mjs +1 -1
  103. package/node_modules/@shikijs/langs/dist/ruby.mjs +1 -1
  104. package/node_modules/@shikijs/langs/dist/sql.mjs +1 -1
  105. package/node_modules/@shikijs/langs/dist/typespec.mjs +1 -1
  106. package/node_modules/@shikijs/langs/package.json +6 -3
  107. package/node_modules/@shikijs/themes/node_modules/@shikijs/types/LICENSE +22 -0
  108. package/node_modules/@shikijs/themes/node_modules/@shikijs/types/README.md +7 -0
  109. package/node_modules/@shikijs/themes/node_modules/@shikijs/types/dist/index.d.mts +885 -0
  110. package/node_modules/@shikijs/themes/node_modules/@shikijs/types/dist/index.mjs +8 -0
  111. package/node_modules/@shikijs/themes/node_modules/@shikijs/types/package.json +36 -0
  112. package/node_modules/@shikijs/transformers/node_modules/@shikijs/types/LICENSE +22 -0
  113. package/node_modules/@shikijs/transformers/node_modules/@shikijs/types/README.md +7 -0
  114. package/node_modules/@shikijs/transformers/node_modules/@shikijs/types/dist/index.d.mts +885 -0
  115. package/node_modules/@shikijs/transformers/node_modules/@shikijs/types/dist/index.mjs +8 -0
  116. package/node_modules/@shikijs/transformers/node_modules/@shikijs/types/package.json +36 -0
  117. package/node_modules/@shikijs/types/dist/index.d.mts +686 -684
  118. package/node_modules/@shikijs/types/dist/index.mjs +8 -7
  119. package/node_modules/@shikijs/types/package.json +6 -3
  120. package/node_modules/diff/CONTRIBUTING.md +1 -1
  121. package/node_modules/diff/dist/diff.js +32 -73
  122. package/node_modules/diff/dist/diff.min.js +1 -1
  123. package/node_modules/diff/libcjs/diff/word.d.ts.map +1 -1
  124. package/node_modules/diff/libcjs/diff/word.js +31 -15
  125. package/node_modules/diff/libcjs/util/string.d.ts +2 -14
  126. package/node_modules/diff/libcjs/util/string.d.ts.map +1 -1
  127. package/node_modules/diff/libcjs/util/string.js +2 -61
  128. package/node_modules/diff/libesm/diff/word.d.ts.map +1 -1
  129. package/node_modules/diff/libesm/diff/word.js +31 -16
  130. package/node_modules/diff/libesm/util/string.d.ts +2 -14
  131. package/node_modules/diff/libesm/util/string.d.ts.map +1 -1
  132. package/node_modules/diff/libesm/util/string.js +2 -58
  133. package/node_modules/diff/package.json +24 -22
  134. package/node_modules/diff/release-notes.md +0 -28
  135. package/node_modules/shiki/node_modules/@shikijs/langs/LICENSE +22 -0
  136. package/node_modules/shiki/node_modules/@shikijs/langs/README.md +7 -0
  137. package/node_modules/shiki/node_modules/@shikijs/langs/dist/1c-query.d.mts +3 -0
  138. package/node_modules/shiki/node_modules/@shikijs/langs/dist/1c-query.mjs +2 -0
  139. package/node_modules/shiki/node_modules/@shikijs/langs/dist/1c.d.mts +3 -0
  140. package/node_modules/shiki/node_modules/@shikijs/langs/dist/1c.mjs +2 -0
  141. package/node_modules/shiki/node_modules/@shikijs/langs/dist/abap.d.mts +3 -0
  142. package/node_modules/shiki/node_modules/@shikijs/langs/dist/abap.mjs +5 -0
  143. package/node_modules/shiki/node_modules/@shikijs/langs/dist/actionscript-3.d.mts +3 -0
  144. package/node_modules/shiki/node_modules/@shikijs/langs/dist/actionscript-3.mjs +5 -0
  145. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ada.d.mts +3 -0
  146. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ada.mjs +5 -0
  147. package/node_modules/shiki/node_modules/@shikijs/langs/dist/adoc.d.mts +3 -0
  148. package/node_modules/shiki/node_modules/@shikijs/langs/dist/adoc.mjs +2 -0
  149. package/node_modules/shiki/node_modules/@shikijs/langs/dist/angular-expression.d.mts +3 -0
  150. package/node_modules/shiki/node_modules/@shikijs/langs/dist/angular-expression.mjs +5 -0
  151. package/node_modules/shiki/node_modules/@shikijs/langs/dist/angular-html.d.mts +3 -0
  152. package/node_modules/shiki/node_modules/@shikijs/langs/dist/angular-html.mjs +16 -0
  153. package/node_modules/shiki/node_modules/@shikijs/langs/dist/angular-inline-style.d.mts +3 -0
  154. package/node_modules/shiki/node_modules/@shikijs/langs/dist/angular-inline-style.mjs +8 -0
  155. package/node_modules/shiki/node_modules/@shikijs/langs/dist/angular-inline-template.d.mts +3 -0
  156. package/node_modules/shiki/node_modules/@shikijs/langs/dist/angular-inline-template.mjs +10 -0
  157. package/node_modules/shiki/node_modules/@shikijs/langs/dist/angular-let-declaration.d.mts +3 -0
  158. package/node_modules/shiki/node_modules/@shikijs/langs/dist/angular-let-declaration.mjs +8 -0
  159. package/node_modules/shiki/node_modules/@shikijs/langs/dist/angular-template-blocks.d.mts +3 -0
  160. package/node_modules/shiki/node_modules/@shikijs/langs/dist/angular-template-blocks.mjs +10 -0
  161. package/node_modules/shiki/node_modules/@shikijs/langs/dist/angular-template.d.mts +3 -0
  162. package/node_modules/shiki/node_modules/@shikijs/langs/dist/angular-template.mjs +8 -0
  163. package/node_modules/shiki/node_modules/@shikijs/langs/dist/angular-ts.d.mts +3 -0
  164. package/node_modules/shiki/node_modules/@shikijs/langs/dist/angular-ts.mjs +18 -0
  165. package/node_modules/shiki/node_modules/@shikijs/langs/dist/apache.d.mts +3 -0
  166. package/node_modules/shiki/node_modules/@shikijs/langs/dist/apache.mjs +5 -0
  167. package/node_modules/shiki/node_modules/@shikijs/langs/dist/apex.d.mts +3 -0
  168. package/node_modules/shiki/node_modules/@shikijs/langs/dist/apex.mjs +5 -0
  169. package/node_modules/shiki/node_modules/@shikijs/langs/dist/apl.d.mts +3 -0
  170. package/node_modules/shiki/node_modules/@shikijs/langs/dist/apl.mjs +16 -0
  171. package/node_modules/shiki/node_modules/@shikijs/langs/dist/applescript.d.mts +3 -0
  172. package/node_modules/shiki/node_modules/@shikijs/langs/dist/applescript.mjs +5 -0
  173. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ara.d.mts +3 -0
  174. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ara.mjs +5 -0
  175. package/node_modules/shiki/node_modules/@shikijs/langs/dist/asciidoc.d.mts +3 -0
  176. package/node_modules/shiki/node_modules/@shikijs/langs/dist/asciidoc.mjs +5 -0
  177. package/node_modules/shiki/node_modules/@shikijs/langs/dist/asm.d.mts +3 -0
  178. package/node_modules/shiki/node_modules/@shikijs/langs/dist/asm.mjs +5 -0
  179. package/node_modules/shiki/node_modules/@shikijs/langs/dist/astro.d.mts +3 -0
  180. package/node_modules/shiki/node_modules/@shikijs/langs/dist/astro.mjs +18 -0
  181. package/node_modules/shiki/node_modules/@shikijs/langs/dist/awk.d.mts +3 -0
  182. package/node_modules/shiki/node_modules/@shikijs/langs/dist/awk.mjs +5 -0
  183. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ballerina.d.mts +3 -0
  184. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ballerina.mjs +5 -0
  185. package/node_modules/shiki/node_modules/@shikijs/langs/dist/bash.d.mts +3 -0
  186. package/node_modules/shiki/node_modules/@shikijs/langs/dist/bash.mjs +2 -0
  187. package/node_modules/shiki/node_modules/@shikijs/langs/dist/bat.d.mts +3 -0
  188. package/node_modules/shiki/node_modules/@shikijs/langs/dist/bat.mjs +5 -0
  189. package/node_modules/shiki/node_modules/@shikijs/langs/dist/batch.d.mts +3 -0
  190. package/node_modules/shiki/node_modules/@shikijs/langs/dist/batch.mjs +2 -0
  191. package/node_modules/shiki/node_modules/@shikijs/langs/dist/be.d.mts +3 -0
  192. package/node_modules/shiki/node_modules/@shikijs/langs/dist/be.mjs +2 -0
  193. package/node_modules/shiki/node_modules/@shikijs/langs/dist/beancount.d.mts +3 -0
  194. package/node_modules/shiki/node_modules/@shikijs/langs/dist/beancount.mjs +5 -0
  195. package/node_modules/shiki/node_modules/@shikijs/langs/dist/berry.d.mts +3 -0
  196. package/node_modules/shiki/node_modules/@shikijs/langs/dist/berry.mjs +5 -0
  197. package/node_modules/shiki/node_modules/@shikijs/langs/dist/bibtex.d.mts +3 -0
  198. package/node_modules/shiki/node_modules/@shikijs/langs/dist/bibtex.mjs +5 -0
  199. package/node_modules/shiki/node_modules/@shikijs/langs/dist/bicep.d.mts +3 -0
  200. package/node_modules/shiki/node_modules/@shikijs/langs/dist/bicep.mjs +5 -0
  201. package/node_modules/shiki/node_modules/@shikijs/langs/dist/bird.d.mts +3 -0
  202. package/node_modules/shiki/node_modules/@shikijs/langs/dist/bird.mjs +2 -0
  203. package/node_modules/shiki/node_modules/@shikijs/langs/dist/bird2.d.mts +3 -0
  204. package/node_modules/shiki/node_modules/@shikijs/langs/dist/bird2.mjs +5 -0
  205. package/node_modules/shiki/node_modules/@shikijs/langs/dist/blade.d.mts +3 -0
  206. package/node_modules/shiki/node_modules/@shikijs/langs/dist/blade.mjs +20 -0
  207. package/node_modules/shiki/node_modules/@shikijs/langs/dist/bsl.d.mts +3 -0
  208. package/node_modules/shiki/node_modules/@shikijs/langs/dist/bsl.mjs +8 -0
  209. package/node_modules/shiki/node_modules/@shikijs/langs/dist/c.d.mts +3 -0
  210. package/node_modules/shiki/node_modules/@shikijs/langs/dist/c.mjs +5 -0
  211. package/node_modules/shiki/node_modules/@shikijs/langs/dist/c3.d.mts +3 -0
  212. package/node_modules/shiki/node_modules/@shikijs/langs/dist/c3.mjs +5 -0
  213. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cadence.d.mts +3 -0
  214. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cadence.mjs +5 -0
  215. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cairo.d.mts +3 -0
  216. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cairo.mjs +8 -0
  217. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cdc.d.mts +3 -0
  218. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cdc.mjs +2 -0
  219. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cjs.d.mts +3 -0
  220. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cjs.mjs +2 -0
  221. package/node_modules/shiki/node_modules/@shikijs/langs/dist/clarity.d.mts +3 -0
  222. package/node_modules/shiki/node_modules/@shikijs/langs/dist/clarity.mjs +5 -0
  223. package/node_modules/shiki/node_modules/@shikijs/langs/dist/clj.d.mts +3 -0
  224. package/node_modules/shiki/node_modules/@shikijs/langs/dist/clj.mjs +2 -0
  225. package/node_modules/shiki/node_modules/@shikijs/langs/dist/clojure.d.mts +3 -0
  226. package/node_modules/shiki/node_modules/@shikijs/langs/dist/clojure.mjs +5 -0
  227. package/node_modules/shiki/node_modules/@shikijs/langs/dist/closure-templates.d.mts +3 -0
  228. package/node_modules/shiki/node_modules/@shikijs/langs/dist/closure-templates.mjs +2 -0
  229. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cmake.d.mts +3 -0
  230. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cmake.mjs +5 -0
  231. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cmd.d.mts +3 -0
  232. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cmd.mjs +2 -0
  233. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cobol.d.mts +3 -0
  234. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cobol.mjs +10 -0
  235. package/node_modules/shiki/node_modules/@shikijs/langs/dist/codeowners.d.mts +3 -0
  236. package/node_modules/shiki/node_modules/@shikijs/langs/dist/codeowners.mjs +5 -0
  237. package/node_modules/shiki/node_modules/@shikijs/langs/dist/codeql.d.mts +3 -0
  238. package/node_modules/shiki/node_modules/@shikijs/langs/dist/codeql.mjs +5 -0
  239. package/node_modules/shiki/node_modules/@shikijs/langs/dist/coffee.d.mts +3 -0
  240. package/node_modules/shiki/node_modules/@shikijs/langs/dist/coffee.mjs +8 -0
  241. package/node_modules/shiki/node_modules/@shikijs/langs/dist/coffeescript.d.mts +3 -0
  242. package/node_modules/shiki/node_modules/@shikijs/langs/dist/coffeescript.mjs +2 -0
  243. package/node_modules/shiki/node_modules/@shikijs/langs/dist/common-lisp.d.mts +3 -0
  244. package/node_modules/shiki/node_modules/@shikijs/langs/dist/common-lisp.mjs +5 -0
  245. package/node_modules/shiki/node_modules/@shikijs/langs/dist/console.d.mts +3 -0
  246. package/node_modules/shiki/node_modules/@shikijs/langs/dist/console.mjs +2 -0
  247. package/node_modules/shiki/node_modules/@shikijs/langs/dist/coq.d.mts +3 -0
  248. package/node_modules/shiki/node_modules/@shikijs/langs/dist/coq.mjs +5 -0
  249. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cpp-macro.d.mts +3 -0
  250. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cpp-macro.mjs +12 -0
  251. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cpp.d.mts +3 -0
  252. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cpp.mjs +14 -0
  253. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cql.d.mts +3 -0
  254. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cql.mjs +2 -0
  255. package/node_modules/shiki/node_modules/@shikijs/langs/dist/crystal.d.mts +3 -0
  256. package/node_modules/shiki/node_modules/@shikijs/langs/dist/crystal.mjs +18 -0
  257. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cs.d.mts +3 -0
  258. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cs.mjs +2 -0
  259. package/node_modules/shiki/node_modules/@shikijs/langs/dist/csharp.d.mts +3 -0
  260. package/node_modules/shiki/node_modules/@shikijs/langs/dist/csharp.mjs +5 -0
  261. package/node_modules/shiki/node_modules/@shikijs/langs/dist/css.d.mts +3 -0
  262. package/node_modules/shiki/node_modules/@shikijs/langs/dist/css.mjs +5 -0
  263. package/node_modules/shiki/node_modules/@shikijs/langs/dist/csv.d.mts +3 -0
  264. package/node_modules/shiki/node_modules/@shikijs/langs/dist/csv.mjs +5 -0
  265. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cts.d.mts +3 -0
  266. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cts.mjs +2 -0
  267. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cue.d.mts +3 -0
  268. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cue.mjs +5 -0
  269. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cypher.d.mts +3 -0
  270. package/node_modules/shiki/node_modules/@shikijs/langs/dist/cypher.mjs +5 -0
  271. package/node_modules/shiki/node_modules/@shikijs/langs/dist/d.d.mts +3 -0
  272. package/node_modules/shiki/node_modules/@shikijs/langs/dist/d.mjs +5 -0
  273. package/node_modules/shiki/node_modules/@shikijs/langs/dist/dart.d.mts +3 -0
  274. package/node_modules/shiki/node_modules/@shikijs/langs/dist/dart.mjs +5 -0
  275. package/node_modules/shiki/node_modules/@shikijs/langs/dist/dax.d.mts +3 -0
  276. package/node_modules/shiki/node_modules/@shikijs/langs/dist/dax.mjs +5 -0
  277. package/node_modules/shiki/node_modules/@shikijs/langs/dist/desktop.d.mts +3 -0
  278. package/node_modules/shiki/node_modules/@shikijs/langs/dist/desktop.mjs +5 -0
  279. package/node_modules/shiki/node_modules/@shikijs/langs/dist/diff.d.mts +3 -0
  280. package/node_modules/shiki/node_modules/@shikijs/langs/dist/diff.mjs +5 -0
  281. package/node_modules/shiki/node_modules/@shikijs/langs/dist/docker.d.mts +3 -0
  282. package/node_modules/shiki/node_modules/@shikijs/langs/dist/docker.mjs +5 -0
  283. package/node_modules/shiki/node_modules/@shikijs/langs/dist/dockerfile.d.mts +3 -0
  284. package/node_modules/shiki/node_modules/@shikijs/langs/dist/dockerfile.mjs +2 -0
  285. package/node_modules/shiki/node_modules/@shikijs/langs/dist/dotenv.d.mts +3 -0
  286. package/node_modules/shiki/node_modules/@shikijs/langs/dist/dotenv.mjs +5 -0
  287. package/node_modules/shiki/node_modules/@shikijs/langs/dist/dream-maker.d.mts +3 -0
  288. package/node_modules/shiki/node_modules/@shikijs/langs/dist/dream-maker.mjs +5 -0
  289. package/node_modules/shiki/node_modules/@shikijs/langs/dist/edge.d.mts +3 -0
  290. package/node_modules/shiki/node_modules/@shikijs/langs/dist/edge.mjs +12 -0
  291. package/node_modules/shiki/node_modules/@shikijs/langs/dist/elisp.d.mts +3 -0
  292. package/node_modules/shiki/node_modules/@shikijs/langs/dist/elisp.mjs +2 -0
  293. package/node_modules/shiki/node_modules/@shikijs/langs/dist/elixir.d.mts +3 -0
  294. package/node_modules/shiki/node_modules/@shikijs/langs/dist/elixir.mjs +8 -0
  295. package/node_modules/shiki/node_modules/@shikijs/langs/dist/elm.d.mts +3 -0
  296. package/node_modules/shiki/node_modules/@shikijs/langs/dist/elm.mjs +8 -0
  297. package/node_modules/shiki/node_modules/@shikijs/langs/dist/emacs-lisp.d.mts +3 -0
  298. package/node_modules/shiki/node_modules/@shikijs/langs/dist/emacs-lisp.mjs +5 -0
  299. package/node_modules/shiki/node_modules/@shikijs/langs/dist/erb.d.mts +3 -0
  300. package/node_modules/shiki/node_modules/@shikijs/langs/dist/erb.mjs +10 -0
  301. package/node_modules/shiki/node_modules/@shikijs/langs/dist/erl.d.mts +3 -0
  302. package/node_modules/shiki/node_modules/@shikijs/langs/dist/erl.mjs +2 -0
  303. package/node_modules/shiki/node_modules/@shikijs/langs/dist/erlang.d.mts +3 -0
  304. package/node_modules/shiki/node_modules/@shikijs/langs/dist/erlang.mjs +8 -0
  305. package/node_modules/shiki/node_modules/@shikijs/langs/dist/es-tag-css.d.mts +3 -0
  306. package/node_modules/shiki/node_modules/@shikijs/langs/dist/es-tag-css.mjs +12 -0
  307. package/node_modules/shiki/node_modules/@shikijs/langs/dist/es-tag-glsl.d.mts +3 -0
  308. package/node_modules/shiki/node_modules/@shikijs/langs/dist/es-tag-glsl.mjs +12 -0
  309. package/node_modules/shiki/node_modules/@shikijs/langs/dist/es-tag-html.d.mts +3 -0
  310. package/node_modules/shiki/node_modules/@shikijs/langs/dist/es-tag-html.mjs +12 -0
  311. package/node_modules/shiki/node_modules/@shikijs/langs/dist/es-tag-sql.d.mts +3 -0
  312. package/node_modules/shiki/node_modules/@shikijs/langs/dist/es-tag-sql.mjs +10 -0
  313. package/node_modules/shiki/node_modules/@shikijs/langs/dist/es-tag-xml.d.mts +3 -0
  314. package/node_modules/shiki/node_modules/@shikijs/langs/dist/es-tag-xml.mjs +8 -0
  315. package/node_modules/shiki/node_modules/@shikijs/langs/dist/f.d.mts +3 -0
  316. package/node_modules/shiki/node_modules/@shikijs/langs/dist/f.mjs +2 -0
  317. package/node_modules/shiki/node_modules/@shikijs/langs/dist/f03.d.mts +3 -0
  318. package/node_modules/shiki/node_modules/@shikijs/langs/dist/f03.mjs +2 -0
  319. package/node_modules/shiki/node_modules/@shikijs/langs/dist/f08.d.mts +3 -0
  320. package/node_modules/shiki/node_modules/@shikijs/langs/dist/f08.mjs +2 -0
  321. package/node_modules/shiki/node_modules/@shikijs/langs/dist/f18.d.mts +3 -0
  322. package/node_modules/shiki/node_modules/@shikijs/langs/dist/f18.mjs +2 -0
  323. package/node_modules/shiki/node_modules/@shikijs/langs/dist/f77.d.mts +3 -0
  324. package/node_modules/shiki/node_modules/@shikijs/langs/dist/f77.mjs +2 -0
  325. package/node_modules/shiki/node_modules/@shikijs/langs/dist/f90.d.mts +3 -0
  326. package/node_modules/shiki/node_modules/@shikijs/langs/dist/f90.mjs +2 -0
  327. package/node_modules/shiki/node_modules/@shikijs/langs/dist/f95.d.mts +3 -0
  328. package/node_modules/shiki/node_modules/@shikijs/langs/dist/f95.mjs +2 -0
  329. package/node_modules/shiki/node_modules/@shikijs/langs/dist/fennel.d.mts +3 -0
  330. package/node_modules/shiki/node_modules/@shikijs/langs/dist/fennel.mjs +5 -0
  331. package/node_modules/shiki/node_modules/@shikijs/langs/dist/fish.d.mts +3 -0
  332. package/node_modules/shiki/node_modules/@shikijs/langs/dist/fish.mjs +5 -0
  333. package/node_modules/shiki/node_modules/@shikijs/langs/dist/fluent.d.mts +3 -0
  334. package/node_modules/shiki/node_modules/@shikijs/langs/dist/fluent.mjs +5 -0
  335. package/node_modules/shiki/node_modules/@shikijs/langs/dist/for.d.mts +3 -0
  336. package/node_modules/shiki/node_modules/@shikijs/langs/dist/for.mjs +2 -0
  337. package/node_modules/shiki/node_modules/@shikijs/langs/dist/fortran-fixed-form.d.mts +3 -0
  338. package/node_modules/shiki/node_modules/@shikijs/langs/dist/fortran-fixed-form.mjs +8 -0
  339. package/node_modules/shiki/node_modules/@shikijs/langs/dist/fortran-free-form.d.mts +3 -0
  340. package/node_modules/shiki/node_modules/@shikijs/langs/dist/fortran-free-form.mjs +5 -0
  341. package/node_modules/shiki/node_modules/@shikijs/langs/dist/fs.d.mts +3 -0
  342. package/node_modules/shiki/node_modules/@shikijs/langs/dist/fs.mjs +2 -0
  343. package/node_modules/shiki/node_modules/@shikijs/langs/dist/fsharp.d.mts +3 -0
  344. package/node_modules/shiki/node_modules/@shikijs/langs/dist/fsharp.mjs +8 -0
  345. package/node_modules/shiki/node_modules/@shikijs/langs/dist/fsl.d.mts +3 -0
  346. package/node_modules/shiki/node_modules/@shikijs/langs/dist/fsl.mjs +2 -0
  347. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ftl.d.mts +3 -0
  348. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ftl.mjs +2 -0
  349. package/node_modules/shiki/node_modules/@shikijs/langs/dist/gd.d.mts +3 -0
  350. package/node_modules/shiki/node_modules/@shikijs/langs/dist/gd.mjs +2 -0
  351. package/node_modules/shiki/node_modules/@shikijs/langs/dist/gdresource.d.mts +3 -0
  352. package/node_modules/shiki/node_modules/@shikijs/langs/dist/gdresource.mjs +10 -0
  353. package/node_modules/shiki/node_modules/@shikijs/langs/dist/gdscript.d.mts +3 -0
  354. package/node_modules/shiki/node_modules/@shikijs/langs/dist/gdscript.mjs +5 -0
  355. package/node_modules/shiki/node_modules/@shikijs/langs/dist/gdshader.d.mts +3 -0
  356. package/node_modules/shiki/node_modules/@shikijs/langs/dist/gdshader.mjs +5 -0
  357. package/node_modules/shiki/node_modules/@shikijs/langs/dist/genie.d.mts +3 -0
  358. package/node_modules/shiki/node_modules/@shikijs/langs/dist/genie.mjs +5 -0
  359. package/node_modules/shiki/node_modules/@shikijs/langs/dist/gherkin.d.mts +3 -0
  360. package/node_modules/shiki/node_modules/@shikijs/langs/dist/gherkin.mjs +5 -0
  361. package/node_modules/shiki/node_modules/@shikijs/langs/dist/git-commit.d.mts +3 -0
  362. package/node_modules/shiki/node_modules/@shikijs/langs/dist/git-commit.mjs +8 -0
  363. package/node_modules/shiki/node_modules/@shikijs/langs/dist/git-rebase.d.mts +3 -0
  364. package/node_modules/shiki/node_modules/@shikijs/langs/dist/git-rebase.mjs +8 -0
  365. package/node_modules/shiki/node_modules/@shikijs/langs/dist/gjs.d.mts +3 -0
  366. package/node_modules/shiki/node_modules/@shikijs/langs/dist/gjs.mjs +2 -0
  367. package/node_modules/shiki/node_modules/@shikijs/langs/dist/gleam.d.mts +3 -0
  368. package/node_modules/shiki/node_modules/@shikijs/langs/dist/gleam.mjs +5 -0
  369. package/node_modules/shiki/node_modules/@shikijs/langs/dist/glimmer-js.d.mts +3 -0
  370. package/node_modules/shiki/node_modules/@shikijs/langs/dist/glimmer-js.mjs +14 -0
  371. package/node_modules/shiki/node_modules/@shikijs/langs/dist/glimmer-ts.d.mts +3 -0
  372. package/node_modules/shiki/node_modules/@shikijs/langs/dist/glimmer-ts.mjs +14 -0
  373. package/node_modules/shiki/node_modules/@shikijs/langs/dist/glsl.d.mts +3 -0
  374. package/node_modules/shiki/node_modules/@shikijs/langs/dist/glsl.mjs +8 -0
  375. package/node_modules/shiki/node_modules/@shikijs/langs/dist/gn.d.mts +3 -0
  376. package/node_modules/shiki/node_modules/@shikijs/langs/dist/gn.mjs +5 -0
  377. package/node_modules/shiki/node_modules/@shikijs/langs/dist/gnuplot.d.mts +3 -0
  378. package/node_modules/shiki/node_modules/@shikijs/langs/dist/gnuplot.mjs +5 -0
  379. package/node_modules/shiki/node_modules/@shikijs/langs/dist/go.d.mts +3 -0
  380. package/node_modules/shiki/node_modules/@shikijs/langs/dist/go.mjs +5 -0
  381. package/node_modules/shiki/node_modules/@shikijs/langs/dist/gql.d.mts +3 -0
  382. package/node_modules/shiki/node_modules/@shikijs/langs/dist/gql.mjs +2 -0
  383. package/node_modules/shiki/node_modules/@shikijs/langs/dist/graphql.d.mts +3 -0
  384. package/node_modules/shiki/node_modules/@shikijs/langs/dist/graphql.mjs +14 -0
  385. package/node_modules/shiki/node_modules/@shikijs/langs/dist/groovy.d.mts +3 -0
  386. package/node_modules/shiki/node_modules/@shikijs/langs/dist/groovy.mjs +5 -0
  387. package/node_modules/shiki/node_modules/@shikijs/langs/dist/gts.d.mts +3 -0
  388. package/node_modules/shiki/node_modules/@shikijs/langs/dist/gts.mjs +2 -0
  389. package/node_modules/shiki/node_modules/@shikijs/langs/dist/hack.d.mts +3 -0
  390. package/node_modules/shiki/node_modules/@shikijs/langs/dist/hack.mjs +10 -0
  391. package/node_modules/shiki/node_modules/@shikijs/langs/dist/haml.d.mts +3 -0
  392. package/node_modules/shiki/node_modules/@shikijs/langs/dist/haml.mjs +10 -0
  393. package/node_modules/shiki/node_modules/@shikijs/langs/dist/handlebars.d.mts +3 -0
  394. package/node_modules/shiki/node_modules/@shikijs/langs/dist/handlebars.mjs +14 -0
  395. package/node_modules/shiki/node_modules/@shikijs/langs/dist/haskell.d.mts +3 -0
  396. package/node_modules/shiki/node_modules/@shikijs/langs/dist/haskell.mjs +5 -0
  397. package/node_modules/shiki/node_modules/@shikijs/langs/dist/haxe.d.mts +3 -0
  398. package/node_modules/shiki/node_modules/@shikijs/langs/dist/haxe.mjs +5 -0
  399. package/node_modules/shiki/node_modules/@shikijs/langs/dist/hbs.d.mts +3 -0
  400. package/node_modules/shiki/node_modules/@shikijs/langs/dist/hbs.mjs +2 -0
  401. package/node_modules/shiki/node_modules/@shikijs/langs/dist/hcl.d.mts +3 -0
  402. package/node_modules/shiki/node_modules/@shikijs/langs/dist/hcl.mjs +5 -0
  403. package/node_modules/shiki/node_modules/@shikijs/langs/dist/hjson.d.mts +3 -0
  404. package/node_modules/shiki/node_modules/@shikijs/langs/dist/hjson.mjs +5 -0
  405. package/node_modules/shiki/node_modules/@shikijs/langs/dist/hlsl.d.mts +3 -0
  406. package/node_modules/shiki/node_modules/@shikijs/langs/dist/hlsl.mjs +5 -0
  407. package/node_modules/shiki/node_modules/@shikijs/langs/dist/hs.d.mts +3 -0
  408. package/node_modules/shiki/node_modules/@shikijs/langs/dist/hs.mjs +2 -0
  409. package/node_modules/shiki/node_modules/@shikijs/langs/dist/html-derivative.d.mts +3 -0
  410. package/node_modules/shiki/node_modules/@shikijs/langs/dist/html-derivative.mjs +8 -0
  411. package/node_modules/shiki/node_modules/@shikijs/langs/dist/html.d.mts +3 -0
  412. package/node_modules/shiki/node_modules/@shikijs/langs/dist/html.mjs +10 -0
  413. package/node_modules/shiki/node_modules/@shikijs/langs/dist/http.d.mts +3 -0
  414. package/node_modules/shiki/node_modules/@shikijs/langs/dist/http.mjs +14 -0
  415. package/node_modules/shiki/node_modules/@shikijs/langs/dist/hurl.d.mts +3 -0
  416. package/node_modules/shiki/node_modules/@shikijs/langs/dist/hurl.mjs +12 -0
  417. package/node_modules/shiki/node_modules/@shikijs/langs/dist/hxml.d.mts +3 -0
  418. package/node_modules/shiki/node_modules/@shikijs/langs/dist/hxml.mjs +8 -0
  419. package/node_modules/shiki/node_modules/@shikijs/langs/dist/hy.d.mts +3 -0
  420. package/node_modules/shiki/node_modules/@shikijs/langs/dist/hy.mjs +5 -0
  421. package/node_modules/shiki/node_modules/@shikijs/langs/dist/imba.d.mts +3 -0
  422. package/node_modules/shiki/node_modules/@shikijs/langs/dist/imba.mjs +5 -0
  423. package/node_modules/shiki/node_modules/@shikijs/langs/dist/index.d.mts +3 -0
  424. package/node_modules/shiki/node_modules/@shikijs/langs/dist/index.mjs +353 -0
  425. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ini.d.mts +3 -0
  426. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ini.mjs +5 -0
  427. package/node_modules/shiki/node_modules/@shikijs/langs/dist/jade.d.mts +3 -0
  428. package/node_modules/shiki/node_modules/@shikijs/langs/dist/jade.mjs +2 -0
  429. package/node_modules/shiki/node_modules/@shikijs/langs/dist/java.d.mts +3 -0
  430. package/node_modules/shiki/node_modules/@shikijs/langs/dist/java.mjs +5 -0
  431. package/node_modules/shiki/node_modules/@shikijs/langs/dist/javascript.d.mts +3 -0
  432. package/node_modules/shiki/node_modules/@shikijs/langs/dist/javascript.mjs +5 -0
  433. package/node_modules/shiki/node_modules/@shikijs/langs/dist/jinja-html.d.mts +3 -0
  434. package/node_modules/shiki/node_modules/@shikijs/langs/dist/jinja-html.mjs +8 -0
  435. package/node_modules/shiki/node_modules/@shikijs/langs/dist/jinja.d.mts +3 -0
  436. package/node_modules/shiki/node_modules/@shikijs/langs/dist/jinja.mjs +8 -0
  437. package/node_modules/shiki/node_modules/@shikijs/langs/dist/jison.d.mts +3 -0
  438. package/node_modules/shiki/node_modules/@shikijs/langs/dist/jison.mjs +8 -0
  439. package/node_modules/shiki/node_modules/@shikijs/langs/dist/jl.d.mts +3 -0
  440. package/node_modules/shiki/node_modules/@shikijs/langs/dist/jl.mjs +2 -0
  441. package/node_modules/shiki/node_modules/@shikijs/langs/dist/js.d.mts +3 -0
  442. package/node_modules/shiki/node_modules/@shikijs/langs/dist/js.mjs +2 -0
  443. package/node_modules/shiki/node_modules/@shikijs/langs/dist/json.d.mts +3 -0
  444. package/node_modules/shiki/node_modules/@shikijs/langs/dist/json.mjs +5 -0
  445. package/node_modules/shiki/node_modules/@shikijs/langs/dist/json5.d.mts +3 -0
  446. package/node_modules/shiki/node_modules/@shikijs/langs/dist/json5.mjs +5 -0
  447. package/node_modules/shiki/node_modules/@shikijs/langs/dist/jsonc.d.mts +3 -0
  448. package/node_modules/shiki/node_modules/@shikijs/langs/dist/jsonc.mjs +5 -0
  449. package/node_modules/shiki/node_modules/@shikijs/langs/dist/jsonl.d.mts +3 -0
  450. package/node_modules/shiki/node_modules/@shikijs/langs/dist/jsonl.mjs +5 -0
  451. package/node_modules/shiki/node_modules/@shikijs/langs/dist/jsonnet.d.mts +3 -0
  452. package/node_modules/shiki/node_modules/@shikijs/langs/dist/jsonnet.mjs +5 -0
  453. package/node_modules/shiki/node_modules/@shikijs/langs/dist/jssm.d.mts +3 -0
  454. package/node_modules/shiki/node_modules/@shikijs/langs/dist/jssm.mjs +5 -0
  455. package/node_modules/shiki/node_modules/@shikijs/langs/dist/jsx.d.mts +3 -0
  456. package/node_modules/shiki/node_modules/@shikijs/langs/dist/jsx.mjs +5 -0
  457. package/node_modules/shiki/node_modules/@shikijs/langs/dist/julia.d.mts +3 -0
  458. package/node_modules/shiki/node_modules/@shikijs/langs/dist/julia.mjs +16 -0
  459. package/node_modules/shiki/node_modules/@shikijs/langs/dist/just.d.mts +3 -0
  460. package/node_modules/shiki/node_modules/@shikijs/langs/dist/just.mjs +18 -0
  461. package/node_modules/shiki/node_modules/@shikijs/langs/dist/kdl.d.mts +3 -0
  462. package/node_modules/shiki/node_modules/@shikijs/langs/dist/kdl.mjs +5 -0
  463. package/node_modules/shiki/node_modules/@shikijs/langs/dist/kotlin.d.mts +3 -0
  464. package/node_modules/shiki/node_modules/@shikijs/langs/dist/kotlin.mjs +5 -0
  465. package/node_modules/shiki/node_modules/@shikijs/langs/dist/kql.d.mts +3 -0
  466. package/node_modules/shiki/node_modules/@shikijs/langs/dist/kql.mjs +2 -0
  467. package/node_modules/shiki/node_modules/@shikijs/langs/dist/kt.d.mts +3 -0
  468. package/node_modules/shiki/node_modules/@shikijs/langs/dist/kt.mjs +2 -0
  469. package/node_modules/shiki/node_modules/@shikijs/langs/dist/kts.d.mts +3 -0
  470. package/node_modules/shiki/node_modules/@shikijs/langs/dist/kts.mjs +2 -0
  471. package/node_modules/shiki/node_modules/@shikijs/langs/dist/kusto.d.mts +3 -0
  472. package/node_modules/shiki/node_modules/@shikijs/langs/dist/kusto.mjs +5 -0
  473. package/node_modules/shiki/node_modules/@shikijs/langs/dist/latex.d.mts +3 -0
  474. package/node_modules/shiki/node_modules/@shikijs/langs/dist/latex.mjs +8 -0
  475. package/node_modules/shiki/node_modules/@shikijs/langs/dist/lean.d.mts +3 -0
  476. package/node_modules/shiki/node_modules/@shikijs/langs/dist/lean.mjs +5 -0
  477. package/node_modules/shiki/node_modules/@shikijs/langs/dist/lean4.d.mts +3 -0
  478. package/node_modules/shiki/node_modules/@shikijs/langs/dist/lean4.mjs +2 -0
  479. package/node_modules/shiki/node_modules/@shikijs/langs/dist/less.d.mts +3 -0
  480. package/node_modules/shiki/node_modules/@shikijs/langs/dist/less.mjs +5 -0
  481. package/node_modules/shiki/node_modules/@shikijs/langs/dist/liquid.d.mts +3 -0
  482. package/node_modules/shiki/node_modules/@shikijs/langs/dist/liquid.mjs +14 -0
  483. package/node_modules/shiki/node_modules/@shikijs/langs/dist/lisp.d.mts +3 -0
  484. package/node_modules/shiki/node_modules/@shikijs/langs/dist/lisp.mjs +2 -0
  485. package/node_modules/shiki/node_modules/@shikijs/langs/dist/lit.d.mts +3 -0
  486. package/node_modules/shiki/node_modules/@shikijs/langs/dist/lit.mjs +2 -0
  487. package/node_modules/shiki/node_modules/@shikijs/langs/dist/llvm.d.mts +3 -0
  488. package/node_modules/shiki/node_modules/@shikijs/langs/dist/llvm.mjs +5 -0
  489. package/node_modules/shiki/node_modules/@shikijs/langs/dist/log.d.mts +3 -0
  490. package/node_modules/shiki/node_modules/@shikijs/langs/dist/log.mjs +5 -0
  491. package/node_modules/shiki/node_modules/@shikijs/langs/dist/logo.d.mts +3 -0
  492. package/node_modules/shiki/node_modules/@shikijs/langs/dist/logo.mjs +5 -0
  493. package/node_modules/shiki/node_modules/@shikijs/langs/dist/lua.d.mts +3 -0
  494. package/node_modules/shiki/node_modules/@shikijs/langs/dist/lua.mjs +8 -0
  495. package/node_modules/shiki/node_modules/@shikijs/langs/dist/luau.d.mts +3 -0
  496. package/node_modules/shiki/node_modules/@shikijs/langs/dist/luau.mjs +5 -0
  497. package/node_modules/shiki/node_modules/@shikijs/langs/dist/make.d.mts +3 -0
  498. package/node_modules/shiki/node_modules/@shikijs/langs/dist/make.mjs +5 -0
  499. package/node_modules/shiki/node_modules/@shikijs/langs/dist/makefile.d.mts +3 -0
  500. package/node_modules/shiki/node_modules/@shikijs/langs/dist/makefile.mjs +2 -0
  501. package/node_modules/shiki/node_modules/@shikijs/langs/dist/markdown-nix.d.mts +3 -0
  502. package/node_modules/shiki/node_modules/@shikijs/langs/dist/markdown-nix.mjs +5 -0
  503. package/node_modules/shiki/node_modules/@shikijs/langs/dist/markdown-vue.d.mts +3 -0
  504. package/node_modules/shiki/node_modules/@shikijs/langs/dist/markdown-vue.mjs +5 -0
  505. package/node_modules/shiki/node_modules/@shikijs/langs/dist/markdown.d.mts +3 -0
  506. package/node_modules/shiki/node_modules/@shikijs/langs/dist/markdown.mjs +5 -0
  507. package/node_modules/shiki/node_modules/@shikijs/langs/dist/marko.d.mts +3 -0
  508. package/node_modules/shiki/node_modules/@shikijs/langs/dist/marko.mjs +14 -0
  509. package/node_modules/shiki/node_modules/@shikijs/langs/dist/matlab.d.mts +3 -0
  510. package/node_modules/shiki/node_modules/@shikijs/langs/dist/matlab.mjs +5 -0
  511. package/node_modules/shiki/node_modules/@shikijs/langs/dist/mbt.d.mts +3 -0
  512. package/node_modules/shiki/node_modules/@shikijs/langs/dist/mbt.mjs +2 -0
  513. package/node_modules/shiki/node_modules/@shikijs/langs/dist/mbti.d.mts +3 -0
  514. package/node_modules/shiki/node_modules/@shikijs/langs/dist/mbti.mjs +2 -0
  515. package/node_modules/shiki/node_modules/@shikijs/langs/dist/md.d.mts +3 -0
  516. package/node_modules/shiki/node_modules/@shikijs/langs/dist/md.mjs +2 -0
  517. package/node_modules/shiki/node_modules/@shikijs/langs/dist/mdc.d.mts +3 -0
  518. package/node_modules/shiki/node_modules/@shikijs/langs/dist/mdc.mjs +12 -0
  519. package/node_modules/shiki/node_modules/@shikijs/langs/dist/mdx.d.mts +3 -0
  520. package/node_modules/shiki/node_modules/@shikijs/langs/dist/mdx.mjs +5 -0
  521. package/node_modules/shiki/node_modules/@shikijs/langs/dist/mediawiki.d.mts +3 -0
  522. package/node_modules/shiki/node_modules/@shikijs/langs/dist/mediawiki.mjs +2 -0
  523. package/node_modules/shiki/node_modules/@shikijs/langs/dist/mermaid.d.mts +3 -0
  524. package/node_modules/shiki/node_modules/@shikijs/langs/dist/mermaid.mjs +5 -0
  525. package/node_modules/shiki/node_modules/@shikijs/langs/dist/mips.d.mts +3 -0
  526. package/node_modules/shiki/node_modules/@shikijs/langs/dist/mips.mjs +2 -0
  527. package/node_modules/shiki/node_modules/@shikijs/langs/dist/mipsasm.d.mts +3 -0
  528. package/node_modules/shiki/node_modules/@shikijs/langs/dist/mipsasm.mjs +5 -0
  529. package/node_modules/shiki/node_modules/@shikijs/langs/dist/mjs.d.mts +3 -0
  530. package/node_modules/shiki/node_modules/@shikijs/langs/dist/mjs.mjs +2 -0
  531. package/node_modules/shiki/node_modules/@shikijs/langs/dist/mmd.d.mts +3 -0
  532. package/node_modules/shiki/node_modules/@shikijs/langs/dist/mmd.mjs +2 -0
  533. package/node_modules/shiki/node_modules/@shikijs/langs/dist/mojo.d.mts +3 -0
  534. package/node_modules/shiki/node_modules/@shikijs/langs/dist/mojo.mjs +5 -0
  535. package/node_modules/shiki/node_modules/@shikijs/langs/dist/moonbit.d.mts +3 -0
  536. package/node_modules/shiki/node_modules/@shikijs/langs/dist/moonbit.mjs +5 -0
  537. package/node_modules/shiki/node_modules/@shikijs/langs/dist/move.d.mts +3 -0
  538. package/node_modules/shiki/node_modules/@shikijs/langs/dist/move.mjs +5 -0
  539. package/node_modules/shiki/node_modules/@shikijs/langs/dist/mts.d.mts +3 -0
  540. package/node_modules/shiki/node_modules/@shikijs/langs/dist/mts.mjs +2 -0
  541. package/node_modules/shiki/node_modules/@shikijs/langs/dist/nar.d.mts +3 -0
  542. package/node_modules/shiki/node_modules/@shikijs/langs/dist/nar.mjs +2 -0
  543. package/node_modules/shiki/node_modules/@shikijs/langs/dist/narrat.d.mts +3 -0
  544. package/node_modules/shiki/node_modules/@shikijs/langs/dist/narrat.mjs +5 -0
  545. package/node_modules/shiki/node_modules/@shikijs/langs/dist/nextflow-groovy.d.mts +3 -0
  546. package/node_modules/shiki/node_modules/@shikijs/langs/dist/nextflow-groovy.mjs +5 -0
  547. package/node_modules/shiki/node_modules/@shikijs/langs/dist/nextflow.d.mts +3 -0
  548. package/node_modules/shiki/node_modules/@shikijs/langs/dist/nextflow.mjs +8 -0
  549. package/node_modules/shiki/node_modules/@shikijs/langs/dist/nf.d.mts +3 -0
  550. package/node_modules/shiki/node_modules/@shikijs/langs/dist/nf.mjs +2 -0
  551. package/node_modules/shiki/node_modules/@shikijs/langs/dist/nginx.d.mts +3 -0
  552. package/node_modules/shiki/node_modules/@shikijs/langs/dist/nginx.mjs +8 -0
  553. package/node_modules/shiki/node_modules/@shikijs/langs/dist/nim.d.mts +3 -0
  554. package/node_modules/shiki/node_modules/@shikijs/langs/dist/nim.mjs +20 -0
  555. package/node_modules/shiki/node_modules/@shikijs/langs/dist/nix.d.mts +3 -0
  556. package/node_modules/shiki/node_modules/@shikijs/langs/dist/nix.mjs +8 -0
  557. package/node_modules/shiki/node_modules/@shikijs/langs/dist/nu.d.mts +3 -0
  558. package/node_modules/shiki/node_modules/@shikijs/langs/dist/nu.mjs +2 -0
  559. package/node_modules/shiki/node_modules/@shikijs/langs/dist/nushell.d.mts +3 -0
  560. package/node_modules/shiki/node_modules/@shikijs/langs/dist/nushell.mjs +5 -0
  561. package/node_modules/shiki/node_modules/@shikijs/langs/dist/objc.d.mts +3 -0
  562. package/node_modules/shiki/node_modules/@shikijs/langs/dist/objc.mjs +2 -0
  563. package/node_modules/shiki/node_modules/@shikijs/langs/dist/objective-c.d.mts +3 -0
  564. package/node_modules/shiki/node_modules/@shikijs/langs/dist/objective-c.mjs +5 -0
  565. package/node_modules/shiki/node_modules/@shikijs/langs/dist/objective-cpp.d.mts +3 -0
  566. package/node_modules/shiki/node_modules/@shikijs/langs/dist/objective-cpp.mjs +5 -0
  567. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ocaml.d.mts +3 -0
  568. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ocaml.mjs +5 -0
  569. package/node_modules/shiki/node_modules/@shikijs/langs/dist/odin.d.mts +3 -0
  570. package/node_modules/shiki/node_modules/@shikijs/langs/dist/odin.mjs +5 -0
  571. package/node_modules/shiki/node_modules/@shikijs/langs/dist/openscad.d.mts +3 -0
  572. package/node_modules/shiki/node_modules/@shikijs/langs/dist/openscad.mjs +5 -0
  573. package/node_modules/shiki/node_modules/@shikijs/langs/dist/pascal.d.mts +3 -0
  574. package/node_modules/shiki/node_modules/@shikijs/langs/dist/pascal.mjs +5 -0
  575. package/node_modules/shiki/node_modules/@shikijs/langs/dist/perl.d.mts +3 -0
  576. package/node_modules/shiki/node_modules/@shikijs/langs/dist/perl.mjs +16 -0
  577. package/node_modules/shiki/node_modules/@shikijs/langs/dist/perl6.d.mts +3 -0
  578. package/node_modules/shiki/node_modules/@shikijs/langs/dist/perl6.mjs +2 -0
  579. package/node_modules/shiki/node_modules/@shikijs/langs/dist/php.d.mts +3 -0
  580. package/node_modules/shiki/node_modules/@shikijs/langs/dist/php.mjs +18 -0
  581. package/node_modules/shiki/node_modules/@shikijs/langs/dist/pkl.d.mts +3 -0
  582. package/node_modules/shiki/node_modules/@shikijs/langs/dist/pkl.mjs +5 -0
  583. package/node_modules/shiki/node_modules/@shikijs/langs/dist/plsql.d.mts +3 -0
  584. package/node_modules/shiki/node_modules/@shikijs/langs/dist/plsql.mjs +5 -0
  585. package/node_modules/shiki/node_modules/@shikijs/langs/dist/po.d.mts +3 -0
  586. package/node_modules/shiki/node_modules/@shikijs/langs/dist/po.mjs +5 -0
  587. package/node_modules/shiki/node_modules/@shikijs/langs/dist/polar.d.mts +3 -0
  588. package/node_modules/shiki/node_modules/@shikijs/langs/dist/polar.mjs +5 -0
  589. package/node_modules/shiki/node_modules/@shikijs/langs/dist/postcss.d.mts +3 -0
  590. package/node_modules/shiki/node_modules/@shikijs/langs/dist/postcss.mjs +5 -0
  591. package/node_modules/shiki/node_modules/@shikijs/langs/dist/pot.d.mts +3 -0
  592. package/node_modules/shiki/node_modules/@shikijs/langs/dist/pot.mjs +2 -0
  593. package/node_modules/shiki/node_modules/@shikijs/langs/dist/potx.d.mts +3 -0
  594. package/node_modules/shiki/node_modules/@shikijs/langs/dist/potx.mjs +2 -0
  595. package/node_modules/shiki/node_modules/@shikijs/langs/dist/powerquery.d.mts +3 -0
  596. package/node_modules/shiki/node_modules/@shikijs/langs/dist/powerquery.mjs +5 -0
  597. package/node_modules/shiki/node_modules/@shikijs/langs/dist/powershell.d.mts +3 -0
  598. package/node_modules/shiki/node_modules/@shikijs/langs/dist/powershell.mjs +5 -0
  599. package/node_modules/shiki/node_modules/@shikijs/langs/dist/prisma.d.mts +3 -0
  600. package/node_modules/shiki/node_modules/@shikijs/langs/dist/prisma.mjs +5 -0
  601. package/node_modules/shiki/node_modules/@shikijs/langs/dist/prolog.d.mts +3 -0
  602. package/node_modules/shiki/node_modules/@shikijs/langs/dist/prolog.mjs +5 -0
  603. package/node_modules/shiki/node_modules/@shikijs/langs/dist/properties.d.mts +3 -0
  604. package/node_modules/shiki/node_modules/@shikijs/langs/dist/properties.mjs +2 -0
  605. package/node_modules/shiki/node_modules/@shikijs/langs/dist/proto.d.mts +3 -0
  606. package/node_modules/shiki/node_modules/@shikijs/langs/dist/proto.mjs +5 -0
  607. package/node_modules/shiki/node_modules/@shikijs/langs/dist/protobuf.d.mts +3 -0
  608. package/node_modules/shiki/node_modules/@shikijs/langs/dist/protobuf.mjs +2 -0
  609. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ps.d.mts +3 -0
  610. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ps.mjs +2 -0
  611. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ps1.d.mts +3 -0
  612. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ps1.mjs +2 -0
  613. package/node_modules/shiki/node_modules/@shikijs/langs/dist/pug.d.mts +3 -0
  614. package/node_modules/shiki/node_modules/@shikijs/langs/dist/pug.mjs +12 -0
  615. package/node_modules/shiki/node_modules/@shikijs/langs/dist/puppet.d.mts +3 -0
  616. package/node_modules/shiki/node_modules/@shikijs/langs/dist/puppet.mjs +5 -0
  617. package/node_modules/shiki/node_modules/@shikijs/langs/dist/purescript.d.mts +3 -0
  618. package/node_modules/shiki/node_modules/@shikijs/langs/dist/purescript.mjs +5 -0
  619. package/node_modules/shiki/node_modules/@shikijs/langs/dist/py.d.mts +3 -0
  620. package/node_modules/shiki/node_modules/@shikijs/langs/dist/py.mjs +2 -0
  621. package/node_modules/shiki/node_modules/@shikijs/langs/dist/python.d.mts +3 -0
  622. package/node_modules/shiki/node_modules/@shikijs/langs/dist/python.mjs +5 -0
  623. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ql.d.mts +3 -0
  624. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ql.mjs +2 -0
  625. package/node_modules/shiki/node_modules/@shikijs/langs/dist/qml.d.mts +3 -0
  626. package/node_modules/shiki/node_modules/@shikijs/langs/dist/qml.mjs +8 -0
  627. package/node_modules/shiki/node_modules/@shikijs/langs/dist/qmldir.d.mts +3 -0
  628. package/node_modules/shiki/node_modules/@shikijs/langs/dist/qmldir.mjs +5 -0
  629. package/node_modules/shiki/node_modules/@shikijs/langs/dist/qss.d.mts +3 -0
  630. package/node_modules/shiki/node_modules/@shikijs/langs/dist/qss.mjs +5 -0
  631. package/node_modules/shiki/node_modules/@shikijs/langs/dist/r.d.mts +3 -0
  632. package/node_modules/shiki/node_modules/@shikijs/langs/dist/r.mjs +5 -0
  633. package/node_modules/shiki/node_modules/@shikijs/langs/dist/racket.d.mts +3 -0
  634. package/node_modules/shiki/node_modules/@shikijs/langs/dist/racket.mjs +5 -0
  635. package/node_modules/shiki/node_modules/@shikijs/langs/dist/raku.d.mts +3 -0
  636. package/node_modules/shiki/node_modules/@shikijs/langs/dist/raku.mjs +5 -0
  637. package/node_modules/shiki/node_modules/@shikijs/langs/dist/razor.d.mts +3 -0
  638. package/node_modules/shiki/node_modules/@shikijs/langs/dist/razor.mjs +10 -0
  639. package/node_modules/shiki/node_modules/@shikijs/langs/dist/rb.d.mts +3 -0
  640. package/node_modules/shiki/node_modules/@shikijs/langs/dist/rb.mjs +2 -0
  641. package/node_modules/shiki/node_modules/@shikijs/langs/dist/reg.d.mts +3 -0
  642. package/node_modules/shiki/node_modules/@shikijs/langs/dist/reg.mjs +5 -0
  643. package/node_modules/shiki/node_modules/@shikijs/langs/dist/regex.d.mts +3 -0
  644. package/node_modules/shiki/node_modules/@shikijs/langs/dist/regex.mjs +2 -0
  645. package/node_modules/shiki/node_modules/@shikijs/langs/dist/regexp.d.mts +3 -0
  646. package/node_modules/shiki/node_modules/@shikijs/langs/dist/regexp.mjs +5 -0
  647. package/node_modules/shiki/node_modules/@shikijs/langs/dist/rel.d.mts +3 -0
  648. package/node_modules/shiki/node_modules/@shikijs/langs/dist/rel.mjs +5 -0
  649. package/node_modules/shiki/node_modules/@shikijs/langs/dist/riscv.d.mts +3 -0
  650. package/node_modules/shiki/node_modules/@shikijs/langs/dist/riscv.mjs +5 -0
  651. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ron.d.mts +3 -0
  652. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ron.mjs +5 -0
  653. package/node_modules/shiki/node_modules/@shikijs/langs/dist/rosmsg.d.mts +3 -0
  654. package/node_modules/shiki/node_modules/@shikijs/langs/dist/rosmsg.mjs +5 -0
  655. package/node_modules/shiki/node_modules/@shikijs/langs/dist/rs.d.mts +3 -0
  656. package/node_modules/shiki/node_modules/@shikijs/langs/dist/rs.mjs +2 -0
  657. package/node_modules/shiki/node_modules/@shikijs/langs/dist/rst.d.mts +3 -0
  658. package/node_modules/shiki/node_modules/@shikijs/langs/dist/rst.mjs +22 -0
  659. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ruby.d.mts +3 -0
  660. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ruby.mjs +30 -0
  661. package/node_modules/shiki/node_modules/@shikijs/langs/dist/rust.d.mts +3 -0
  662. package/node_modules/shiki/node_modules/@shikijs/langs/dist/rust.mjs +5 -0
  663. package/node_modules/shiki/node_modules/@shikijs/langs/dist/sas.d.mts +3 -0
  664. package/node_modules/shiki/node_modules/@shikijs/langs/dist/sas.mjs +8 -0
  665. package/node_modules/shiki/node_modules/@shikijs/langs/dist/sass.d.mts +3 -0
  666. package/node_modules/shiki/node_modules/@shikijs/langs/dist/sass.mjs +5 -0
  667. package/node_modules/shiki/node_modules/@shikijs/langs/dist/scad.d.mts +3 -0
  668. package/node_modules/shiki/node_modules/@shikijs/langs/dist/scad.mjs +2 -0
  669. package/node_modules/shiki/node_modules/@shikijs/langs/dist/scala.d.mts +3 -0
  670. package/node_modules/shiki/node_modules/@shikijs/langs/dist/scala.mjs +5 -0
  671. package/node_modules/shiki/node_modules/@shikijs/langs/dist/scheme.d.mts +3 -0
  672. package/node_modules/shiki/node_modules/@shikijs/langs/dist/scheme.mjs +5 -0
  673. package/node_modules/shiki/node_modules/@shikijs/langs/dist/scss.d.mts +3 -0
  674. package/node_modules/shiki/node_modules/@shikijs/langs/dist/scss.mjs +8 -0
  675. package/node_modules/shiki/node_modules/@shikijs/langs/dist/sdbl.d.mts +3 -0
  676. package/node_modules/shiki/node_modules/@shikijs/langs/dist/sdbl.mjs +5 -0
  677. package/node_modules/shiki/node_modules/@shikijs/langs/dist/sh.d.mts +3 -0
  678. package/node_modules/shiki/node_modules/@shikijs/langs/dist/sh.mjs +2 -0
  679. package/node_modules/shiki/node_modules/@shikijs/langs/dist/shader.d.mts +3 -0
  680. package/node_modules/shiki/node_modules/@shikijs/langs/dist/shader.mjs +2 -0
  681. package/node_modules/shiki/node_modules/@shikijs/langs/dist/shaderlab.d.mts +3 -0
  682. package/node_modules/shiki/node_modules/@shikijs/langs/dist/shaderlab.mjs +8 -0
  683. package/node_modules/shiki/node_modules/@shikijs/langs/dist/shell.d.mts +3 -0
  684. package/node_modules/shiki/node_modules/@shikijs/langs/dist/shell.mjs +2 -0
  685. package/node_modules/shiki/node_modules/@shikijs/langs/dist/shellscript.d.mts +3 -0
  686. package/node_modules/shiki/node_modules/@shikijs/langs/dist/shellscript.mjs +5 -0
  687. package/node_modules/shiki/node_modules/@shikijs/langs/dist/shellsession.d.mts +3 -0
  688. package/node_modules/shiki/node_modules/@shikijs/langs/dist/shellsession.mjs +8 -0
  689. package/node_modules/shiki/node_modules/@shikijs/langs/dist/smalltalk.d.mts +3 -0
  690. package/node_modules/shiki/node_modules/@shikijs/langs/dist/smalltalk.mjs +5 -0
  691. package/node_modules/shiki/node_modules/@shikijs/langs/dist/solidity.d.mts +3 -0
  692. package/node_modules/shiki/node_modules/@shikijs/langs/dist/solidity.mjs +5 -0
  693. package/node_modules/shiki/node_modules/@shikijs/langs/dist/soy.d.mts +3 -0
  694. package/node_modules/shiki/node_modules/@shikijs/langs/dist/soy.mjs +8 -0
  695. package/node_modules/shiki/node_modules/@shikijs/langs/dist/sparql.d.mts +3 -0
  696. package/node_modules/shiki/node_modules/@shikijs/langs/dist/sparql.mjs +8 -0
  697. package/node_modules/shiki/node_modules/@shikijs/langs/dist/spl.d.mts +3 -0
  698. package/node_modules/shiki/node_modules/@shikijs/langs/dist/spl.mjs +2 -0
  699. package/node_modules/shiki/node_modules/@shikijs/langs/dist/splunk.d.mts +3 -0
  700. package/node_modules/shiki/node_modules/@shikijs/langs/dist/splunk.mjs +5 -0
  701. package/node_modules/shiki/node_modules/@shikijs/langs/dist/sql.d.mts +3 -0
  702. package/node_modules/shiki/node_modules/@shikijs/langs/dist/sql.mjs +5 -0
  703. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ssh-config.d.mts +3 -0
  704. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ssh-config.mjs +5 -0
  705. package/node_modules/shiki/node_modules/@shikijs/langs/dist/stata.d.mts +3 -0
  706. package/node_modules/shiki/node_modules/@shikijs/langs/dist/stata.mjs +8 -0
  707. package/node_modules/shiki/node_modules/@shikijs/langs/dist/styl.d.mts +3 -0
  708. package/node_modules/shiki/node_modules/@shikijs/langs/dist/styl.mjs +2 -0
  709. package/node_modules/shiki/node_modules/@shikijs/langs/dist/stylus.d.mts +3 -0
  710. package/node_modules/shiki/node_modules/@shikijs/langs/dist/stylus.mjs +5 -0
  711. package/node_modules/shiki/node_modules/@shikijs/langs/dist/surql.d.mts +3 -0
  712. package/node_modules/shiki/node_modules/@shikijs/langs/dist/surql.mjs +2 -0
  713. package/node_modules/shiki/node_modules/@shikijs/langs/dist/surrealql.d.mts +3 -0
  714. package/node_modules/shiki/node_modules/@shikijs/langs/dist/surrealql.mjs +8 -0
  715. package/node_modules/shiki/node_modules/@shikijs/langs/dist/svelte.d.mts +3 -0
  716. package/node_modules/shiki/node_modules/@shikijs/langs/dist/svelte.mjs +14 -0
  717. package/node_modules/shiki/node_modules/@shikijs/langs/dist/swift.d.mts +3 -0
  718. package/node_modules/shiki/node_modules/@shikijs/langs/dist/swift.mjs +5 -0
  719. package/node_modules/shiki/node_modules/@shikijs/langs/dist/system-verilog.d.mts +3 -0
  720. package/node_modules/shiki/node_modules/@shikijs/langs/dist/system-verilog.mjs +5 -0
  721. package/node_modules/shiki/node_modules/@shikijs/langs/dist/systemd.d.mts +3 -0
  722. package/node_modules/shiki/node_modules/@shikijs/langs/dist/systemd.mjs +5 -0
  723. package/node_modules/shiki/node_modules/@shikijs/langs/dist/talon.d.mts +3 -0
  724. package/node_modules/shiki/node_modules/@shikijs/langs/dist/talon.mjs +2 -0
  725. package/node_modules/shiki/node_modules/@shikijs/langs/dist/talonscript.d.mts +3 -0
  726. package/node_modules/shiki/node_modules/@shikijs/langs/dist/talonscript.mjs +5 -0
  727. package/node_modules/shiki/node_modules/@shikijs/langs/dist/tasl.d.mts +3 -0
  728. package/node_modules/shiki/node_modules/@shikijs/langs/dist/tasl.mjs +5 -0
  729. package/node_modules/shiki/node_modules/@shikijs/langs/dist/tcl.d.mts +3 -0
  730. package/node_modules/shiki/node_modules/@shikijs/langs/dist/tcl.mjs +5 -0
  731. package/node_modules/shiki/node_modules/@shikijs/langs/dist/templ.d.mts +3 -0
  732. package/node_modules/shiki/node_modules/@shikijs/langs/dist/templ.mjs +12 -0
  733. package/node_modules/shiki/node_modules/@shikijs/langs/dist/terraform.d.mts +3 -0
  734. package/node_modules/shiki/node_modules/@shikijs/langs/dist/terraform.mjs +5 -0
  735. package/node_modules/shiki/node_modules/@shikijs/langs/dist/tex.d.mts +3 -0
  736. package/node_modules/shiki/node_modules/@shikijs/langs/dist/tex.mjs +8 -0
  737. package/node_modules/shiki/node_modules/@shikijs/langs/dist/tf.d.mts +3 -0
  738. package/node_modules/shiki/node_modules/@shikijs/langs/dist/tf.mjs +2 -0
  739. package/node_modules/shiki/node_modules/@shikijs/langs/dist/tfvars.d.mts +3 -0
  740. package/node_modules/shiki/node_modules/@shikijs/langs/dist/tfvars.mjs +2 -0
  741. package/node_modules/shiki/node_modules/@shikijs/langs/dist/toml.d.mts +3 -0
  742. package/node_modules/shiki/node_modules/@shikijs/langs/dist/toml.mjs +5 -0
  743. package/node_modules/shiki/node_modules/@shikijs/langs/dist/tres.d.mts +3 -0
  744. package/node_modules/shiki/node_modules/@shikijs/langs/dist/tres.mjs +2 -0
  745. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ts-tags.d.mts +3 -0
  746. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ts-tags.mjs +18 -0
  747. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ts.d.mts +3 -0
  748. package/node_modules/shiki/node_modules/@shikijs/langs/dist/ts.mjs +2 -0
  749. package/node_modules/shiki/node_modules/@shikijs/langs/dist/tscn.d.mts +3 -0
  750. package/node_modules/shiki/node_modules/@shikijs/langs/dist/tscn.mjs +2 -0
  751. package/node_modules/shiki/node_modules/@shikijs/langs/dist/tsp.d.mts +3 -0
  752. package/node_modules/shiki/node_modules/@shikijs/langs/dist/tsp.mjs +2 -0
  753. package/node_modules/shiki/node_modules/@shikijs/langs/dist/tsv.d.mts +3 -0
  754. package/node_modules/shiki/node_modules/@shikijs/langs/dist/tsv.mjs +5 -0
  755. package/node_modules/shiki/node_modules/@shikijs/langs/dist/tsx.d.mts +3 -0
  756. package/node_modules/shiki/node_modules/@shikijs/langs/dist/tsx.mjs +5 -0
  757. package/node_modules/shiki/node_modules/@shikijs/langs/dist/turtle.d.mts +3 -0
  758. package/node_modules/shiki/node_modules/@shikijs/langs/dist/turtle.mjs +5 -0
  759. package/node_modules/shiki/node_modules/@shikijs/langs/dist/twig.d.mts +3 -0
  760. package/node_modules/shiki/node_modules/@shikijs/langs/dist/twig.mjs +18 -0
  761. package/node_modules/shiki/node_modules/@shikijs/langs/dist/typ.d.mts +3 -0
  762. package/node_modules/shiki/node_modules/@shikijs/langs/dist/typ.mjs +2 -0
  763. package/node_modules/shiki/node_modules/@shikijs/langs/dist/typescript.d.mts +3 -0
  764. package/node_modules/shiki/node_modules/@shikijs/langs/dist/typescript.mjs +5 -0
  765. package/node_modules/shiki/node_modules/@shikijs/langs/dist/typespec.d.mts +3 -0
  766. package/node_modules/shiki/node_modules/@shikijs/langs/dist/typespec.mjs +5 -0
  767. package/node_modules/shiki/node_modules/@shikijs/langs/dist/typst.d.mts +3 -0
  768. package/node_modules/shiki/node_modules/@shikijs/langs/dist/typst.mjs +5 -0
  769. package/node_modules/shiki/node_modules/@shikijs/langs/dist/v.d.mts +3 -0
  770. package/node_modules/shiki/node_modules/@shikijs/langs/dist/v.mjs +5 -0
  771. package/node_modules/shiki/node_modules/@shikijs/langs/dist/vala.d.mts +3 -0
  772. package/node_modules/shiki/node_modules/@shikijs/langs/dist/vala.mjs +5 -0
  773. package/node_modules/shiki/node_modules/@shikijs/langs/dist/vb.d.mts +3 -0
  774. package/node_modules/shiki/node_modules/@shikijs/langs/dist/vb.mjs +5 -0
  775. package/node_modules/shiki/node_modules/@shikijs/langs/dist/verilog.d.mts +3 -0
  776. package/node_modules/shiki/node_modules/@shikijs/langs/dist/verilog.mjs +5 -0
  777. package/node_modules/shiki/node_modules/@shikijs/langs/dist/vhdl.d.mts +3 -0
  778. package/node_modules/shiki/node_modules/@shikijs/langs/dist/vhdl.mjs +5 -0
  779. package/node_modules/shiki/node_modules/@shikijs/langs/dist/vim.d.mts +3 -0
  780. package/node_modules/shiki/node_modules/@shikijs/langs/dist/vim.mjs +2 -0
  781. package/node_modules/shiki/node_modules/@shikijs/langs/dist/viml.d.mts +3 -0
  782. package/node_modules/shiki/node_modules/@shikijs/langs/dist/viml.mjs +5 -0
  783. package/node_modules/shiki/node_modules/@shikijs/langs/dist/vimscript.d.mts +3 -0
  784. package/node_modules/shiki/node_modules/@shikijs/langs/dist/vimscript.mjs +2 -0
  785. package/node_modules/shiki/node_modules/@shikijs/langs/dist/vue-directives.d.mts +3 -0
  786. package/node_modules/shiki/node_modules/@shikijs/langs/dist/vue-directives.mjs +5 -0
  787. package/node_modules/shiki/node_modules/@shikijs/langs/dist/vue-html.d.mts +3 -0
  788. package/node_modules/shiki/node_modules/@shikijs/langs/dist/vue-html.mjs +8 -0
  789. package/node_modules/shiki/node_modules/@shikijs/langs/dist/vue-interpolations.d.mts +3 -0
  790. package/node_modules/shiki/node_modules/@shikijs/langs/dist/vue-interpolations.mjs +5 -0
  791. package/node_modules/shiki/node_modules/@shikijs/langs/dist/vue-sfc-style-variable-injection.d.mts +3 -0
  792. package/node_modules/shiki/node_modules/@shikijs/langs/dist/vue-sfc-style-variable-injection.mjs +8 -0
  793. package/node_modules/shiki/node_modules/@shikijs/langs/dist/vue-vine.d.mts +3 -0
  794. package/node_modules/shiki/node_modules/@shikijs/langs/dist/vue-vine.mjs +18 -0
  795. package/node_modules/shiki/node_modules/@shikijs/langs/dist/vue.d.mts +3 -0
  796. package/node_modules/shiki/node_modules/@shikijs/langs/dist/vue.mjs +26 -0
  797. package/node_modules/shiki/node_modules/@shikijs/langs/dist/vy.d.mts +3 -0
  798. package/node_modules/shiki/node_modules/@shikijs/langs/dist/vy.mjs +2 -0
  799. package/node_modules/shiki/node_modules/@shikijs/langs/dist/vyper.d.mts +3 -0
  800. package/node_modules/shiki/node_modules/@shikijs/langs/dist/vyper.mjs +5 -0
  801. package/node_modules/shiki/node_modules/@shikijs/langs/dist/wasm.d.mts +3 -0
  802. package/node_modules/shiki/node_modules/@shikijs/langs/dist/wasm.mjs +5 -0
  803. package/node_modules/shiki/node_modules/@shikijs/langs/dist/wenyan.d.mts +3 -0
  804. package/node_modules/shiki/node_modules/@shikijs/langs/dist/wenyan.mjs +5 -0
  805. package/node_modules/shiki/node_modules/@shikijs/langs/dist/wgsl.d.mts +3 -0
  806. package/node_modules/shiki/node_modules/@shikijs/langs/dist/wgsl.mjs +5 -0
  807. package/node_modules/shiki/node_modules/@shikijs/langs/dist/wiki.d.mts +3 -0
  808. package/node_modules/shiki/node_modules/@shikijs/langs/dist/wiki.mjs +2 -0
  809. package/node_modules/shiki/node_modules/@shikijs/langs/dist/wikitext.d.mts +3 -0
  810. package/node_modules/shiki/node_modules/@shikijs/langs/dist/wikitext.mjs +5 -0
  811. package/node_modules/shiki/node_modules/@shikijs/langs/dist/wit.d.mts +3 -0
  812. package/node_modules/shiki/node_modules/@shikijs/langs/dist/wit.mjs +5 -0
  813. package/node_modules/shiki/node_modules/@shikijs/langs/dist/wl.d.mts +3 -0
  814. package/node_modules/shiki/node_modules/@shikijs/langs/dist/wl.mjs +2 -0
  815. package/node_modules/shiki/node_modules/@shikijs/langs/dist/wolfram.d.mts +3 -0
  816. package/node_modules/shiki/node_modules/@shikijs/langs/dist/wolfram.mjs +5 -0
  817. package/node_modules/shiki/node_modules/@shikijs/langs/dist/xml.d.mts +3 -0
  818. package/node_modules/shiki/node_modules/@shikijs/langs/dist/xml.mjs +8 -0
  819. package/node_modules/shiki/node_modules/@shikijs/langs/dist/xsl.d.mts +3 -0
  820. package/node_modules/shiki/node_modules/@shikijs/langs/dist/xsl.mjs +8 -0
  821. package/node_modules/shiki/node_modules/@shikijs/langs/dist/yaml.d.mts +3 -0
  822. package/node_modules/shiki/node_modules/@shikijs/langs/dist/yaml.mjs +5 -0
  823. package/node_modules/shiki/node_modules/@shikijs/langs/dist/yml.d.mts +3 -0
  824. package/node_modules/shiki/node_modules/@shikijs/langs/dist/yml.mjs +2 -0
  825. package/node_modules/shiki/node_modules/@shikijs/langs/dist/zenscript.d.mts +3 -0
  826. package/node_modules/shiki/node_modules/@shikijs/langs/dist/zenscript.mjs +5 -0
  827. package/node_modules/shiki/node_modules/@shikijs/langs/dist/zig.d.mts +3 -0
  828. package/node_modules/shiki/node_modules/@shikijs/langs/dist/zig.mjs +5 -0
  829. package/node_modules/shiki/node_modules/@shikijs/langs/dist/zsh.d.mts +3 -0
  830. package/node_modules/shiki/node_modules/@shikijs/langs/dist/zsh.mjs +2 -0
  831. package/node_modules/shiki/node_modules/@shikijs/langs/package.json +384 -0
  832. package/node_modules/shiki/node_modules/@shikijs/types/LICENSE +22 -0
  833. package/node_modules/shiki/node_modules/@shikijs/types/README.md +7 -0
  834. package/node_modules/shiki/node_modules/@shikijs/types/dist/index.d.mts +885 -0
  835. package/node_modules/shiki/node_modules/@shikijs/types/dist/index.mjs +8 -0
  836. package/node_modules/shiki/node_modules/@shikijs/types/package.json +36 -0
  837. package/npm-shrinkwrap.json +90 -14
  838. package/package.json +10 -8
@@ -0,0 +1,8 @@
1
+ class ShikiError extends Error {
2
+ constructor(message) {
3
+ super(message);
4
+ this.name = "ShikiError";
5
+ }
6
+ }
7
+
8
+ export { ShikiError };
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "@shikijs/types",
3
+ "type": "module",
4
+ "version": "3.23.0",
5
+ "description": "Type definitions for Shiki",
6
+ "author": "Anthony Fu <anthonyfu117@hotmail.com>",
7
+ "license": "MIT",
8
+ "homepage": "https://github.com/shikijs/shiki#readme",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/shikijs/shiki.git",
12
+ "directory": "packages/types"
13
+ },
14
+ "bugs": "https://github.com/shikijs/shiki/issues",
15
+ "keywords": [
16
+ "shiki"
17
+ ],
18
+ "sideEffects": false,
19
+ "exports": {
20
+ ".": "./dist/index.mjs"
21
+ },
22
+ "main": "./dist/index.mjs",
23
+ "module": "./dist/index.mjs",
24
+ "types": "./dist/index.d.mts",
25
+ "files": [
26
+ "dist"
27
+ ],
28
+ "dependencies": {
29
+ "@shikijs/vscode-textmate": "^10.0.2",
30
+ "@types/hast": "^3.0.4"
31
+ },
32
+ "scripts": {
33
+ "build": "unbuild",
34
+ "dev": "unbuild --stub"
35
+ }
36
+ }
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Apex\",\"fileTypes\":[\"apex\",\"cls\",\"trigger\"],\"name\":\"apex\",\"patterns\":[{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"},{\"include\":\"#directives\"},{\"include\":\"#declarations\"},{\"include\":\"#script-top-level\"}],\"repository\":{\"annotation-declaration\":{\"begin\":\"(@[_[:alpha:]]+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.annotation.apex\"}},\"end\":\"(?=\\\\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\":\"#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\"},\"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\"}]},\"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\"}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Apex\",\"fileTypes\":[\"apex\",\"cls\",\"trigger\"],\"name\":\"apex\",\"patterns\":[{\"include\":\"#javadoc-comment\"},{\"include\":\"#comment\"},{\"include\":\"#directives\"},{\"include\":\"#declarations\"},{\"include\":\"#script-top-level\"}],\"repository\":{\"annotation-declaration\":{\"begin\":\"(@[_[:alpha:]]+)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.annotation.apex\"}},\"end\":\"(?=\\\\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\"}"))
2
2
 
3
3
  export default [
4
4
  lang
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"BIRD2 Configuration\",\"fileTypes\":[\"conf\",\"bird\",\"bird2\",\"bird3\",\"bird.conf\",\"bird2.conf\",\"bird3.conf\"],\"foldingStartMarker\":\"\\\\{\\\\s*$\",\"foldingStopMarker\":\"^\\\\s*}\",\"name\":\"bird2\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#strings\"},{\"include\":\"#numbers\"},{\"include\":\"#ip-addresses\"},{\"include\":\"#vpn-rd\"},{\"include\":\"#bytestrings\"},{\"include\":\"#bgp-paths\"},{\"include\":\"#prefixes\"},{\"include\":\"#template-definitions\"},{\"include\":\"#filter-definitions\"},{\"include\":\"#function-definitions\"},{\"include\":\"#protocol-definitions\"},{\"include\":\"#next-hop-statements\"},{\"include\":\"#neighbor-statements\"},{\"include\":\"#import-export-statements\"},{\"include\":\"#structural-keywords\"},{\"include\":\"#functional-keywords\"},{\"include\":\"#semantic-modifiers\"},{\"include\":\"#builtin-functions\"},{\"include\":\"#method-properties\"},{\"include\":\"#route-attributes\"},{\"include\":\"#data-types\"},{\"include\":\"#operators\"},{\"include\":\"#constants\"},{\"include\":\"#filter-names\"},{\"include\":\"#user-variables\"},{\"include\":\"#function-calls\"},{\"include\":\"#method-calls\"},{\"include\":\"#variable-declarations\"},{\"include\":\"#symbols\"},{\"include\":\"#blocks\"},{\"include\":\"#print-statements\"}],\"repository\":{\"bgp-paths\":{\"patterns\":[{\"begin\":\"\\\\[=\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.bgp-path.begin.bird\"}},\"end\":\"=]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.bgp-path.end.bird\"}},\"name\":\"meta.bgp-path.bird\",\"patterns\":[{\"match\":\"[*+?]\",\"name\":\"keyword.operator.wildcard.bird\"},{\"match\":\"\\\\b[0-9]+\\\\b\",\"name\":\"constant.numeric.asn.bird\"},{\"include\":\"#numbers\"}]}]},\"blocks\":{\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.begin.bird\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.end.bird\"}},\"name\":\"meta.block.bird\",\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.set.begin.bird\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.set.end.bird\"}},\"name\":\"meta.set.bird\",\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tuple.begin.bird\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tuple.end.bird\"}},\"name\":\"meta.tuple.bird\",\"patterns\":[{\"include\":\"$self\"}]},{\"match\":\";\",\"name\":\"punctuation.terminator.statement.bird\"},{\"match\":\",\",\"name\":\"punctuation.separator.bird\"}]},\"builtin-functions\":{\"patterns\":[{\"match\":\"\\\\b(?:defined|unset|printn??|roa_check|aspa_check|aspa_check_downstream|aspa_check_upstream|from_hex|format|prepend|add|delete|filter|empty|reset|bt_assert|bt_test_suite|bt_test_same)\\\\b\",\"name\":\"support.function.builtin.bird\"}]},\"bytestrings\":{\"patterns\":[{\"match\":\"\\\\b(?:hex:)?(?:\\\\h{2}[-.:\\\\s]*){2,}\\\\h{2}\\\\b\",\"name\":\"constant.numeric.bytestring.bird\"},{\"match\":\"\\\\b\\\\h{32,}\\\\b\",\"name\":\"constant.numeric.bytestring.bird\"}]},\"comments\":{\"patterns\":[{\"begin\":\"#\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.bird\"}},\"end\":\"$\",\"name\":\"comment.line.number-sign.bird\"},{\"begin\":\"/\\\\*\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.begin.bird\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.bird\"}},\"name\":\"comment.block.bird\"}]},\"constants\":{\"patterns\":[{\"match\":\"\\\\b(?:on|off|yes|no|true|false)\\\\b\",\"name\":\"constant.language.boolean.bird\"},{\"match\":\"\\\\b(?:empty|unknown|generic|rt|ro|one|ten)\\\\b\",\"name\":\"constant.language.special.bird\"},{\"match\":\"\\\\bSCOPE_(?:HOST|LINK|SITE|ORGANIZATION|UNIVERSE)\\\\b\",\"name\":\"constant.language.scope.bird\"},{\"match\":\"\\\\bRTS_(?:STATIC|INHERIT|DEVICE|RIP|OSPF|OSPF_IA|OSPF_EXT1|OSPF_EXT2|BGP|PIPE|BABEL)\\\\b\",\"name\":\"constant.language.source.bird\"},{\"match\":\"\\\\bRTD_(?:ROUTER|DEVICE|MULTIPATH|BLACKHOLE|UNREACHABLE|PROHIBIT)\\\\b\",\"name\":\"constant.language.dest.bird\"},{\"match\":\"\\\\bROA_(?:UNKNOWN|INVALID|VALID)\\\\b\",\"name\":\"constant.language.roa.bird\"},{\"match\":\"\\\\bASPA_(?:UNKNOWN|INVALID|VALID)\\\\b\",\"name\":\"constant.language.aspa.bird\"},{\"match\":\"\\\\bNET_(?:IP4|IP6|IP6_SADR|VPN4|VPN6|ROA4|ROA6|FLOW4|FLOW6|MPLS)\\\\b\",\"name\":\"constant.language.net-type.bird\"},{\"match\":\"\\\\bMPLS_POLICY_(?:NONE|STATIC|PREFIX|AGGREGATE|VRF)\\\\b\",\"name\":\"constant.language.mpls.bird\"}]},\"data-types\":{\"patterns\":[{\"match\":\"\\\\b(?:int|bool|ip|prefix|rd|pair|quad|ec|lc|string|bytestring|bgpmask|bgppath|clist|eclist|lclist|set|enum|route)\\\\b\",\"name\":\"storage.type.bird\"}]},\"filter-definitions\":{\"patterns\":[{\"begin\":\"\\\\b(filter)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.filter.bird\"},\"2\":{\"name\":\"entity.name.function.filter.bird\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.end.bird\"}},\"name\":\"meta.filter-definition.bird\",\"patterns\":[{\"include\":\"$self\"}]}]},\"filter-names\":{\"patterns\":[{\"match\":\"\\\\b[A-Z_a-z][0-9A-Z_a-z]*_filter\\\\b\",\"name\":\"entity.name.function.filter.bird\"}]},\"function-calls\":{\"patterns\":[{\"begin\":\"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\(\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.call.bird\"}},\"end\":\"\\\\)\",\"name\":\"meta.function-call.bird\",\"patterns\":[{\"include\":\"$self\"}]}]},\"function-definitions\":{\"patterns\":[{\"begin\":\"\\\\b(function)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\(\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.function.bird\"},\"2\":{\"name\":\"entity.name.function.user-defined.bird\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.end.bird\"}},\"name\":\"meta.function-definition.bird\",\"patterns\":[{\"begin\":\"\\\\G(?=\\\\()\",\"end\":\"\\\\)\",\"name\":\"meta.function-parameters.bird\",\"patterns\":[{\"include\":\"#data-types\"},{\"include\":\"#symbols\"}]},{\"begin\":\"->\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.return-type.bird\"}},\"end\":\"(?=\\\\{)\",\"name\":\"meta.function-return-type.bird\",\"patterns\":[{\"include\":\"#data-types\"}]},{\"include\":\"$self\"}]}]},\"functional-keywords\":{\"patterns\":[{\"match\":\"\\\\b(?:static|rip|ospf|bgp|babel|rpki|bfd|device|direct|kernel|pipe|perf|mrt|aggregator|l3vpn|radv)\\\\b\",\"name\":\"keyword.control.protocol-type.bird\"},{\"match\":\"\\\\b(?:graceful|restart|preference|disabled|hold|keepalive|connect|retry|start|delay|error|wait|forget|scan|randomize|router|id)\\\\b\",\"name\":\"keyword.control.routing.bird\"},{\"match\":\"\\\\b(?:interface|type|wired|wireless|tunnel|rxcost|limit|hello|update|interval|port|tx|class|dscp|priority|rx|buffer|length|check|link|rtt|cost|min|max|decay|send|timestamps)\\\\b\",\"name\":\"keyword.other.interface.bird\"},{\"match\":\"\\\\b(?:authentication|none|mac|permissive|password|generate|accept|from|to|algorithm|hmac|sha1|sha256|sha384|sha512|blake2s128|blake2s256|blake2b256|blake2b512)\\\\b\",\"name\":\"keyword.other.auth.bird\"},{\"match\":\"\\\\btime\\\\b\",\"name\":\"keyword.other.time.bird\"},{\"match\":\"\\\\b(?:hostname|description|debug|log|syslog|stderr|bird|protocols|tables|channels|timeouts|passwords|bfd|confederation|cluster|stub|dead|neighbors|area|md5|multihop|passive|rfc1583compat|tick|ls|retransmit|transmit|ack|state|database|summary|external|nssa|translator|always|candidate|never|role|stability|election|action|warn|block|disable|keep|filtered|receive|modify|add|delete|withdraw|unreachable|blackhole|prohibit|unreach|igp_metric|localpref|med|origin|community|large_community|ext_community|as_path|prepend|weight|gateway|scope|onlink|recursive|multipath|igp|channel|sadr|src|learn|persist|via|ng)\\\\b\",\"name\":\"keyword.other.config.bird\"},{\"match\":\"\\\\b(?:flow4|flow6|dst|src|proto|header|dport|sport|icmp|code|tcp|flags|dscp|dont_fragment|is_fragment|first_fragment|last_fragment|fragment|label|offset)\\\\b\",\"name\":\"keyword.other.flowspec.bird\"},{\"match\":\"\\\\b(?:vpn|mpls|aspa|roa6??)\\\\b\",\"name\":\"keyword.other.address.bird\"},{\"match\":\"\\\\b(?:all|none)\\\\b\",\"name\":\"keyword.other.quick-declaration.bird\"}]},\"import-export-statements\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.import-export.bird\"},\"2\":{\"name\":\"keyword.control.filter.bird\"},\"3\":{\"name\":\"entity.name.function.filter.bird\"}},\"match\":\"\\\\b(import)\\\\s+(filter)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\b\",\"name\":\"meta.import-statement.bird\"},{\"begin\":\"\\\\b(import)\\\\s+(filter)\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.import-export.bird\"},\"2\":{\"name\":\"keyword.control.filter.bird\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.end.bird\"}},\"name\":\"meta.import-filter-inline.bird\",\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"\\\\b(export)\\\\s+(where)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.import-export.bird\"},\"2\":{\"name\":\"keyword.control.where.bird\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.terminator.statement.bird\"}},\"name\":\"meta.export-where-clause.bird\",\"patterns\":[{\"include\":\"$self\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.control.import-export.bird\"},\"2\":{\"name\":\"keyword.control.filter.bird\"},\"3\":{\"name\":\"entity.name.function.filter.bird\"}},\"match\":\"\\\\b(export)\\\\s+(filter)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\b\",\"name\":\"meta.export-statement.bird\"}]},\"ip-addresses\":{\"patterns\":[{\"match\":\"\\\\b(?:[0-9]{1,3}\\\\.){3}[0-9]{1,3}(?:/[0-9]{1,2})?\\\\b\",\"name\":\"constant.numeric.ip.ipv4.bird\"},{\"match\":\"\\\\b(?:\\\\h{0,4}:){2,7}\\\\h{0,4}(?:/[0-9]{1,3})?\\\\b\",\"name\":\"constant.numeric.ip.ipv6.bird\"},{\"match\":\"::(?:\\\\h{0,4}:){0,6}\\\\h{0,4}(?:/[0-9]{1,3})?\\\\b\",\"name\":\"constant.numeric.ip.ipv6.bird\"},{\"match\":\"(?:\\\\h{0,4}:){1,6}::(?:\\\\h{0,4}:){0,5}\\\\h{0,4}(?:/[0-9]{1,3})?\\\\b\",\"name\":\"constant.numeric.ip.ipv6.bird\"}]},\"method-calls\":{\"patterns\":[{\"begin\":\"\\\\.\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\(\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.method.bird\"}},\"end\":\"\\\\)\",\"name\":\"meta.method-call.bird\",\"patterns\":[{\"include\":\"$self\"}]},{\"captures\":{\"1\":{\"name\":\"variable.other.property.bird\"}},\"match\":\"\\\\.\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\",\"name\":\"meta.method-access.bird\"}]},\"method-properties\":{\"patterns\":[{\"match\":\"\\\\b(?:first|last|last_nonaggregated|len|asn|data1??|data2|is_v4|ip|src|dst|rd|maxlen|type|mask|min|max)\\\\b\",\"name\":\"support.variable.property.bird\"}]},\"neighbor-statements\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.neighbor.bird\"},\"2\":{\"name\":\"constant.numeric.ip-address.bird\"},\"3\":{\"name\":\"meta.interface-reference.bird\"},\"4\":{\"name\":\"string.quoted.single.interface.bird\"},\"5\":{\"name\":\"keyword.control.as.bird\"},\"6\":{\"name\":\"constant.numeric.asn.bird\"}},\"match\":\"\\\\b(neighbor)\\\\s+([.:\\\\h]+)\\\\s*(%\\\\s*'([^']+)')?\\\\s+(as)\\\\s+([0-9]+)\\\\b\",\"name\":\"meta.neighbor-statement.bird\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.source.bird\"},\"2\":{\"name\":\"constant.numeric.ip-address.bird\"}},\"match\":\"\\\\b(source address)\\\\s+([.:\\\\h]+)\\\\b\",\"name\":\"meta.source-address-statement.bird\"}]},\"next-hop-statements\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.routing.bird\"},\"2\":{\"name\":\"keyword.other.ip-version.bird\"},\"3\":{\"name\":\"constant.numeric.ip-address.bird\"}},\"match\":\"\\\\b(next hop)\\\\s+(ipv4)\\\\s+([.0-9]+)\\\\b\",\"name\":\"meta.next-hop-ipv4.bird\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.routing.bird\"},\"2\":{\"name\":\"keyword.other.ip-version.bird\"},\"3\":{\"name\":\"constant.numeric.ip-address.bird\"}},\"match\":\"\\\\b(next hop)\\\\s+(ipv6)\\\\s+([:\\\\h]+)\\\\b\",\"name\":\"meta.next-hop-ipv6.bird\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.routing.bird\"},\"2\":{\"name\":\"keyword.other.semantic-modifier.bird\"}},\"match\":\"\\\\b(next hop)\\\\s+(self)\\\\b\",\"name\":\"meta.next-hop-simple.bird\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.routing.bird\"},\"2\":{\"name\":\"keyword.other.semantic-modifier.bird\"}},\"match\":\"\\\\b(extended next hop)\\\\s+(o(?:n|ff))\\\\b\",\"name\":\"meta.extended-next-hop-statement.bird\"}]},\"numbers\":{\"patterns\":[{\"match\":\"\\\\b0x\\\\h+\\\\b\",\"name\":\"constant.numeric.hex.bird\"},{\"match\":\"\\\\b[0-9]+\\\\b\",\"name\":\"constant.numeric.decimal.bird\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.unit.bird\"}},\"match\":\"\\\\b[0-9]+\\\\s*([mu]??s)\\\\b\",\"name\":\"constant.numeric.time.bird\"}]},\"operators\":{\"patterns\":[{\"match\":\"==|!=|<=|>=|[<=>~]|!~\",\"name\":\"keyword.operator.comparison.bird\"},{\"match\":\"&&|\\\\|\\\\||!|->\",\"name\":\"keyword.operator.logical.bird\"},{\"match\":\"[-%*+/]\",\"name\":\"keyword.operator.arithmetic.bird\"},{\"match\":\"\\\\.\\\\.\",\"name\":\"keyword.operator.range.bird\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.bird\"},{\"match\":\"\\\\.\",\"name\":\"keyword.operator.accessor.bird\"}]},\"prefixes\":{\"patterns\":[{\"match\":\"\\\\b(?:(?:[0-9]{1,3}\\\\.){3}[0-9]{1,3}|(?:\\\\h{0,4}:)+\\\\h{0,4})/[0-9]{1,3}(?:[-+]|\\\\{[0-9]+,[0-9]+})?\\\\b\",\"name\":\"constant.numeric.prefix.bird\"}]},\"print-statements\":{\"patterns\":[{\"begin\":\"\\\\b(printn??)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.print.bird\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.terminator.statement.bird\"}},\"name\":\"meta.print-statement.bird\",\"patterns\":[{\"include\":\"$self\"}]}]},\"protocol-definitions\":{\"patterns\":[{\"begin\":\"\\\\b(protocol)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s+(from)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.protocol.bird\"},\"2\":{\"name\":\"entity.name.type.protocol.bird\"},\"3\":{\"name\":\"entity.name.function.protocol.bird\"},\"4\":{\"name\":\"keyword.control.template-reference.bird\"},\"5\":{\"name\":\"entity.name.function.template.bird\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.end.bird\"}},\"name\":\"meta.protocol-definition-with-template.bird\",\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"\\\\b(protocol)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.protocol.bird\"},\"2\":{\"name\":\"entity.name.type.protocol.bird\"},\"3\":{\"name\":\"entity.name.function.protocol.bird\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.end.bird\"}},\"name\":\"meta.protocol-definition-with-name.bird\",\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"\\\\b(protocol)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.protocol.bird\"},\"2\":{\"name\":\"entity.name.type.protocol.bird\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.end.bird\"}},\"name\":\"meta.protocol-definition-anonymous.bird\",\"patterns\":[{\"include\":\"$self\"}]}]},\"route-attributes\":{\"patterns\":[{\"match\":\"\\\\b(?:net|scope|preference|from|gw|proto|source|dest|ifname|ifindex|weight|gw_mpls|gw_mpls_stack|onlink|igp_metric|mpls_label|mpls_policy|mpls_class|bgp_path|bgp_origin|bgp_next_hop|bgp_med|bgp_local_pref|bgp_community|bgp_ext_community|bgp_large_community|bgp_originator_id|bgp_cluster_list|ospf_metric1|ospf_metric2|ospf_tag|ospf_router_id|rip_metric|rip_tag|mypath|mylclist)\\\\b\",\"name\":\"support.variable.route-attribute.bird\"}]},\"semantic-modifiers\":{\"patterns\":[{\"match\":\"\\\\b(?:self|on|off|remote|extended)\\\\b\",\"name\":\"keyword.other.semantic-modifier.bird\"}]},\"strings\":{\"patterns\":[{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.bird\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.bird\"}},\"name\":\"string.quoted.double.bird\",\"patterns\":[{\"match\":\"\\\\.\",\"name\":\"constant.character.escape.bird\"}]},{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.bird\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.bird\"}},\"name\":\"string.quoted.single.bird\"}]},\"structural-keywords\":{\"patterns\":[{\"match\":\"\\\\b(?:if|then|else|case|for|do|while|break|continue|return|in)\\\\b\",\"name\":\"keyword.control.bird\"},{\"match\":\"\\\\belse\\\\s*:\",\"name\":\"keyword.control.case.else.bird\"},{\"match\":\"\\\\b(?:accept|reject|error)\\\\b\",\"name\":\"keyword.control.flow.bird\"},{\"match\":\"\\\\b(?:protocol|table|define|include|attribute|eval|ipv4|ipv6|local|as|from|where|cost|limit|action)\\\\b\",\"name\":\"keyword.control.structure.bird\"}]},\"symbols\":{\"patterns\":[{\"match\":\"\\\\b[A-Z_a-z][0-9A-Z_a-z]*\\\\b\",\"name\":\"variable.other.bird\"}]},\"template-definitions\":{\"patterns\":[{\"begin\":\"\\\\b(template)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.template.bird\"},\"2\":{\"name\":\"entity.name.type.protocol.bird\"},\"3\":{\"name\":\"entity.name.function.template.bird\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.end.bird\"}},\"name\":\"meta.template-definition.bird\",\"patterns\":[{\"include\":\"$self\"}]}]},\"user-variables\":{\"patterns\":[{\"match\":\"\\\\b[A-Z][0-9A-Z_a-z]*\\\\b\",\"name\":\"variable.other.user-defined.bird\"}]},\"variable-declarations\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.type.bird\"},\"2\":{\"name\":\"variable.other.declaration.bird\"}},\"match\":\"\\\\b(int|bool|ip|prefix|rd|pair|quad|ec|lc|string|bytestring|bgpmask|bgppath|clist|eclist|lclist|set|enum|route)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)(?:\\\\s*=|;)\",\"name\":\"meta.variable-declaration.bird\"}]},\"vpn-rd\":{\"match\":\"\\\\b(?:[0-9]+:[0-9]+|[012]:[0-9]+:[0-9]+|(?:[0-9]{1,3}\\\\.){3}[0-9]{1,3}:[0-9]+)\\\\b\",\"name\":\"constant.numeric.vpn-rd.bird\"}},\"scopeName\":\"source.bird2\",\"aliases\":[\"bird\"]}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"BIRD2 Configuration\",\"fileTypes\":[\"conf\",\"bird\",\"bird2\",\"bird3\",\"bird.conf\",\"bird2.conf\",\"bird3.conf\"],\"foldingStartMarker\":\"\\\\{\\\\s*$\",\"foldingStopMarker\":\"^\\\\s*}\",\"name\":\"bird2\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#strings\"},{\"include\":\"#ip-addresses\"},{\"include\":\"#prefixes\"},{\"include\":\"#vpn-rd\"},{\"include\":\"#bytestrings\"},{\"include\":\"#bgp-paths\"},{\"include\":\"#print-statements\"},{\"include\":\"#template-definitions\"},{\"include\":\"#filter-definitions\"},{\"include\":\"#function-definitions\"},{\"include\":\"#protocol-definitions\"},{\"include\":\"#next-hop-statements\"},{\"include\":\"#neighbor-statements\"},{\"include\":\"#import-export-statements\"},{\"include\":\"#variable-declarations\"},{\"include\":\"#method-calls\"},{\"include\":\"#function-calls\"},{\"include\":\"#method-properties\"},{\"include\":\"#route-attributes\"},{\"include\":\"#data-types\"},{\"include\":\"#constants\"},{\"include\":\"#structural-keywords\"},{\"include\":\"#protocol-phrases\"},{\"include\":\"#functional-keywords\"},{\"include\":\"#semantic-modifiers\"},{\"include\":\"#builtin-functions\"},{\"include\":\"#filter-names\"},{\"include\":\"#user-variables\"},{\"include\":\"#operators\"},{\"include\":\"#numbers\"},{\"include\":\"#symbols\"},{\"include\":\"#blocks\"}],\"repository\":{\"bgp-paths\":{\"patterns\":[{\"begin\":\"\\\\[=\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.bgp-path.begin.bird\"}},\"end\":\"=]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.bgp-path.end.bird\"}},\"name\":\"meta.bgp-path.bird\",\"patterns\":[{\"match\":\"[*+?]\",\"name\":\"keyword.operator.wildcard.bird\"},{\"match\":\"\\\\b[0-9]+\\\\b\",\"name\":\"constant.numeric.asn.bird\"},{\"include\":\"#operators\"},{\"include\":\"#symbols\"}]}]},\"blocks\":{\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.begin.bird\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.end.bird\"}},\"name\":\"meta.block.bird\",\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.set.begin.bird\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.set.end.bird\"}},\"name\":\"meta.set.bird\",\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tuple.begin.bird\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tuple.end.bird\"}},\"name\":\"meta.tuple.bird\",\"patterns\":[{\"include\":\"$self\"}]},{\"match\":\";\",\"name\":\"punctuation.terminator.statement.bird\"},{\"match\":\",\",\"name\":\"punctuation.separator.bird\"}]},\"builtin-functions\":{\"patterns\":[{\"match\":\"\\\\b(?:defined|unset|roa_check|aspa_check|aspa_check_downstream|aspa_check_upstream|from_hex|format|append|prepend|add|delete|empty|reset|bt_assert|bt_test_suite|bt_test_same)\\\\b\",\"name\":\"support.function.builtin.bird\"}]},\"bytestrings\":{\"patterns\":[{\"match\":\"\\\\bhex:\\\\h{2}(?:[-.:\\\\s]*\\\\h{2})*\\\\b\",\"name\":\"constant.numeric.bytestring.bird\"},{\"match\":\"\\\\b(?:\\\\h{2}[-.:\\\\s]*){15,}\\\\h{2}\\\\b\",\"name\":\"constant.numeric.bytestring.bird\"},{\"match\":\"\\\\b\\\\h{32,}\\\\b\",\"name\":\"constant.numeric.bytestring.bird\"}]},\"comments\":{\"patterns\":[{\"begin\":\"#\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.bird\"}},\"end\":\"$\",\"name\":\"comment.line.number-sign.bird\"},{\"begin\":\"/\\\\*\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.begin.bird\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.bird\"}},\"name\":\"comment.block.bird\"}]},\"constants\":{\"patterns\":[{\"match\":\"\\\\b(?:on|off|yes|no|true|false)\\\\b\",\"name\":\"constant.language.boolean.bird\"},{\"match\":\"\\\\b(?:empty|unknown|generic|rt|ro|one|ten)\\\\b\",\"name\":\"constant.language.special.bird\"},{\"match\":\"\\\\bSCOPE_(?:HOST|LINK|SITE|ORGANIZATION|UNIVERSE)\\\\b\",\"name\":\"constant.language.scope.bird\"},{\"match\":\"\\\\bRTS_(?:STATIC|INHERIT|DEVICE|RIP|OSPF|OSPF_IA|OSPF_EXT1|OSPF_EXT2|BGP|PIPE|BABEL)\\\\b\",\"name\":\"constant.language.source.bird\"},{\"match\":\"\\\\bRTD_(?:ROUTER|DEVICE|MULTIPATH|BLACKHOLE|UNREACHABLE|PROHIBIT)\\\\b\",\"name\":\"constant.language.dest.bird\"},{\"match\":\"\\\\bROA_(?:UNKNOWN|INVALID|VALID)\\\\b\",\"name\":\"constant.language.roa.bird\"},{\"match\":\"\\\\bASPA_(?:UNKNOWN|INVALID|VALID)\\\\b\",\"name\":\"constant.language.aspa.bird\"},{\"match\":\"\\\\bNET_(?:IP4|IP6|IP6_SADR|VPN4|VPN6|ROA4|ROA6|FLOW4|FLOW6|MPLS)\\\\b\",\"name\":\"constant.language.net-type.bird\"},{\"match\":\"\\\\bMPLS_POLICY_(?:NONE|STATIC|PREFIX|AGGREGATE|VRF)\\\\b\",\"name\":\"constant.language.mpls.bird\"}]},\"data-types\":{\"patterns\":[{\"match\":\"\\\\b(?:(?:int|pair|quad|ip|prefix|ec|lc|rd|enum)\\\\s+set|int|bool|ip|prefix|rd|pair|quad|ec|lc|string|bytestring|bgpmask|bgppath|clist|eclist|lclist|set|enum|route)\\\\b\",\"name\":\"storage.type.bird\"}]},\"filter-definitions\":{\"patterns\":[{\"begin\":\"\\\\b(filter)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.filter.bird\"},\"2\":{\"name\":\"entity.name.function.filter.bird\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.end.bird\"}},\"name\":\"meta.filter-definition.bird\",\"patterns\":[{\"include\":\"$self\"}]}]},\"filter-names\":{\"patterns\":[{\"match\":\"\\\\b[A-Z_a-z][0-9A-Z_a-z]*_filter\\\\b\",\"name\":\"entity.name.function.filter.bird\"}]},\"function-calls\":{\"patterns\":[{\"begin\":\"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\(\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.call.bird\"}},\"end\":\"\\\\)\",\"name\":\"meta.function-call.bird\",\"patterns\":[{\"include\":\"$self\"}]}]},\"function-definitions\":{\"patterns\":[{\"begin\":\"\\\\b(function)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')(?=\\\\s*\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.function.bird\"},\"2\":{\"name\":\"entity.name.function.user-defined.bird\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.end.bird\"}},\"name\":\"meta.function-definition.bird\",\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.begin.bird\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.bird\"}},\"name\":\"meta.function-parameters.bird\",\"patterns\":[{\"include\":\"#data-types\"},{\"include\":\"#symbols\"}]},{\"begin\":\"->\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.return-type.bird\"}},\"end\":\"(?=\\\\{)\",\"name\":\"meta.function-return-type.bird\",\"patterns\":[{\"include\":\"#data-types\"}]},{\"include\":\"$self\"}]}]},\"functional-keywords\":{\"patterns\":[{\"match\":\"\\\\b(?:static|rip|ospf|bgp|babel|rpki|bfd|bmp|device|direct|kernel|pipe|perf|mrt|aggregator|l3vpn|radv)\\\\b\",\"name\":\"keyword.control.protocol-type.bird\"},{\"match\":\"\\\\b(?:graceful|restart|preference|disabled|hold|keepalive|connect|retry|start|delay|error|wait|forget|scan|randomize|router|id)\\\\b\",\"name\":\"keyword.control.routing.bird\"},{\"match\":\"\\\\b(?:interface|type|wired|wireless|tunnel|rxcost|limit|hello|update|interval|port|tx|class|dscp|priority|rx|buffer|length|check|link|rtt|cost|min|max|decay|send|timestamps)\\\\b\",\"name\":\"keyword.other.interface.bird\"},{\"match\":\"\\\\b(?:(?:refresh|retry|expire|transport|ssh|tcp|user|address|version|ignore|private|public|key)|(?:local\\\\s+address|ignore\\\\s+max\\\\s+length|min\\\\s+version|max\\\\s+version|bird\\\\s+private\\\\s+key|remote\\\\s+public\\\\s+key))\\\\b\",\"name\":\"keyword.other.rpki.bird\"},{\"match\":\"\\\\b(?:authentication|none|mac|permissive|password|generate|accept|from|to|algorithm|hmac|sha1|sha256|sha384|sha512|blake2s128|blake2s256|blake2b256|blake2b512)\\\\b\",\"name\":\"keyword.other.auth.bird\"},{\"match\":\"\\\\btime\\\\b\",\"name\":\"keyword.other.time.bird\"},{\"match\":\"\\\\b(?:hostname|description|debug|log|syslog|stderr|bird|protocols|tables|channels|timeouts|passwords|bfd|confederation|cluster|stub|dead|neighbors|area|md5|multihop|passive|rfc1583compat|tick|ls|retransmit|transmit|ack|state|database|summary|external|nssa|translator|always|candidate|never|role|stability|election|action|warn|block|disable|keep|filtered|receive|modify|add|delete|withdraw|unreachable|blackhole|prohibit|unreach|igp_metric|localpref|med|origin|community|large_community|ext_community|as_path|prepend|weight|gateway|scope|onlink|recursive|multipath|igp|channel|sadr|src|learn|persist|via|ng)\\\\b\",\"name\":\"keyword.other.config.bird\"},{\"match\":\"\\\\b(?:flow4|flow6|dst|src|proto|header|dport|sport|icmp|code|tcp|flags|dscp|dont_fragment|is_fragment|first_fragment|last_fragment|fragment|label|offset)\\\\b\",\"name\":\"keyword.other.flowspec.bird\"},{\"match\":\"\\\\b(?:vpn4|vpn6|mpls|aspa|roa4|roa6)\\\\b\",\"name\":\"keyword.other.address.bird\"},{\"match\":\"\\\\b(?:all|none)\\\\b\",\"name\":\"keyword.other.quick-declaration.bird\"}]},\"import-export-statements\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.import-export.bird\"},\"2\":{\"name\":\"keyword.control.filter.bird\"},\"3\":{\"name\":\"entity.name.function.filter.bird\"}},\"match\":\"\\\\b(import)\\\\s+(filter)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\b\",\"name\":\"meta.import-statement.bird\"},{\"begin\":\"\\\\b(import)\\\\s+(filter)\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.import-export.bird\"},\"2\":{\"name\":\"keyword.control.filter.bird\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.end.bird\"}},\"name\":\"meta.import-filter-inline.bird\",\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"\\\\b(export)\\\\s+(where)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.import-export.bird\"},\"2\":{\"name\":\"keyword.control.where.bird\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.terminator.statement.bird\"}},\"name\":\"meta.export-where-clause.bird\",\"patterns\":[{\"include\":\"$self\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.control.import-export.bird\"},\"2\":{\"name\":\"keyword.control.filter.bird\"},\"3\":{\"name\":\"entity.name.function.filter.bird\"}},\"match\":\"\\\\b(export)\\\\s+(filter)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\b\",\"name\":\"meta.export-statement.bird\"}]},\"ip-addresses\":{\"patterns\":[{\"match\":\"\\\\b(?:[0-9]{1,3}\\\\.){3}[0-9]{1,3}(?:/[0-9]{1,2})?\\\\b\",\"name\":\"constant.numeric.ip.ipv4.bird\"},{\"match\":\"\\\\b(?:\\\\h{0,4}:){2,7}\\\\h{0,4}(?:/[0-9]{1,3})?\\\\b\",\"name\":\"constant.numeric.ip.ipv6.bird\"},{\"match\":\"::(?:\\\\h{0,4}:){0,6}\\\\h{0,4}(?:/[0-9]{1,3})?\\\\b\",\"name\":\"constant.numeric.ip.ipv6.bird\"},{\"match\":\"\\\\b(?:\\\\h{0,4}:){1,6}::(?:\\\\h{0,4}:){0,5}\\\\h{0,4}(?:/[0-9]{1,3})?\\\\b\",\"name\":\"constant.numeric.ip.ipv6.bird\"}]},\"method-calls\":{\"patterns\":[{\"begin\":\"\\\\.\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\(\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.method.bird\"}},\"end\":\"\\\\)\",\"name\":\"meta.method-call.bird\",\"patterns\":[{\"include\":\"$self\"}]},{\"captures\":{\"1\":{\"name\":\"variable.other.property.bird\"}},\"match\":\"\\\\.\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\",\"name\":\"meta.method-access.bird\"}]},\"method-properties\":{\"patterns\":[{\"match\":\"(?<=\\\\.)\\\\s*(?:first|last|last_nonaggregated|len|asn|data1??|data2|is_v4|ip|src|dst|rd|maxlen|type|mask|min|max)\\\\b(?!\\\\s*\\\\()\",\"name\":\"support.variable.property.bird\"}]},\"neighbor-statements\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.local.bird\"},\"2\":{\"name\":\"entity.name.symbol.local-address.bird\"},\"3\":{\"name\":\"keyword.control.port.bird\"},\"4\":{\"name\":\"constant.numeric.port.bird\"},\"5\":{\"name\":\"keyword.control.as.bird\"},\"6\":{\"name\":\"constant.numeric.asn.bird\"}},\"match\":\"\\\\b(local)\\\\s+([.:\\\\h]+|[A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')(?:\\\\s+(port)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*))?\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b\",\"name\":\"meta.local-as-statement.bird\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.local.bird\"},\"2\":{\"name\":\"keyword.control.as.bird\"},\"3\":{\"name\":\"constant.numeric.asn.bird\"}},\"match\":\"\\\\b(local)\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b\",\"name\":\"meta.local-as-template-statement.bird\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.neighbor.bird\"},\"2\":{\"name\":\"constant.numeric.ip-address.bird\"},\"3\":{\"name\":\"meta.interface-reference.bird\"},\"4\":{\"name\":\"string.quoted.single.interface.bird\"},\"5\":{\"name\":\"variable.other.interface.bird\"},\"6\":{\"name\":\"keyword.control.as.bird\"},\"7\":{\"name\":\"constant.numeric.asn.bird\"},\"8\":{\"name\":\"keyword.control.port.bird\"},\"9\":{\"name\":\"constant.numeric.port.bird\"}},\"match\":\"\\\\b(neighbor)\\\\s+([.:\\\\h]+)\\\\s*(%\\\\s*(?:'([-.0-:A-Z_a-z]+)'|([-.0-:A-Z_a-z]+)))?(?:\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*))?\\\\s+(port)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b\",\"name\":\"meta.neighbor-port-statement.bird\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.neighbor.bird\"},\"2\":{\"name\":\"entity.name.symbol.neighbor-address.bird\"},\"3\":{\"name\":\"meta.interface-reference.bird\"},\"4\":{\"name\":\"string.quoted.single.interface.bird\"},\"5\":{\"name\":\"variable.other.interface.bird\"},\"6\":{\"name\":\"keyword.control.as.bird\"},\"7\":{\"name\":\"constant.numeric.asn.bird\"},\"8\":{\"name\":\"keyword.control.port.bird\"},\"9\":{\"name\":\"constant.numeric.port.bird\"}},\"match\":\"\\\\b(neighbor)\\\\s+('[-.0-:A-Z_a-z]+'|(?!(?:as|range)\\\\b)[A-Z_a-z][0-9A-Z_a-z]*)\\\\s*(%\\\\s*(?:'([-.0-:A-Z_a-z]+)'|([-.0-:A-Z_a-z]+)))?(?:\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*))?\\\\s+(port)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b\",\"name\":\"meta.neighbor-port-symbolic-statement.bird\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.neighbor.bird\"},\"2\":{\"name\":\"constant.numeric.ip-address.bird\"},\"3\":{\"name\":\"meta.interface-reference.bird\"},\"4\":{\"name\":\"string.quoted.single.interface.bird\"},\"5\":{\"name\":\"variable.other.interface.bird\"},\"6\":{\"name\":\"keyword.control.as.bird\"},\"7\":{\"name\":\"constant.numeric.asn.bird\"}},\"match\":\"\\\\b(neighbor)\\\\s+([.:\\\\h]+)\\\\s*(%\\\\s*(?:'([-.0-:A-Z_a-z]+)'|([-.0-:A-Z_a-z]+)))?\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b\",\"name\":\"meta.neighbor-statement.bird\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.neighbor.bird\"},\"2\":{\"name\":\"entity.name.symbol.neighbor-address.bird\"},\"3\":{\"name\":\"meta.interface-reference.bird\"},\"4\":{\"name\":\"string.quoted.single.interface.bird\"},\"5\":{\"name\":\"variable.other.interface.bird\"},\"6\":{\"name\":\"keyword.control.as.bird\"},\"7\":{\"name\":\"constant.numeric.asn.bird\"}},\"match\":\"\\\\b(neighbor)\\\\s+('[-.0-:A-Z_a-z]+'|(?!(?:as|range)\\\\b)[A-Z_a-z][0-9A-Z_a-z]*)\\\\s*(%\\\\s*(?:'([-.0-:A-Z_a-z]+)'|([-.0-:A-Z_a-z]+)))?\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b\",\"name\":\"meta.neighbor-symbolic-statement.bird\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.neighbor.bird\"},\"2\":{\"name\":\"keyword.control.as.bird\"},\"3\":{\"name\":\"constant.numeric.asn.bird\"}},\"match\":\"\\\\b(neighbor)\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b\",\"name\":\"meta.neighbor-template-statement.bird\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.source.bird\"},\"2\":{\"name\":\"constant.numeric.ip-address.bird\"}},\"match\":\"\\\\b(source address)\\\\s+([.:\\\\h]+)\\\\b\",\"name\":\"meta.source-address-statement.bird\"}]},\"next-hop-statements\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.routing.bird\"},\"2\":{\"name\":\"keyword.other.ip-version.bird\"},\"3\":{\"name\":\"constant.numeric.ip-address.bird\"}},\"match\":\"\\\\b(next hop)\\\\s+(ipv4)\\\\s+([.0-9]+)\\\\b\",\"name\":\"meta.next-hop-ipv4.bird\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.routing.bird\"},\"2\":{\"name\":\"keyword.other.ip-version.bird\"},\"3\":{\"name\":\"constant.numeric.ip-address.bird\"}},\"match\":\"\\\\b(next hop)\\\\s+(ipv6)\\\\s+([:\\\\h]+)\\\\b\",\"name\":\"meta.next-hop-ipv6.bird\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.routing.bird\"},\"2\":{\"name\":\"keyword.other.semantic-modifier.bird\"}},\"match\":\"\\\\b(next hop)\\\\s+(self)\\\\b\",\"name\":\"meta.next-hop-simple.bird\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.routing.bird\"},\"2\":{\"name\":\"keyword.other.semantic-modifier.bird\"}},\"match\":\"\\\\b(extended next hop)\\\\s+(o(?:n|ff))\\\\b\",\"name\":\"meta.extended-next-hop-statement.bird\"}]},\"numbers\":{\"patterns\":[{\"match\":\"\\\\b0x\\\\h+\\\\b\",\"name\":\"constant.numeric.hex.bird\"},{\"match\":\"\\\\b[0-9]+\\\\b\",\"name\":\"constant.numeric.decimal.bird\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.unit.bird\"}},\"match\":\"\\\\b[0-9]+\\\\s*([mu]??s)\\\\b\",\"name\":\"constant.numeric.time.bird\"}]},\"operators\":{\"patterns\":[{\"match\":\"==|!=|<=|>=|!~|[<=>~]\",\"name\":\"keyword.operator.comparison.bird\"},{\"match\":\"&&|\\\\|\\\\||!|->\",\"name\":\"keyword.operator.logical.bird\"},{\"match\":\"\\\\+\\\\+\",\"name\":\"keyword.operator.concat.bird\"},{\"match\":\"[-%*+/]\",\"name\":\"keyword.operator.arithmetic.bird\"},{\"match\":\"\\\\.\\\\.\",\"name\":\"keyword.operator.range.bird\"},{\"match\":\"\\\\.\",\"name\":\"keyword.operator.accessor.bird\"}]},\"prefixes\":{\"patterns\":[{\"match\":\"\\\\b(?:(?:[0-9]{1,3}\\\\.){3}[0-9]{1,3}|(?:\\\\h{0,4}:)+\\\\h{0,4})/[0-9]{1,3}(?:[-+]|\\\\{[0-9]+,[0-9]+})?\\\\b\",\"name\":\"constant.numeric.prefix.bird\"}]},\"print-statements\":{\"patterns\":[{\"begin\":\"\\\\b(printn??)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.print.bird\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.terminator.statement.bird\"}},\"name\":\"meta.print-statement.bird\",\"patterns\":[{\"include\":\"$self\"}]}]},\"protocol-definitions\":{\"patterns\":[{\"begin\":\"\\\\b(protocol)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\s+(from)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.protocol.bird\"},\"2\":{\"name\":\"entity.name.type.protocol.bird\"},\"3\":{\"name\":\"entity.name.function.protocol.bird\"},\"4\":{\"name\":\"keyword.control.template-reference.bird\"},\"5\":{\"name\":\"entity.name.function.template.bird\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.end.bird\"}},\"name\":\"meta.protocol-definition-with-template.bird\",\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"\\\\b(protocol)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.protocol.bird\"},\"2\":{\"name\":\"entity.name.type.protocol.bird\"},\"3\":{\"name\":\"entity.name.function.protocol.bird\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.end.bird\"}},\"name\":\"meta.protocol-definition-with-name.bird\",\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"\\\\b(protocol)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.protocol.bird\"},\"2\":{\"name\":\"entity.name.type.protocol.bird\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.end.bird\"}},\"name\":\"meta.protocol-definition-anonymous.bird\",\"patterns\":[{\"include\":\"$self\"}]}]},\"protocol-phrases\":{\"patterns\":[{\"match\":\"\\\\b(?:strict\\\\s+bind|zero\\\\s+udp6\\\\s+checksum\\\\s+rx|idle\\\\s+tx\\\\s+interval|multiplier|keyed|meticulous)\\\\b\",\"name\":\"keyword.other.bfd.phrase.bird\"},{\"match\":\"\\\\b(?:send\\\\s+timestamps|rtt\\\\s+(?:cost|min|max|decay)|next\\\\s+hop\\\\s+prefer|prefer|native)\\\\b\",\"name\":\"keyword.other.babel.phrase.bird\"},{\"match\":\"\\\\b(?:next\\\\s+hop\\\\s+(?:self|address|ibgp|ebgp)|link\\\\s+local\\\\s+next\\\\s+hop\\\\s+format|import\\\\s+table|export\\\\s+table|base\\\\s+table|add\\\\s+paths|aigp\\\\s+originate|long\\\\s+lived\\\\s+graceful\\\\s+restart|long\\\\s+lived\\\\s+stale\\\\s+time|dynamic\\\\s+name(?:\\\\s+digits)?|free\\\\s+bind|ttl\\\\s+security|multihop\\\\s+password|rr\\\\s+client|rs\\\\s+client|advertise\\\\s+hostname|interpret\\\\s+communities|deterministic\\\\s+med|default\\\\s+bgp_local_pref|default\\\\s+bgp_med|med\\\\s+metric|igp\\\\s+metric|missing\\\\s+lladdr|gateway\\\\s+address|forwarding\\\\s+addressed|gateway\\\\s+recursive|allow\\\\s+local\\\\s+as|allow\\\\s+bogus\\\\s+as|originate\\\\s+community|full\\\\s+route\\\\s+table|capabilities|primary)\\\\b\",\"name\":\"keyword.other.bgp.phrase.bird\"}]},\"route-attributes\":{\"patterns\":[{\"match\":\"\\\\b(?:net|scope|preference|from|gw|proto|source|dest|ifname|ifindex|weight|gw_mpls|gw_mpls_stack|onlink|igp_metric|mpls_label|mpls_policy|mpls_class|bgp_path|bgp_origin|bgp_next_hop|bgp_med|bgp_local_pref|bgp_community|bgp_ext_community|bgp_large_community|bgp_originator_id|bgp_cluster_list|ospf_metric1|ospf_metric2|ospf_tag|ospf_router_id|rip_metric|rip_tag|mypath|mylclist)\\\\b\",\"name\":\"support.variable.route-attribute.bird\"}]},\"semantic-modifiers\":{\"patterns\":[{\"match\":\"\\\\b(?:self|on|off|remote|extended)\\\\b\",\"name\":\"keyword.other.semantic-modifier.bird\"}]},\"strings\":{\"patterns\":[{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.bird\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.bird\"}},\"name\":\"string.quoted.double.bird\",\"patterns\":[{\"match\":\"\\\\.\",\"name\":\"constant.character.escape.bird\"}]},{\"match\":\"'[-.0-:A-Z_a-z]+'\",\"name\":\"entity.name.symbol.quoted.bird\"}]},\"structural-keywords\":{\"patterns\":[{\"match\":\"\\\\b(?:if|then|else|case|for|do|while|break|continue|return|in)\\\\b\",\"name\":\"keyword.control.bird\"},{\"match\":\"\\\\belse\\\\s*:\",\"name\":\"keyword.control.case.else.bird\"},{\"match\":\"\\\\b(?:accept|reject|error)\\\\b\",\"name\":\"keyword.control.flow.bird\"},{\"match\":\"\\\\b(?:protocol|table|define|include|attribute|eval|ipv4|ipv6|local|as|from|where|cost|limit|action)\\\\b\",\"name\":\"keyword.control.structure.bird\"}]},\"symbols\":{\"patterns\":[{\"match\":\"\\\\b[A-Z_a-z][0-9A-Z_a-z]*\\\\b\",\"name\":\"variable.other.bird\"}]},\"template-definitions\":{\"patterns\":[{\"begin\":\"\\\\b(template)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\s+(from)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.template.bird\"},\"2\":{\"name\":\"entity.name.type.protocol.bird\"},\"3\":{\"name\":\"entity.name.function.template.bird\"},\"4\":{\"name\":\"keyword.control.template-reference.bird\"},\"5\":{\"name\":\"entity.name.function.template.bird\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.end.bird\"}},\"name\":\"meta.template-definition-with-from.bird\",\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"\\\\b(template)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.template.bird\"},\"2\":{\"name\":\"entity.name.type.protocol.bird\"},\"3\":{\"name\":\"entity.name.function.template.bird\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.end.bird\"}},\"name\":\"meta.template-definition-with-name.bird\",\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"\\\\b(template)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.template.bird\"},\"2\":{\"name\":\"entity.name.type.protocol.bird\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.end.bird\"}},\"name\":\"meta.template-definition-anonymous.bird\",\"patterns\":[{\"include\":\"$self\"}]}]},\"user-variables\":{\"patterns\":[{\"match\":\"\\\\b[A-Z][0-9A-Z_a-z]*\\\\b\",\"name\":\"variable.other.user-defined.bird\"}]},\"variable-declarations\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.type.bird\"},\"2\":{\"name\":\"variable.other.declaration.bird\"}},\"match\":\"\\\\b((?:int|pair|quad|ip|prefix|ec|lc|rd|enum)\\\\s+set|int|bool|ip|prefix|rd|pair|quad|ec|lc|string|bytestring|bgpmask|bgppath|clist|eclist|lclist|set|enum|route)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)(?:\\\\s*=|;)\",\"name\":\"meta.variable-declaration.bird\"}]},\"vpn-rd\":{\"match\":\"\\\\b(?:[0-9]+:[0-9]+|[012]:[0-9]+:[0-9]+|(?:[0-9]{1,3}\\\\.){3}[0-9]{1,3}:[0-9]+)\\\\b\",\"name\":\"constant.numeric.vpn-rd.bird\"}},\"scopeName\":\"source.bird2\",\"aliases\":[\"bird\"]}"))
2
2
 
3
3
  export default [
4
4
  lang