laif-ds 0.1.2 → 0.1.3

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 (425) hide show
  1. package/dist/_virtual/jsx-runtime.js +6 -0
  2. package/dist/_virtual/jsx-runtime2.js +5 -0
  3. package/dist/_virtual/react-jsx-runtime.development.js +5 -0
  4. package/dist/_virtual/react-jsx-runtime.production.js +5 -0
  5. package/dist/components/ui/accordion.js +65 -0
  6. package/dist/components/ui/alert-dialog.js +147 -0
  7. package/dist/components/ui/alert.js +67 -0
  8. package/dist/components/ui/aspect-ratio.js +11 -0
  9. package/dist/components/ui/async-select.js +172 -0
  10. package/dist/components/ui/audio-visualizer.js +94 -0
  11. package/dist/components/ui/avatar.js +54 -0
  12. package/dist/components/ui/badge.js +41 -0
  13. package/dist/components/ui/button.js +66 -0
  14. package/dist/components/ui/calendar.js +62 -0
  15. package/dist/components/ui/card.js +77 -0
  16. package/dist/components/ui/carousel.js +178 -0
  17. package/dist/components/ui/chart.js +216 -0
  18. package/dist/components/ui/chat-message.js +250 -0
  19. package/dist/components/ui/chat.js +226 -0
  20. package/dist/components/ui/checkbox.js +32 -0
  21. package/dist/components/ui/collapsible.js +35 -0
  22. package/dist/components/ui/command.js +162 -0
  23. package/dist/components/ui/context-menu.js +224 -0
  24. package/dist/components/ui/copy-button.js +45 -0
  25. package/dist/components/ui/date-picker.js +59 -0
  26. package/dist/components/ui/dialog.js +123 -0
  27. package/dist/components/ui/drawer.js +120 -0
  28. package/dist/components/ui/file-preview.js +120 -0
  29. package/dist/components/ui/form.js +102 -0
  30. package/dist/components/ui/hover-card.js +39 -0
  31. package/dist/components/ui/icon.js +35 -0
  32. package/dist/components/ui/input-otp.js +62 -0
  33. package/dist/components/ui/input-selector.js +119 -0
  34. package/dist/components/ui/input.js +70 -0
  35. package/dist/components/ui/interrupt-prompt.js +38 -0
  36. package/dist/components/ui/label.js +23 -0
  37. package/dist/components/ui/markdown-renderer.js +126 -0
  38. package/dist/components/ui/menubar.js +252 -0
  39. package/dist/components/ui/message-input.js +336 -0
  40. package/dist/components/ui/message-list.js +29 -0
  41. package/dist/components/ui/multiple-selector.js +350 -0
  42. package/dist/components/ui/navigation-menu.js +171 -0
  43. package/dist/components/ui/pagination.js +119 -0
  44. package/dist/components/ui/popover.js +39 -0
  45. package/dist/components/ui/progress.js +32 -0
  46. package/dist/components/ui/prompt-suggestions.js +23 -0
  47. package/dist/components/ui/radio-group.js +46 -0
  48. package/dist/components/ui/resizable.js +49 -0
  49. package/dist/components/ui/scroll-area.js +61 -0
  50. package/dist/components/ui/select.js +189 -0
  51. package/dist/components/ui/separator.js +27 -0
  52. package/dist/components/ui/sheet.js +121 -0
  53. package/dist/components/ui/sidebar.js +599 -0
  54. package/dist/components/ui/skeleton.js +16 -0
  55. package/dist/components/ui/sonner.js +23 -0
  56. package/dist/components/ui/switch.js +32 -0
  57. package/dist/components/ui/table.js +115 -0
  58. package/dist/components/ui/tabs.js +68 -0
  59. package/dist/components/ui/textarea.js +19 -0
  60. package/dist/components/ui/toggle-group.js +63 -0
  61. package/dist/components/ui/toggle.js +44 -0
  62. package/dist/components/ui/tooltip.js +56 -0
  63. package/dist/components/ui/typing-indicator.js +13 -0
  64. package/dist/hooks/use-audio-recording.js +55 -0
  65. package/dist/hooks/use-auto-scroll.js +37 -0
  66. package/dist/hooks/use-autosize-textarea.js +22 -0
  67. package/dist/hooks/use-copy-to-clipboard.js +25 -0
  68. package/dist/hooks/use-debounce.js +16 -0
  69. package/dist/hooks/use-mobile.js +17 -0
  70. package/dist/index.d.ts +1088 -8
  71. package/dist/index.js +299 -0
  72. package/dist/lib/audio-utils.js +30 -0
  73. package/dist/lib/utils.js +9 -0
  74. package/dist/node_modules/react/cjs/react-jsx-runtime.development.js +248 -0
  75. package/dist/node_modules/react/cjs/react-jsx-runtime.production.js +36 -0
  76. package/dist/node_modules/react/jsx-runtime.js +11 -0
  77. package/dist/styles.css +1 -1
  78. package/package.json +15 -43
  79. package/dist/abap-BmBUA35e.js +0 -6
  80. package/dist/actionscript-3-zFUbzQa9.js +0 -6
  81. package/dist/ada-CBvPkFpZ.js +0 -6
  82. package/dist/andromeeda-uXNdzNpk.js +0 -4
  83. package/dist/angular-html-0fTdLuKf.js +0 -32
  84. package/dist/angular-ts-wkniW60G.js +0 -21
  85. package/dist/apache-CVNlsSDc.js +0 -6
  86. package/dist/apex-DFk3KRB1.js +0 -6
  87. package/dist/apl-TLDHFJX6.js +0 -16
  88. package/dist/applescript-CYMR_y0g.js +0 -6
  89. package/dist/ara-4QmU5e04.js +0 -6
  90. package/dist/asciidoc-v_1bjgUg.js +0 -6
  91. package/dist/asm-RC0Yh-NZ.js +0 -6
  92. package/dist/astro-Uf8_VxKJ.js +0 -16
  93. package/dist/aurora-x-BwoVEUWZ.js +0 -4
  94. package/dist/awk-gPH8MVMW.js +0 -6
  95. package/dist/ayu-dark-CxPZkpb2.js +0 -4
  96. package/dist/ballerina-kvLnRU_e.js +0 -6
  97. package/dist/bat-BHYy44sT.js +0 -6
  98. package/dist/beancount-D-MADTs_.js +0 -6
  99. package/dist/berry-Ci9U0o4h.js +0 -6
  100. package/dist/bibtex-CX618D15.js +0 -6
  101. package/dist/bicep-iuYiPopT.js +0 -6
  102. package/dist/blade-BtR00Gx0.js +0 -18
  103. package/dist/bsl-BIXPNqL4.js +0 -8
  104. package/dist/c-DASdrs7p.js +0 -6
  105. package/dist/cadence-BDALQi26.js +0 -6
  106. package/dist/cairo-tXZKA2PT.js +0 -8
  107. package/dist/catppuccin-frappe-BrTOiad2.js +0 -4
  108. package/dist/catppuccin-latte-D-dc_R4m.js +0 -4
  109. package/dist/catppuccin-macchiato-DN4jOp0G.js +0 -4
  110. package/dist/catppuccin-mocha-B8yCE3-3.js +0 -4
  111. package/dist/clarity-CNgV2Ths.js +0 -6
  112. package/dist/clojure-CsKKFGwv.js +0 -6
  113. package/dist/cmake-Dr-A3iJx.js +0 -6
  114. package/dist/cobol-DMssKNmC.js +0 -10
  115. package/dist/codeowners-Bt9yU6NX.js +0 -6
  116. package/dist/codeql-DBNTqJi1.js +0 -6
  117. package/dist/coffee-D_GzM8k1.js +0 -8
  118. package/dist/common-lisp-r7ZEOG7T.js +0 -6
  119. package/dist/components/atoms/index.d.ts +0 -20
  120. package/dist/components/index.d.ts +0 -3
  121. package/dist/components/molecules/index.d.ts +0 -29
  122. package/dist/components/organisms/index.d.ts +0 -14
  123. package/dist/components/ui/accordion.d.ts +0 -7
  124. package/dist/components/ui/alert-dialog.d.ts +0 -14
  125. package/dist/components/ui/alert.d.ts +0 -9
  126. package/dist/components/ui/aspect-ratio.d.ts +0 -3
  127. package/dist/components/ui/async-select.d.ts +0 -54
  128. package/dist/components/ui/audio-visualizer.d.ts +0 -7
  129. package/dist/components/ui/avatar.d.ts +0 -6
  130. package/dist/components/ui/badge.d.ts +0 -9
  131. package/dist/components/ui/button.d.ts +0 -14
  132. package/dist/components/ui/calendar.d.ts +0 -4
  133. package/dist/components/ui/card.d.ts +0 -9
  134. package/dist/components/ui/carousel.d.ts +0 -19
  135. package/dist/components/ui/chart.d.ts +0 -40
  136. package/dist/components/ui/chat-message.d.ts +0 -62
  137. package/dist/components/ui/chat.d.ts +0 -53
  138. package/dist/components/ui/checkbox.d.ts +0 -4
  139. package/dist/components/ui/collapsible.d.ts +0 -5
  140. package/dist/components/ui/command.d.ts +0 -16
  141. package/dist/components/ui/context-menu.d.ts +0 -25
  142. package/dist/components/ui/copy-button.d.ts +0 -6
  143. package/dist/components/ui/date-picker.d.ts +0 -11
  144. package/dist/components/ui/dialog.d.ts +0 -13
  145. package/dist/components/ui/drawer.d.ts +0 -13
  146. package/dist/components/ui/file-preview.d.ts +0 -7
  147. package/dist/components/ui/form.d.ts +0 -24
  148. package/dist/components/ui/hover-card.d.ts +0 -6
  149. package/dist/components/ui/icon.d.ts +0 -33
  150. package/dist/components/ui/input-otp.d.ts +0 -11
  151. package/dist/components/ui/input-selector.d.ts +0 -14
  152. package/dist/components/ui/input.d.ts +0 -14
  153. package/dist/components/ui/interrupt-prompt.d.ts +0 -6
  154. package/dist/components/ui/label.d.ts +0 -4
  155. package/dist/components/ui/markdown-renderer.d.ts +0 -5
  156. package/dist/components/ui/menubar.d.ts +0 -26
  157. package/dist/components/ui/message-input.d.ts +0 -23
  158. package/dist/components/ui/message-list.d.ts +0 -10
  159. package/dist/components/ui/multiple-selector.d.ts +0 -75
  160. package/dist/components/ui/navigation-menu.d.ts +0 -14
  161. package/dist/components/ui/pagination.d.ts +0 -13
  162. package/dist/components/ui/popover.d.ts +0 -7
  163. package/dist/components/ui/progress.d.ts +0 -4
  164. package/dist/components/ui/prompt-suggestions.d.ts +0 -10
  165. package/dist/components/ui/radio-group.d.ts +0 -5
  166. package/dist/components/ui/resizable.d.ts +0 -8
  167. package/dist/components/ui/scroll-area.d.ts +0 -5
  168. package/dist/components/ui/select.d.ts +0 -21
  169. package/dist/components/ui/separator.d.ts +0 -4
  170. package/dist/components/ui/sheet.d.ts +0 -13
  171. package/dist/components/ui/sidebar.d.ts +0 -69
  172. package/dist/components/ui/skeleton.d.ts +0 -2
  173. package/dist/components/ui/sonner.d.ts +0 -3
  174. package/dist/components/ui/switch.d.ts +0 -4
  175. package/dist/components/ui/table.d.ts +0 -10
  176. package/dist/components/ui/tabs.d.ts +0 -7
  177. package/dist/components/ui/textarea.d.ts +0 -3
  178. package/dist/components/ui/toggle-group.d.ts +0 -7
  179. package/dist/components/ui/toggle.d.ts +0 -9
  180. package/dist/components/ui/tooltip.d.ts +0 -7
  181. package/dist/components/ui/typing-indicator.d.ts +0 -1
  182. package/dist/coq-CB6Pv_W9.js +0 -6
  183. package/dist/cpp-CJF2i3ah.js +0 -18
  184. package/dist/crystal-BKWnaU3g.js +0 -18
  185. package/dist/csharp-CYWRhZ2R.js +0 -6
  186. package/dist/css-D1aVdRIU.js +0 -6
  187. package/dist/csv-DvCncUGQ.js +0 -6
  188. package/dist/cue-BXMrmvay.js +0 -6
  189. package/dist/cypher-DTm5zNR1.js +0 -6
  190. package/dist/d-D6ZXmn3l.js +0 -6
  191. package/dist/dark-plus-pUHDTVV0.js +0 -4
  192. package/dist/dart-Dz59Is3F.js +0 -6
  193. package/dist/dax-DTVGzydb.js +0 -6
  194. package/dist/desktop-Db9vb-dl.js +0 -6
  195. package/dist/diff-XmNrvgM1.js +0 -6
  196. package/dist/docker-DWH2onkn.js +0 -6
  197. package/dist/dotenv-4337wvzu.js +0 -6
  198. package/dist/dracula-BtZx2Kac.js +0 -4
  199. package/dist/dracula-soft-BKa-aqBv.js +0 -4
  200. package/dist/dream-maker-CvvfrJSx.js +0 -6
  201. package/dist/edge-CgxR-qhM.js +0 -12
  202. package/dist/elixir-DZkeSPwW.js +0 -8
  203. package/dist/elm-BKuV1HE1.js +0 -8
  204. package/dist/emacs-lisp-BAefI874.js +0 -6
  205. package/dist/erb-BLwkpXUJ.js +0 -10
  206. package/dist/erlang-CmIiwF3I.js +0 -6
  207. package/dist/everforest-dark-DMCBqXCK.js +0 -4
  208. package/dist/everforest-light-BbXl82Em.js +0 -4
  209. package/dist/fennel-DNqkz9pE.js +0 -6
  210. package/dist/fish-DIm72t2T.js +0 -6
  211. package/dist/fluent-BapTxJsC.js +0 -6
  212. package/dist/fortran-fixed-form-s9Hnb3av.js +0 -8
  213. package/dist/fortran-free-form-CNDsBFUj.js +0 -6
  214. package/dist/fsharp-Cv0x43wb.js +0 -8
  215. package/dist/gdresource-CMcKXvgJ.js +0 -10
  216. package/dist/gdscript-D7aheHm-.js +0 -6
  217. package/dist/gdshader-BGJEsM2Z.js +0 -6
  218. package/dist/genie-C9gPjc6J.js +0 -6
  219. package/dist/gherkin-bka1Exbx.js +0 -6
  220. package/dist/git-commit-BspYIY3P.js +0 -8
  221. package/dist/git-rebase--zLBTjUa.js +0 -8
  222. package/dist/github-dark-DenFmJkN.js +0 -4
  223. package/dist/github-dark-default-BJPUVz4H.js +0 -4
  224. package/dist/github-dark-dimmed-DUshB20C.js +0 -4
  225. package/dist/github-dark-high-contrast-D3aGCnF8.js +0 -4
  226. package/dist/github-light-JYsPkUQd.js +0 -4
  227. package/dist/github-light-default-D99KPAby.js +0 -4
  228. package/dist/github-light-high-contrast-BbmZE-Mp.js +0 -4
  229. package/dist/gleam-B4k9YFGD.js +0 -6
  230. package/dist/glimmer-js-DhY9umHJ.js +0 -14
  231. package/dist/glimmer-ts-CCrHcYH5.js +0 -14
  232. package/dist/glsl-XLGYNq5B.js +0 -8
  233. package/dist/gnuplot-DnWoRZt-.js +0 -6
  234. package/dist/go-BErP6iv1.js +0 -6
  235. package/dist/graphql-DWpQF4JI.js +0 -14
  236. package/dist/groovy-IWs5-NIO.js +0 -6
  237. package/dist/hack-CQrV-ytR.js +0 -10
  238. package/dist/haml-CMN0hQaL.js +0 -10
  239. package/dist/handlebars-Cc-7fXX5.js +0 -14
  240. package/dist/haskell-CtlGos0K.js +0 -6
  241. package/dist/haxe-CZZ33vZw.js +0 -6
  242. package/dist/hcl-6hOg9WP4.js +0 -6
  243. package/dist/hjson-CgwED-oz.js +0 -6
  244. package/dist/hlsl-3-lv4gi7.js +0 -6
  245. package/dist/hooks/index.d.ts +0 -6
  246. package/dist/hooks/use-audio-recording.d.ts +0 -14
  247. package/dist/hooks/use-auto-scroll.d.ts +0 -7
  248. package/dist/hooks/use-autosize-textarea.d.ts +0 -8
  249. package/dist/hooks/use-copy-to-clipboard.d.ts +0 -9
  250. package/dist/hooks/use-debounce.d.ts +0 -1
  251. package/dist/hooks/use-mobile.d.ts +0 -1
  252. package/dist/houston-BDYrDoDW.js +0 -4
  253. package/dist/html-B0P_v3yU.js +0 -10
  254. package/dist/html-derivative-D59SHfh8.js +0 -8
  255. package/dist/http-Dcjm_K1m.js +0 -14
  256. package/dist/hxml-BNKImryz.js +0 -8
  257. package/dist/hy-C2xHhR6I.js +0 -6
  258. package/dist/imba-Drd0AMDo.js +0 -8
  259. package/dist/index-B3zhPw_i.js +0 -6376
  260. package/dist/index-CX8WDA1V.js +0 -71798
  261. package/dist/ini-BUcvsX-U.js +0 -6
  262. package/dist/java-B7odJ7Ap.js +0 -6
  263. package/dist/javascript-fa8UlHZE.js +0 -6
  264. package/dist/jinja-CCSYduCH.js +0 -11
  265. package/dist/jison-BygvlveW.js +0 -8
  266. package/dist/json-71t8ZF9g.js +0 -6
  267. package/dist/json5-Z7F6rA6a.js +0 -6
  268. package/dist/jsonc-Dphhs4m2.js +0 -6
  269. package/dist/jsonl-D9jj92Gg.js +0 -6
  270. package/dist/jsonnet-DEQ7IUoJ.js +0 -6
  271. package/dist/jssm-j74e88UX.js +0 -6
  272. package/dist/jsx-Bkesy5tT.js +0 -6
  273. package/dist/julia-CiahampL.js +0 -16
  274. package/dist/kanagawa-dragon-CiKur4Hl.js +0 -4
  275. package/dist/kanagawa-lotus-BKu-smKu.js +0 -4
  276. package/dist/kanagawa-wave-CQwozSzG.js +0 -4
  277. package/dist/kotlin-DCgZY7Ii.js +0 -6
  278. package/dist/kusto-Cw029H-v.js +0 -6
  279. package/dist/laif-ds.es.js +0 -238
  280. package/dist/laif-ds.umd.js +0 -8032
  281. package/dist/laserwave-6a00oqik.js +0 -4
  282. package/dist/latex-LfGCYGw5.js +0 -8
  283. package/dist/lean-CYSet4vs.js +0 -6
  284. package/dist/less-DQA4v-Nm.js +0 -6
  285. package/dist/light-plus-CZuVqSLX.js +0 -4
  286. package/dist/liquid-CvufO3kO.js +0 -14
  287. package/dist/log-D2eRfqDn.js +0 -6
  288. package/dist/logo-QEAtGWZ9.js +0 -6
  289. package/dist/lua-BVfhNLDr.js +0 -8
  290. package/dist/luau-BjYGiqID.js +0 -6
  291. package/dist/make-BjuHP00g.js +0 -6
  292. package/dist/markdown-B6guhLWd.js +0 -6
  293. package/dist/marko-CHlMS8w5.js +0 -14
  294. package/dist/material-theme-D6KBX41T.js +0 -4
  295. package/dist/material-theme-darker-CkRroheE.js +0 -4
  296. package/dist/material-theme-lighter-BUBw43Yz.js +0 -4
  297. package/dist/material-theme-ocean-ClGX14Ja.js +0 -4
  298. package/dist/material-theme-palenight-C1RVm8K1.js +0 -4
  299. package/dist/matlab-BpQlIJiw.js +0 -6
  300. package/dist/mdc-4K6B6lHG.js +0 -12
  301. package/dist/mdx-DIoECIFU.js +0 -6
  302. package/dist/mermaid-BZ7WHNIe.js +0 -6
  303. package/dist/min-dark-C7ak0t6c.js +0 -4
  304. package/dist/min-light-CKFxVcPp.js +0 -4
  305. package/dist/mipsasm-DusDYkFc.js +0 -6
  306. package/dist/mojo-CY9jaezJ.js +0 -6
  307. package/dist/monokai-C1KBYcO0.js +0 -4
  308. package/dist/move-ChphFumd.js +0 -6
  309. package/dist/narrat-Dz4d7OmN.js +0 -6
  310. package/dist/nextflow-DW0Yq9a2.js +0 -6
  311. package/dist/nginx-Can2eAjw.js +0 -8
  312. package/dist/night-owl-Bm2rzalh.js +0 -4
  313. package/dist/nim-B3r2RtQZ.js +0 -20
  314. package/dist/nix-Cg5uV_xg.js +0 -6
  315. package/dist/nord-CC5OiUXg.js +0 -4
  316. package/dist/nushell-BfRnzRWn.js +0 -6
  317. package/dist/objective-c-BGg9R27G.js +0 -6
  318. package/dist/objective-cpp-CJ3y3V_5.js +0 -6
  319. package/dist/ocaml-BZLsfx_o.js +0 -6
  320. package/dist/one-dark-pro-D7-kP8fv.js +0 -4
  321. package/dist/one-light-D9sNaUtq.js +0 -4
  322. package/dist/pascal-l2bqd7Dz.js +0 -6
  323. package/dist/perl-DaMQyPwp.js +0 -16
  324. package/dist/php-BL3EfPBi.js +0 -18
  325. package/dist/plastic-CSTz3KZp.js +0 -4
  326. package/dist/plsql-oVq_K_wH.js +0 -6
  327. package/dist/po-5jaeIyVd.js +0 -6
  328. package/dist/poimandres-C-VADXHD.js +0 -4
  329. package/dist/polar-wcLp8ci7.js +0 -6
  330. package/dist/postcss-BZ3MNRIJ.js +0 -6
  331. package/dist/powerquery-CgRa2XRw.js +0 -6
  332. package/dist/powershell-Diwyv8Eh.js +0 -6
  333. package/dist/prisma-COL_v1x4.js +0 -6
  334. package/dist/prolog-CuvJOxqT.js +0 -6
  335. package/dist/proto-o9HLmF90.js +0 -6
  336. package/dist/pug-HKe4Luo3.js +0 -12
  337. package/dist/puppet-wpGOnQp5.js +0 -6
  338. package/dist/purescript-B_1NgE2N.js +0 -6
  339. package/dist/python-xYxLFJY-.js +0 -6
  340. package/dist/qml-FlMIyjU9.js +0 -8
  341. package/dist/qmldir-BInDYbpo.js +0 -6
  342. package/dist/qss-D-h4NdUG.js +0 -6
  343. package/dist/r-F-9I-ITZ.js +0 -6
  344. package/dist/racket-BoD1TBFT.js +0 -6
  345. package/dist/raku-IaYcw19m.js +0 -6
  346. package/dist/razor-CeqqNtyB.js +0 -10
  347. package/dist/red-7y8PH7HH.js +0 -4
  348. package/dist/reg-CMUdAgIP.js +0 -6
  349. package/dist/regexp-GiFkbxS-.js +0 -6
  350. package/dist/rel-BaRn3QX7.js +0 -6
  351. package/dist/riscv-B9V3SsvW.js +0 -6
  352. package/dist/rose-pine-DhT-HZE9.js +0 -4
  353. package/dist/rose-pine-dawn-DiCjL2i4.js +0 -4
  354. package/dist/rose-pine-moon-BNmGHlcn.js +0 -4
  355. package/dist/rst-C3D6-dqL.js +0 -22
  356. package/dist/ruby-DcPLUUK3.js +0 -30
  357. package/dist/rust-Pc7DCsZD.js +0 -6
  358. package/dist/sas-tDSYjXcL.js +0 -8
  359. package/dist/sass-iCyS6eP9.js +0 -6
  360. package/dist/scala-Cly-fENF.js +0 -6
  361. package/dist/scheme-Zi24oEYu.js +0 -6
  362. package/dist/scss-DhHc4lxB.js +0 -8
  363. package/dist/sdbl-BBamrXFL.js +0 -6
  364. package/dist/shaderlab-CvqEIoL0.js +0 -8
  365. package/dist/shellscript-Dn0-btNd.js +0 -6
  366. package/dist/shellsession-8OLo3sB6.js +0 -8
  367. package/dist/slack-dark-i7wN4OET.js +0 -4
  368. package/dist/slack-ochin-ndHf0LoP.js +0 -4
  369. package/dist/smalltalk-Cns31tKw.js +0 -6
  370. package/dist/snazzy-light-BlSJXAu4.js +0 -4
  371. package/dist/solarized-dark-UTmkh7lw.js +0 -4
  372. package/dist/solarized-light-BheCkDPT.js +0 -4
  373. package/dist/solidity-BG_k8fA_.js +0 -6
  374. package/dist/soy-EwHMOVPj.js +0 -8
  375. package/dist/sparql-DhuelBut.js +0 -8
  376. package/dist/splunk-CTqDjQdo.js +0 -6
  377. package/dist/sql-DCkt643-.js +0 -6
  378. package/dist/ssh-config-DHHGll-v.js +0 -6
  379. package/dist/stata-Dok6hMw0.js +0 -8
  380. package/dist/stylus-n_9f0QQ5.js +0 -6
  381. package/dist/svelte-01qw6Rxm.js +0 -14
  382. package/dist/swift-BAWqNR8A.js +0 -6
  383. package/dist/synthwave-84-NU3C_KFZ.js +0 -4
  384. package/dist/system-verilog-Cui-g-ut.js +0 -6
  385. package/dist/systemd-CsKYQIQK.js +0 -6
  386. package/dist/talonscript-D2dGh8FO.js +0 -6
  387. package/dist/tasl-D3W8HMV6.js +0 -6
  388. package/dist/tcl-2y0Fuc4S.js +0 -6
  389. package/dist/templ-Hmy8U0DD.js +0 -12
  390. package/dist/terraform-BGW6Oerf.js +0 -6
  391. package/dist/tex-mHs7a43s.js +0 -8
  392. package/dist/tokyo-night-LhP3hHhi.js +0 -4
  393. package/dist/toml-CQSfOn0e.js +0 -6
  394. package/dist/ts-tags-DYZ4SGcN.js +0 -41
  395. package/dist/tsv-BtvSkaG0.js +0 -6
  396. package/dist/tsx-DiGsgWT8.js +0 -6
  397. package/dist/turtle-BJ2wmjPc.js +0 -6
  398. package/dist/twig-BmytkGQV.js +0 -18
  399. package/dist/typescript-buWNZFwO.js +0 -6
  400. package/dist/typespec-bLbdsxJL.js +0 -6
  401. package/dist/typst-Y9_SmXTs.js +0 -6
  402. package/dist/v-wa8Orrdd.js +0 -6
  403. package/dist/vala-DRdriFr_.js +0 -6
  404. package/dist/vb-E2_-jk4M.js +0 -6
  405. package/dist/verilog-B1iBoR5_.js +0 -6
  406. package/dist/vesper-CJsaOsSM.js +0 -4
  407. package/dist/vhdl-CRVaAhXk.js +0 -6
  408. package/dist/viml-B-zWOd7Z.js +0 -6
  409. package/dist/vitesse-black-BoGvW84i.js +0 -4
  410. package/dist/vitesse-dark-Cym-eLtO.js +0 -4
  411. package/dist/vitesse-light-CcmG315c.js +0 -4
  412. package/dist/vue-Bl1uVNsA.js +0 -31
  413. package/dist/vue-html-DHr5wjBG.js +0 -10
  414. package/dist/vyper-DWutKXpa.js +0 -6
  415. package/dist/wasm-Bv5f0gKv.js +0 -6
  416. package/dist/wasm-DQxwEHae.js +0 -7
  417. package/dist/wenyan-BMYnfus1.js +0 -6
  418. package/dist/wgsl-DnPoPGDU.js +0 -6
  419. package/dist/wikitext-CntM04PE.js +0 -6
  420. package/dist/wolfram-Ws5qPlX9.js +0 -6
  421. package/dist/xml-ChBsf5uy.js +0 -8
  422. package/dist/xsl-BefjlXrd.js +0 -8
  423. package/dist/yaml-Bbg74JKr.js +0 -6
  424. package/dist/zenscript-C0RKE4nU.js +0 -6
  425. package/dist/zig-D6SXBGNm.js +0 -6
@@ -1,6 +0,0 @@
1
- const e = Object.freeze(JSON.parse(`{"displayName":"Fortran (Free Form)","fileTypes":["f90","F90","f95","F95","f03","F03","f08","F08","f18","F18","fpp","FPP",".pf",".PF"],"firstLineMatch":"(?i)-[*]- mode: fortran free -[*]-","injections":{"source.fortran.free - ( string | comment | meta.preprocessor )":{"patterns":[{"include":"#line-continuation-operator"},{"include":"#preprocessor"}]},"string.quoted.double.fortran":{"patterns":[{"include":"#string-line-continuation-operator"}]},"string.quoted.single.fortran":{"patterns":[{"include":"#string-line-continuation-operator"}]}},"name":"fortran-free-form","patterns":[{"include":"#preprocessor"},{"include":"#comments"},{"include":"#constants"},{"include":"#operators"},{"include":"#array-constructor"},{"include":"#parentheses"},{"include":"#include-statement"},{"include":"#import-statement"},{"include":"#block-data-definition"},{"include":"#function-definition"},{"include":"#module-definition"},{"include":"#program-definition"},{"include":"#submodule-definition"},{"include":"#subroutine-definition"},{"include":"#procedure-definition"},{"include":"#derived-type-definition"},{"include":"#enum-block-construct"},{"include":"#interface-block-constructs"},{"include":"#procedure-specification-statement"},{"include":"#type-specification-statements"},{"include":"#specification-statements"},{"include":"#control-constructs"},{"include":"#control-statements"},{"include":"#execution-statements"},{"include":"#intrinsic-functions"},{"include":"#variable"}],"repository":{"IO-item-list":{"begin":"(?i)(?=\\\\s*[a-z0-9\\"'])","comment":"Name list.","contentName":"meta.name-list.fortran","end":"(?=[\\\\);!\\\\n])","patterns":[{"include":"#constants"},{"include":"#operators"},{"include":"#intrinsic-functions"},{"include":"#array-constructor"},{"include":"#parentheses"},{"include":"#brackets"},{"include":"#assignment-keyword"},{"include":"#operator-keyword"},{"include":"#variable"}]},"IO-keywords":{"begin":"(?i)\\\\G\\\\s*\\\\b(?:(read)|(write))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.generic-spec.read.fortran"},"2":{"name":"keyword.control.generic-spec.write.fortran"},"3":{"name":"punctuation.parentheses.left.fortran"}},"comment":"IO generic specification.","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"captures":{"1":{"name":"keyword.control.generic-spec.formatted.fortran"},"2":{"name":"keyword.control.generic-spec.unformatted.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(?:(formatted)|(unformatted))\\\\b"},{"include":"#invalid-word"}]},"IO-statements":{"patterns":[{"begin":"(?ix)\\\\b(?:(backspace)|(close)|(endfile)|(format)|(inquire)|(open)|(read)|(rewind)|(write))\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.backspace.fortran"},"2":{"name":"keyword.control.close.fortran"},"3":{"name":"keyword.control.endfile.fortran"},"4":{"name":"keyword.control.format.fortran"},"5":{"name":"keyword.control.inquire.fortran"},"6":{"name":"keyword.control.open.fortran"},"7":{"name":"keyword.control.read.fortran"},"8":{"name":"keyword.control.rewind.fortran"},"9":{"name":"keyword.control.write.fortran"},"10":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","end":"(?=[;!\\\\n])","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"name":"meta.statement.IO.fortran","patterns":[{"include":"#parentheses-dummy-variables"},{"include":"#IO-item-list"}]},{"captures":{"1":{"name":"keyword.control.backspace.fortran"},"2":{"name":"keyword.control.endfile.fortran"},"3":{"name":"keyword.control.format.fortran"},"4":{"name":"keyword.control.print.fortran"},"5":{"name":"keyword.control.read.fortran"},"6":{"name":"keyword.control.rewind.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","match":"(?i)\\\\b(?:(backspace)|(endfile)|(format)|(print)|(read)|(rewind))\\\\b"},{"begin":"(?i)\\\\b(?:(flush)|(wait))\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.flush.fortran"},"2":{"name":"keyword.control.wait.fortran"},"3":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"captures":{"1":{"name":"keyword.control.flush.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","match":"(?i)\\\\b(flush)\\\\b"}]},"abstract-attribute":{"captures":{"1":{"name":"storage.modifier.fortran.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","match":"(?i)\\\\G\\\\s*\\\\b(abstract)\\\\b"},"abstract-interface-block-construct":{"begin":"(?i)\\\\b(abstract)\\\\s+(interface)\\\\b","beginCaptures":{"1":{"name":"keyword.other.attribute.fortran.modern"},"2":{"name":"keyword.control.interface.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","end":"(?i)\\\\b(end\\\\s*interface)\\\\b","endCaptures":{"1":{"name":"keyword.control.endinterface.fortran.modern"}},"name":"meta.interface.abstract.fortran","patterns":[{"include":"$base"}]},"access-attribute":{"patterns":[{"include":"#private-attribute"},{"include":"#public-attribute"}]},"allocatable-attribute":{"captures":{"1":{"name":"storage.modifier.allocatable.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","match":"(?i)\\\\s*\\\\b(allocatable)\\\\b"},"allocate-statement":{"begin":"(?i)\\\\b(allocate)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.allocate.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"name":"meta.statement.allocate.fortran","patterns":[{"include":"#parentheses-dummy-variables"}]},"arithmetic-operators":{"captures":{"1":{"name":"keyword.operator.subtraction.fortran"},"2":{"name":"keyword.operator.addition.fortran"},"3":{"name":"keyword.operator.division.fortran"},"4":{"name":"keyword.operator.power.fortran"},"5":{"name":"keyword.operator.multiplication.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","match":"(\\\\-)|(\\\\+)|\\\\/(?!\\\\/|\\\\=|\\\\\\\\)|(\\\\*\\\\*)|(\\\\*)"},"array-constructor":{"begin":"(?=\\\\s*(\\\\[|\\\\(\\\\/))","end":"(?<!\\\\G)","name":"meta.contructor.array","patterns":[{"include":"#brackets"},{"begin":"\\\\s*(\\\\(\\\\/)","beginCaptures":{"1":{"name":"punctuation.bracket.left.fortran"}},"end":"(\\\\/\\\\))","endCaptures":{"1":{"name":"punctuation.bracket.left.fortran"}},"patterns":[{"include":"#comments"},{"include":"#constants"},{"include":"#operators"},{"include":"#array-constructor"},{"include":"#parentheses"},{"include":"#intrinsic-functions"},{"include":"#variable"}]}]},"assign-statement":{"patterns":[{"begin":"(?i)\\\\b(assign)\\\\b","beginCaptures":{"1":{"name":"keyword.control.assign.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.control.assign.fortran","patterns":[{"captures":{"1":{"name":"keyword.control.to.fortran"}},"match":"(?i)\\\\s*\\\\b(to)\\\\b"},{"include":"$base"}]}]},"assignment-keyword":{"begin":"(?i)\\\\G\\\\s*\\\\b(assignment)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.generic-spec.assignment.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Assignment generic specification.","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#assignment-operator"},{"include":"#invalid-word"}]},"assignment-operator":{"comment":"Introduced in the Fortran 1977 standard.","match":"(?<!\\\\/|\\\\=|\\\\<|\\\\>)(\\\\=)(?!\\\\=|\\\\>)","name":"keyword.operator.assignment.fortran"},"associate-construct":{"begin":"(?i)\\\\b(associate)\\\\b(?=\\\\s*\\\\()","beginCaptures":{"1":{"name":"keyword.control.associate.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","contentName":"meta.block.associate.fortran","end":"(?i)\\\\b(end\\\\s*associate)\\\\b","endCaptures":{"1":{"name":"keyword.control.endassociate.fortran"}},"patterns":[{"include":"$base"}]},"asynchronous-attribute":{"captures":{"1":{"name":"storage.modifier.asynchronous.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","match":"(?i)\\\\G\\\\s*\\\\b(asynchronous)\\\\b"},"attribute-specification-statement":{"begin":"(?ix)(?=\\\\b(?:allocatable|asynchronous|contiguous |external|intrinsic|optional|parameter|pointer|private|protected|public|save|target|value|volatile)\\\\b |(bind|dimension|intent)\\\\s*\\\\( |(codimension)\\\\s*\\\\[)","end":"(?=[;!\\\\n])","name":"meta.statement.attribute-specification.fortran","patterns":[{"include":"#access-attribute"},{"include":"#allocatable-attribute"},{"include":"#asynchronous-attribute"},{"include":"#codimension-attribute"},{"include":"#contiguous-attribute"},{"include":"#dimension-attribute"},{"include":"#external-attribute"},{"include":"#intent-attribute"},{"include":"#intrinsic-attribute"},{"include":"#language-binding-attribute"},{"include":"#optional-attribute"},{"include":"#parameter-attribute"},{"include":"#pointer-attribute"},{"include":"#protected-attribute"},{"include":"#save-attribute"},{"include":"#target-attribute"},{"include":"#value-attribute"},{"include":"#volatile-attribute"},{"begin":"(?=\\\\s*::)","comment":"Attribute list.","contentName":"meta.attribute-list.normal.fortran","end":"(::)|(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"patterns":[{"include":"#invalid-word"}]},{"include":"#name-list"}]},"block-construct":{"begin":"(?i)\\\\b(block)\\\\b(?!\\\\s*\\\\bdata\\\\b)","beginCaptures":{"1":{"name":"keyword.control.associate.fortran"}},"comment":"Introduced in the Fortran 2008 standard.","contentName":"meta.block.block.fortran","end":"(?i)\\\\b(end\\\\s*block)\\\\b","endCaptures":{"1":{"name":"keyword.control.endassociate.fortran"}},"patterns":[{"include":"$base"}]},"block-data-definition":{"begin":"(?i)\\\\b(block\\\\s*data)\\\\b(?:\\\\s+([a-z]\\\\w*)\\\\b)?","beginCaptures":{"1":{"name":"keyword.control.block-data.fortran"},"2":{"name":"entity.name.block-data.fortran"}},"end":"(?ix)\\\\b(?:(end\\\\s*block\\\\s*data)(?:\\\\s+(\\\\2))?|(end))\\\\b (?:\\\\s*(\\\\S((?!\\\\n).)*))?","endCaptures":{"1":{"name":"keyword.control.end-block-data.fortran"},"2":{"name":"entity.name.block-data.fortran"},"3":{"name":"keyword.control.end-block-data.fortran"},"4":{"name":"invalid.error.block-data-definition.fortran"}},"name":"meta.block-data.fortran","patterns":[{"include":"$base"}]},"brackets":{"begin":"\\\\s*(\\\\[)","beginCaptures":{"1":{"name":"punctuation.bracket.left.fortran"}},"end":"(\\\\])","endCaptures":{"1":{"name":"punctuation.bracket.left.fortran"}},"patterns":[{"include":"#comments"},{"include":"#constants"},{"include":"#operators"},{"include":"#array-constructor"},{"include":"#parentheses"},{"include":"#intrinsic-functions"},{"include":"#variable"}]},"call-statement":{"patterns":[{"begin":"(?i)\\\\s*\\\\b(call)\\\\b","beginCaptures":{"1":{"name":"keyword.control.call.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.control.call.fortran","patterns":[{"begin":"(?ix)\\\\G\\\\s*([a-z]\\\\w*)(%)([a-z]\\\\w*)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"variable.other.fortran"},"2":{"name":"keyword.accessor.fortran"},"3":{"name":"entity.name.function.subroutine.fortran"}},"comment":"type-bound subroutines","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"include":"#intrinsic-subroutines"},{"begin":"(?i)\\\\G\\\\s*\\\\b([a-z]\\\\w*)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.function.subroutine.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"User defined subroutine.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"captures":{"1":{"name":"entity.name.function.subroutine.fortran"}},"comment":"User defined subroutine.","match":"(?i)\\\\G\\\\s*\\\\b([a-z]\\\\w*)\\\\b(?=\\\\s*[;!\\\\n])"},{"include":"$base"}]}]},"character-type":{"comment":"Introduced in the Fortran 1977 standard.","patterns":[{"begin":"(?i)\\\\b(character)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"storage.type.character.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"contentName":"meta.type-spec.fortran","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"captures":{"1":{"name":"storage.type.character.fortran"},"2":{"name":"keyword.operator.multiplication.fortran"},"3":{"name":"constant.numeric.fortran"}},"match":"(?i)\\\\b(character)\\\\b(?:\\\\s*(\\\\*)\\\\s*(\\\\d*))?"}]},"codimension-attribute":{"begin":"(?i)\\\\G\\\\s*\\\\b(codimension)(?=\\\\s*\\\\[)","beginCaptures":{"1":{"name":"storage.modifier.codimension.fortran"}},"comment":"Introduced in the Fortran 2008 standard.","end":"(?<!\\\\G)","patterns":[{"include":"#brackets"}]},"comments":{"begin":"!","end":"(?=\\\\n)","name":"comment.line.fortran"},"common-statement":{"begin":"(?i)\\\\b(common)\\\\b","beginCaptures":{"1":{"name":"keyword.control.common.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"include":"$base"}]},"concurrent-attribute":{"begin":"(?i)\\\\G\\\\s*\\\\b(concurrent)\\\\b","beginCaptures":{"1":{"name":"keyword.control.while.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","end":"(?=[;!\\\\n])","patterns":[{"include":"#parentheses"},{"include":"#invalid-word"}]},"constants":{"patterns":[{"include":"#logical-constant"},{"include":"#numeric-constant"},{"include":"#string-constant"}]},"contiguous-attribute":{"captures":{"1":{"name":"storage.modifier.contigous.fortran"}},"comment":"Introduced in the Fortran 2008 standard.","match":"(?i)\\\\G\\\\s*\\\\b(contiguous)\\\\b"},"continue-statement":{"patterns":[{"begin":"(?i)\\\\s*\\\\b(continue)\\\\b","beginCaptures":{"1":{"name":"keyword.control.continue.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.control.continue.fortran","patterns":[{"include":"#invalid-character"}]}]},"control-constructs":{"patterns":[{"include":"#named-control-constructs"},{"include":"#unnamed-control-constructs"}]},"control-statements":{"comment":"Statements controlling the flow of the program","patterns":[{"include":"#assign-statement"},{"include":"#call-statement"},{"include":"#continue-statement"},{"include":"#cycle-statement"},{"include":"#entry-statement"},{"include":"#error-stop-statement"},{"include":"#exit-statement"},{"include":"#goto-statement"},{"include":"#pause-statement"},{"include":"#return-statement"},{"include":"#stop-statement"},{"include":"#where-statement"},{"include":"#image-control-statement"}]},"cpp-numeric-constant":{"captures":{"0":{"patterns":[{"begin":"(?=.)","beginCaptures":{},"end":"$","endCaptures":{},"patterns":[{"captures":{"1":{"name":"keyword.other.unit.hexadecimal.cpp"},"2":{"name":"constant.numeric.hexadecimal.cpp","patterns":[{"match":"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"constant.numeric.hexadecimal.cpp"},"5":{"name":"constant.numeric.hexadecimal.cpp","patterns":[{"match":"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.cpp"}]},"6":{"name":"punctuation.separator.constant.numeric.cpp"},"7":{"name":"keyword.other.unit.exponent.hexadecimal.cpp"},"8":{"name":"keyword.operator.plus.exponent.hexadecimal.cpp"},"9":{"name":"keyword.operator.minus.exponent.hexadecimal.cpp"},"10":{"name":"constant.numeric.exponent.hexadecimal.cpp","patterns":[{"match":"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.cpp"}]},"11":{"name":"keyword.other.unit.suffix.floating-point.cpp"},"12":{"name":"keyword.other.unit.user-defined.cpp"}},"match":"(\\\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\\\\.|\\\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([pP])((?:\\\\+)?)((?:\\\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\\\w))?((?:\\\\w(?<![0-9a-fA-FpP])\\\\w*)?$)"},{"captures":{"1":{"name":"constant.numeric.decimal.cpp","patterns":[{"match":"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.cpp"}]},"2":{"name":"punctuation.separator.constant.numeric.cpp"},"3":{"name":"constant.numeric.decimal.point.cpp"},"4":{"name":"constant.numeric.decimal.cpp","patterns":[{"match":"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.cpp"}]},"5":{"name":"punctuation.separator.constant.numeric.cpp"},"6":{"name":"keyword.other.unit.exponent.decimal.cpp"},"7":{"name":"keyword.operator.plus.exponent.decimal.cpp"},"8":{"name":"keyword.operator.minus.exponent.decimal.cpp"},"9":{"name":"constant.numeric.exponent.decimal.cpp","patterns":[{"match":"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.cpp"}]},"10":{"name":"keyword.other.unit.suffix.floating-point.cpp"},"11":{"name":"keyword.other.unit.user-defined.cpp"}},"match":"\\\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9])\\\\.|\\\\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([eE])((?:\\\\+)?)((?:\\\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\\\w))?((?:\\\\w(?<![0-9eE])\\\\w*)?$)"},{"captures":{"1":{"name":"keyword.other.unit.binary.cpp"},"2":{"name":"constant.numeric.binary.cpp","patterns":[{"match":"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"keyword.other.unit.suffix.integer.cpp"},"5":{"name":"keyword.other.unit.user-defined.cpp"}},"match":"(\\\\G0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\\\w))?((?:\\\\w(?<![0-9])\\\\w*)?$)"},{"captures":{"1":{"name":"keyword.other.unit.octal.cpp"},"2":{"name":"constant.numeric.octal.cpp","patterns":[{"match":"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"keyword.other.unit.suffix.integer.cpp"},"5":{"name":"keyword.other.unit.user-defined.cpp"}},"match":"(\\\\G0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\\\w))?((?:\\\\w(?<![0-9])\\\\w*)?$)"},{"captures":{"1":{"name":"keyword.other.unit.hexadecimal.cpp"},"2":{"name":"constant.numeric.hexadecimal.cpp","patterns":[{"match":"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"keyword.other.unit.exponent.hexadecimal.cpp"},"5":{"name":"keyword.operator.plus.exponent.hexadecimal.cpp"},"6":{"name":"keyword.operator.minus.exponent.hexadecimal.cpp"},"7":{"name":"constant.numeric.exponent.hexadecimal.cpp","patterns":[{"match":"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.cpp"}]},"8":{"name":"keyword.other.unit.suffix.integer.cpp"},"9":{"name":"keyword.other.unit.user-defined.cpp"}},"match":"(\\\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([pP])((?:\\\\+)?)((?:\\\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\\\w))?((?:\\\\w(?<![0-9a-fA-FpP])\\\\w*)?$)"},{"captures":{"1":{"name":"constant.numeric.decimal.cpp","patterns":[{"match":"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.cpp"}]},"2":{"name":"punctuation.separator.constant.numeric.cpp"},"3":{"name":"keyword.other.unit.exponent.decimal.cpp"},"4":{"name":"keyword.operator.plus.exponent.decimal.cpp"},"5":{"name":"keyword.operator.minus.exponent.decimal.cpp"},"6":{"name":"constant.numeric.exponent.decimal.cpp","patterns":[{"match":"(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.cpp"}]},"7":{"name":"keyword.other.unit.suffix.integer.cpp"},"8":{"name":"keyword.other.unit.user-defined.cpp"}},"match":"\\\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([eE])((?:\\\\+)?)((?:\\\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\\\w))?((?:\\\\w(?<![0-9eE])\\\\w*)?$)"},{"match":"(?:(?:[0-9a-zA-Z_\\\\.]|')|(?<=[eEpP])[+-])+","name":"invalid.illegal.constant.numeric.cpp"}]}]}},"match":"(?<!\\\\w)\\\\.?\\\\d(?:(?:[0-9a-zA-Z_\\\\.]|')|(?<=[eEpP])[+-])*"},"critical-construct":{"begin":"(?i)\\\\b(critical)\\\\b","beginCaptures":{"1":{"name":"keyword.control.associate.fortran"}},"comment":"Introduced in the Fortran 2008 standard.","contentName":"meta.block.critical.fortran","end":"(?i)\\\\b(end\\\\s*critical)\\\\b","endCaptures":{"1":{"name":"keyword.control.endassociate.fortran"}},"patterns":[{"include":"$base"}]},"cycle-statement":{"patterns":[{"begin":"(?i)\\\\s*\\\\b(cycle)\\\\b","beginCaptures":{"1":{"name":"keyword.control.cycle.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.control.fortran","patterns":[]}]},"data-statement":{"begin":"(?i)\\\\b(data)\\\\b","beginCaptures":{"1":{"name":"keyword.control.data.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"include":"$base"}]},"deallocate-statement":{"begin":"(?i)\\\\b(deallocate)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.deallocate.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"name":"meta.statement.deallocate.fortran","patterns":[{"include":"#parentheses-dummy-variables"}]},"deferred-attribute":{"captures":{"1":{"name":"storage.modifier.deferred.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","match":"(?i)\\\\s*\\\\b(deferred)\\\\b"},"derived-type":{"begin":"(?i)\\\\b(?:(class)|(type))\\\\s*(\\\\()\\\\s*(([a-z]\\\\w*)|\\\\*)","beginCaptures":{"1":{"name":"storage.type.class.fortran"},"2":{"name":"storage.type.type.fortran"},"3":{"name":"punctuation.parentheses.left.fortran"},"4":{"name":"entity.name.type.fortran"}},"comment":"Introduced in the Fortran 1995 standard.","contentName":"meta.type-spec.fortran","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"name":"meta.specification.type.derived.fortran","patterns":[{"include":"#parentheses-dummy-variables"}]},"derived-type-component-attribute-specification":{"begin":"(?i)(?=\\\\s*\\\\b(?:private|sequence)\\\\b)","comment":"Introduced in the Fortran 1995 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.attribute-specification.fortran","patterns":[{"include":"#access-attribute"},{"include":"#sequence-attribute"},{"include":"#invalid-character"}]},"derived-type-component-parameter-specification":{"captures":{"1":{"name":"storage.type.integer.fortran"},"2":{"name":"punctuation.comma.fortran"},"3":{"name":"keyword.other.attribute.derived-type.parameter.fortran"},"4":{"name":"keyword.operator.double-colon.fortran"},"5":{"name":"entity.name.derived-type.parameter.fortran"}},"comment":"Derived type parameter.","match":"(?ix)\\\\b(integer)\\\\s*(,)\\\\s*(kind|len)\\\\s*(?:(::)\\\\s*([a-z]\\\\w*)?)?\\\\s*(?=[;!\\\\n])"},"derived-type-component-procedure-specification":{"begin":"(?i)(?=\\\\b(?:procedure)\\\\b)","comment":"Introduced in the Fortran 2003 standard.","end":"(?=[;!\\\\n])","name":"meta.specification.procedure.fortran","patterns":[{"include":"#procedure-type"},{"begin":"(?=\\\\s*(,|::|\\\\())","comment":"Attribute list.","contentName":"meta.attribute-list.derived-type-component-procedure.fortran","end":"(::)|(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"patterns":[{"begin":"(,)","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"end":"(?=::|[,;!\\\\n])","patterns":[{"include":"#access-attribute"},{"include":"#pass-attribute"},{"include":"#nopass-attribute"},{"include":"#invalid-word"},{"include":"#pointer-attribute"}]}]},{"include":"#procedure-name-list"}]},"derived-type-component-type-specification":{"begin":"(?ix)(?=\\\\b(?:character|class|complex|double\\\\s*precision|double\\\\s*complex|integer|logical|real|type)\\\\b(?![^:'\\";!\\\\n]*\\\\bfunction\\\\b))","comment":"Introduced in the Fortran 1995 standard.","end":"(?=[;!\\\\n])","name":"meta.specification.derived-type.fortran","patterns":[{"include":"#types"},{"include":"#line-continuation-operator"},{"begin":"(?=\\\\s*(,|::))","comment":"Attribute list.","contentName":"meta.attribute-list.derived-type-component-type.fortran","end":"(::)|(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"patterns":[{"begin":"(,)","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"end":"(?=::|[,;!\\\\n])","patterns":[{"include":"#access-attribute"},{"include":"#allocatable-attribute"},{"include":"#codimension-attribute"},{"include":"#contiguous-attribute"},{"include":"#dimension-attribute"},{"include":"#pointer-attribute"},{"include":"#invalid-word"}]}]},{"include":"#name-list"}]},"derived-type-contains-attribute-specification":{"begin":"(?i)(?=\\\\b(?:private)\\\\b)","comment":"Introduced in the Fortran 1995 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.attribute-specification.fortran","patterns":[{"include":"#access-attribute"},{"include":"#invalid-character"}]},"derived-type-contains-final-procedure-specification":{"begin":"(?i)\\\\b(final)\\\\b","beginCaptures":{"1":{"name":"storage.type.final-procedure.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","end":"(?=[;!\\\\n])","name":"meta.specification.procedure.final.fortran","patterns":[{"begin":"(?=\\\\s*(::))","comment":"Attribute list.","end":"(::)|(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"name":"meta.attribute-list.derived-type-contains-final-procedure.fortran","patterns":[{"include":"#invalid-word"}]},{"include":"#procedure-name"}]},"derived-type-contains-generic-procedure-specification":{"begin":"(?i)\\\\b(generic)\\\\b","beginCaptures":{"1":{"name":"storage.type.procedure.generic.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","end":"(?=[;!\\\\n])","name":"meta.specification.procedure.generic.fortran","patterns":[{"begin":"(?=\\\\s*(,|::|\\\\())","comment":"Attribute list.","contentName":"meta.attribute-list.derived-type-contains-generic-procedure.fortran","end":"(::)|(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"patterns":[{"begin":"(,)|^|(?<=&)","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"end":"(?=::|[,&;!\\\\n])","patterns":[{"include":"#access-attribute"},{"include":"#invalid-word"}]}]},{"begin":"(?=\\\\s*[a-z])","comment":"Name list.","contentName":"meta.name-list.fortran","end":"(?=[;!\\\\n])","patterns":[{"include":"#IO-keywords"},{"include":"#assignment-keyword"},{"include":"#operator-keyword"},{"include":"#procedure-name"},{"include":"#pointer-operators"}]}]},"derived-type-contains-procedure-specification":{"begin":"(?i)(?=\\\\b(?:procedure)\\\\b)","comment":"Introduced in the Fortran 2003 standard.","end":"(?=[;!\\\\n])","name":"meta.specification.procedure.fortran","patterns":[{"include":"#procedure-type"},{"begin":"(?=\\\\s*(,|::|\\\\())","comment":"Attribute list.","contentName":"meta.attribute-list.derived-type-contains-procedure.fortran","end":"(::)|(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"patterns":[{"begin":"(,)|^|(?<=&)","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"end":"(?=::|[,&;!\\\\n])","name":"meta.something.fortran","patterns":[{"include":"#access-attribute"},{"include":"#deferred-attribute"},{"include":"#non-overridable-attribute"},{"include":"#nopass-attribute"},{"include":"#pass-attribute"},{"include":"#invalid-word"}]}]},{"include":"#procedure-name-list"}]},"derived-type-definition":{"begin":"(?i)\\\\b(type)\\\\b(?!\\\\s*(\\\\(|is\\\\b|\\\\=))","beginCaptures":{"1":{"name":"keyword.control.type.fortran"}},"end":"(?=[;!\\\\n])","name":"meta.derived-type.definition.fortran","patterns":[{"begin":"\\\\G(?=\\\\s*(,|::))","comment":"Attribute list.","contentName":"meta.attribute-list.derived-type.fortran","end":"(::)|(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"patterns":[{"begin":"(,)","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"end":"(?=::|[,;!\\\\n])","patterns":[{"include":"#access-attribute"},{"include":"#abstract-attribute"},{"include":"#language-binding-attribute"},{"include":"#extends-attribute"},{"include":"#invalid-word"}]}]},{"begin":"(?i)\\\\s*\\\\b([a-z]\\\\w*)\\\\b","beginCaptures":{"1":{"name":"entity.name.type.fortran"}},"end":"(?i)(?:^|(?<=;))\\\\s*(end\\\\s*type)(?:\\\\s+(?:(\\\\1)|(\\\\w+)))?\\\\b","endCaptures":{"1":{"name":"keyword.control.endtype.fortran"},"2":{"name":"entity.name.type.fortran"},"3":{"name":"invalid.error.derived-type.fortran"}},"patterns":[{"include":"#dummy-variable-list"},{"include":"#comments"},{"begin":"(?i)^(?!\\\\s*\\\\b(?:contains|end\\\\s*type)\\\\b)","comment":"Derived type specification block.","end":"(?i)^(?=\\\\s*\\\\b(?:contains|end\\\\s*type)\\\\b)","name":"meta.block.specification.derived-type.fortran","patterns":[{"include":"#comments"},{"include":"#derived-type-component-attribute-specification"},{"include":"#derived-type-component-parameter-specification"},{"include":"#derived-type-component-procedure-specification"},{"include":"#derived-type-component-type-specification"}]},{"begin":"(?i)\\\\b(contains)\\\\b","beginCaptures":{"1":{"name":"keyword.control.contains.fortran"}},"comment":"Derived type contains block.","end":"(?i)(?=\\\\s*end\\\\s*type\\\\b)","name":"meta.block.contains.fortran","patterns":[{"include":"#comments"},{"include":"#derived-type-contains-attribute-specification"},{"include":"#derived-type-contains-final-procedure-specification"},{"include":"#derived-type-contains-generic-procedure-specification"},{"include":"#derived-type-contains-procedure-specification"}]}]}]},"derived-type-operators":{"captures":{"1":{"name":"keyword.other.selector.fortran"}},"comment":"Introduced in the Fortran 1995 standard.","match":"\\\\s*(\\\\%)"},"dimension-attribute":{"begin":"(?i)\\\\s*\\\\b(dimension)(?=\\\\s*\\\\()","beginCaptures":{"1":{"name":"storage.modifier.dimension.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","end":"(?<!\\\\G)","patterns":[{"include":"#parentheses-dummy-variables"}]},"do-construct":{"patterns":[{"captures":{"1":{"name":"keyword.control.enddo.fortran"}},"match":"(?i)\\\\b(end\\\\s*do)\\\\b"},{"begin":"(?i)\\\\b(do)\\\\s+(\\\\d{1,5})","beginCaptures":{"1":{"name":"keyword.control.do.fortran"},"2":{"name":"constant.numeric.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","end":"(?i)(?:^|(?<=;))(?=\\\\s*\\\\b\\\\2\\\\b)","name":"meta.do.labeled.fortran","patterns":[{"begin":"(?i)\\\\G(?:\\\\s*(,)|(?!\\\\s*[;!\\\\n]))","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"comment":"Loop control.","end":"(?=[;!\\\\n])","patterns":[{"include":"#concurrent-attribute"},{"include":"#while-attribute"},{"include":"$base"}]},{"include":"$base"}]},{"begin":"(?i)\\\\b(do)\\\\b","beginCaptures":{"1":{"name":"keyword.control.do.fortran"}},"comment":"Introduced in the Fortran 1995 standard.","end":"(?i)\\\\b(?:(continue)|(end\\\\s*do))\\\\b","endCaptures":{"1":{"name":"keyword.control.continue.fortran"},"2":{"name":"keyword.control.enddo.fortran"}},"name":"meta.block.do.unlabeled.fortran","patterns":[{"begin":"(?i)\\\\G(?:\\\\s*(,)|(?!\\\\s*[;!\\\\n]))","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"comment":"Loop control.","end":"(?=[;!\\\\n])","name":"meta.loop-control.fortran","patterns":[{"include":"#concurrent-attribute"},{"include":"#while-attribute"},{"include":"$base"}]},{"begin":"(?i)(?!\\\\s*\\\\b(continue|end\\\\s*do)\\\\b)","comment":"Loop body.","end":"(?i)(?=\\\\s*\\\\b(continue|end\\\\s*do)\\\\b)","patterns":[{"include":"$base"}]}]}]},"dummy-variable":{"captures":{"1":{"name":"variable.parameter.fortran"}},"comment":"dummy variable","match":"(?i)(?:^|(?<=[&,\\\\(]))\\\\s*([a-z]\\\\w*)"},"dummy-variable-list":{"begin":"\\\\G\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.fortran"}},"end":"\\\\)|(?=\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.fortran"}},"name":"meta.dummy-variable-list","patterns":[{"include":"#dummy-variable"}]},"elemental-attribute":{"captures":{"1":{"name":"storage.modifier.elemental.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","match":"(?i)\\\\s*\\\\b(elemental)\\\\b"},"entry-statement":{"patterns":[{"begin":"(?i)\\\\s*\\\\b(entry)\\\\b","beginCaptures":{"1":{"name":"keyword.control.entry.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.control.entry.fortran","patterns":[{"begin":"(?i)\\\\s*\\\\b([a-z]\\\\w*)\\\\b","beginCaptures":{"1":{"name":"entity.name.function.entry.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"include":"#dummy-variable-list"},{"include":"#result-statement"},{"include":"#language-binding-attribute"}]}]}]},"enum-block-construct":{"begin":"(?i)\\\\b(enum)\\\\b","beginCaptures":{"1":{"name":"keyword.control.enum.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","end":"(?i)\\\\b(end\\\\s*enum)\\\\b","endCaptures":{"1":{"name":"keyword.control.end-enum.fortran"}},"name":"meta.enum.fortran","patterns":[{"begin":"\\\\G\\\\s*(,)","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"include":"#language-binding-attribute"},{"include":"#invalid-word"}]},{"begin":"(?i)(?!\\\\s*\\\\b(end\\\\s*enum)\\\\b)","end":"(?i)(?=\\\\b(end\\\\s*enum)\\\\b)","name":"meta.block.specification.enum.fortran","patterns":[{"include":"#comments"},{"begin":"(?ix)\\\\b(enumerator)\\\\b","beginCaptures":{"1":{"name":"keyword.other.enumerator.fortran"}},"end":"(?=[;!\\\\n])","name":"meta.statement.enumerator-specification.fortran","patterns":[{"begin":"(?=\\\\s*(,|::))","comment":"Attribute list.","contentName":"meta.attribute-list.enum.fortran","end":"(::)|(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"patterns":[{"include":"#invalid-word"}]},{"include":"#comments"},{"include":"#name-list"}]}]}]},"equivalence-statement":{"begin":"(?i)\\\\b(equivalence)\\\\b","beginCaptures":{"1":{"name":"keyword.control.common.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"begin":"(?:\\\\G|(,))","beginCaptures":{"1":{"name":"puntuation.comma.fortran"}},"end":"(?=[,;!\\\\n])","patterns":[{"include":"#parentheses-dummy-variables"}]}]},"error-stop-statement":{"begin":"(?i)\\\\s*\\\\b(error\\\\s+stop)\\\\b","beginCaptures":{"1":{"name":"keyword.control.errorstop.fortran"}},"comment":"Introduced in the Fortran 2008 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.control.errorstop.fortran","patterns":[{"include":"#constants"},{"include":"#string-operators"},{"include":"#variable"},{"include":"#invalid-character"}]},"event-statement":{"begin":"(?i)\\\\b(event post|event wait)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.event.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Introduced in the Fortran 2018 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"name":"meta.statement.event.fortran","patterns":[{"include":"#parentheses-dummy-variables"}]},"execution-statements":{"patterns":[{"include":"#allocate-statement"},{"include":"#deallocate-statement"},{"include":"#IO-statements"},{"include":"#nullify-statement"}]},"exit-statement":{"begin":"(?i)\\\\s*\\\\b(exit)\\\\b","beginCaptures":{"1":{"name":"keyword.control.exit.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.control.exit.fortran","patterns":[]},"explicit-interface-block-construct":{"begin":"(?i)\\\\b(interface)\\\\b(?=\\\\s*[;!\\\\n])","beginCaptures":{"1":{"name":"keyword.control.interface.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(?i)\\\\b(end\\\\s*interface)\\\\b","endCaptures":{"1":{"name":"keyword.control.endinterface.fortran.modern"}},"name":"meta.interface.explicit.fortran","patterns":[{"include":"$base"}]},"extends-attribute":{"begin":"(?i)\\\\s*\\\\b(extends)\\\\s*\\\\(","beginCaptures":{"1":{"name":"storage.modifier.extends.fortran"}},"end":"(?:\\\\)|(?=\\\\n))","patterns":[{"match":"(?i)\\\\s*\\\\b([a-z]\\\\w*)\\\\b","name":"entity.name.type.fortran"}]},"external-attribute":{"captures":{"1":{"name":"storage.modifier.external.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","match":"(?i)\\\\s*\\\\b(external)\\\\b"},"fail-image-statement":{"captures":{"1":{"name":"keyword.control.fail-image.fortran"}},"comment":"Introduced in the Fortran 2018 standard.","match":"\\\\b(fail image)\\\\b","name":"meta.statement.fail-image.fortran"},"forall-construct":{"applyEndPatternLast":1,"begin":"(?i)\\\\b(forall)\\\\b","beginCaptures":{"1":{"name":"keyword.control.forall.fortran"}},"comment":"Introduced in the Fortran 1995 standard.","end":"(?<!\\\\G)","patterns":[{"begin":"(?i)\\\\G(?!\\\\s*[;!\\\\n])","comment":"Loop control.","end":"(?<!\\\\G)","name":"meta.loop-control.fortran","patterns":[{"include":"#parentheses"},{"include":"#invalid-word"}]},{"begin":"(?<=\\\\))(?=\\\\s*[;!\\\\n])","end":"(?i)\\\\b(end\\\\s*forall)\\\\b","endCaptures":{"1":{"name":"keyword.control.endforall.fortran"}},"name":"meta.block.forall.fortran","patterns":[{"include":"$base"}]},{"begin":"(?i)(?<=\\\\))(?!\\\\s*[;!\\\\n])","end":"\\\\n","name":"meta.statement.control.forall.fortran","patterns":[{"include":"$base"}]}]},"form-team-statement":{"begin":"(?i)\\\\b(form team)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.form-team.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Introduced in the Fortran 2018 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"name":"meta.statement.form-team.fortran","patterns":[{"include":"#parentheses-dummy-variables"}]},"function-definition":{"begin":"(?i)(?=([^:'\\";!\\\\n](?!\\\\bend)(?!\\\\bsubroutine\\\\b))*\\\\bfunction\\\\b)","comment":"Function program unit. Introduced in the Fortran 1977 standard.","end":"(?=[;!\\\\n])","name":"meta.function.fortran","patterns":[{"begin":"(?i)(?=\\\\G\\\\s*(?!\\\\bfunction\\\\b))","comment":"Function attribute list.","end":"(?i)(?=\\\\bfunction\\\\b)","name":"meta.attribute-list.function.fortran","patterns":[{"include":"#elemental-attribute"},{"include":"#module-attribute"},{"include":"#pure-attribute"},{"include":"#recursive-attribute"},{"include":"#types"},{"include":"#invalid-word"}]},{"begin":"(?i)\\\\b(function)\\\\b","beginCaptures":{"1":{"name":"keyword.other.function.fortran"}},"comment":"Captures the function keyword","end":"(?=[;!\\\\n])","patterns":[{"begin":"(?i)\\\\G\\\\s*\\\\b([a-z]\\\\w*)\\\\b","beginCaptures":{"1":{"name":"entity.name.function.fortran"}},"comment":"Function body.","end":"(?ix)\\\\s*\\\\b(?:(end\\\\s*function)(?:\\\\s+([a-z_]\\\\w*))?|(end))\\\\b \\\\s*([^;!\\\\n]+)?(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.other.endfunction.fortran"},"2":{"name":"entity.name.function.fortran"},"3":{"name":"keyword.other.endfunction.fortran"},"4":{"name":"invalid.error.function.fortran"}},"patterns":[{"begin":"\\\\G(?!\\\\s*[;!\\\\n])","comment":"Rest of the first line in function construct.","end":"(?=[;!\\\\n])","name":"meta.function.first-line.fortran","patterns":[{"include":"#dummy-variable-list"},{"include":"#result-statement"},{"include":"#language-binding-attribute"}]},{"begin":"(?i)(?!\\\\b(?:end\\\\s*[;!\\\\n]|end\\\\s*function\\\\b))","comment":"Specification and execution block.","end":"(?i)(?=\\\\b(?:end\\\\s*[;!\\\\n]|end\\\\s*function\\\\b))","name":"meta.block.specification.function.fortran","patterns":[{"begin":"(?i)\\\\b(contains)\\\\b","beginCaptures":{"1":{"name":"keyword.control.contains.fortran"}},"comment":"Contains block.","end":"(?i)(?=(?:end\\\\s*[;!\\\\n]|end\\\\s*function\\\\b))","name":"meta.block.contains.fortran","patterns":[{"include":"$base"}]},{"include":"$base"}]}]}]}]},"generic-interface-block-construct":{"begin":"(?i)\\\\b(interface)\\\\b","beginCaptures":{"1":{"name":"keyword.control.interface.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(?=[;!\\\\n])","name":"meta.interface.generic.fortran","patterns":[{"begin":"(?ix)\\\\G\\\\s*\\\\b(assignment)\\\\s* (\\\\()\\\\s*(?:(\\\\=)|(\\\\S.*))\\\\s*(\\\\))","beginCaptures":{"1":{"name":"keyword.other.assignment.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"},"3":{"name":"keyword.operator.assignment.fortran"},"4":{"name":"invalid.error.generic-interface.fortran"},"5":{"name":"punctuation.parentheses.right.fortran"}},"comment":"Assignment generic interface.","end":"(?ix)\\\\b(end\\\\s*interface)\\\\b (?:\\\\s*\\\\b(\\\\1)\\\\b\\\\s*(\\\\()\\\\s*(?:(\\\\3)|(\\\\S.*))\\\\s*(\\\\)))?","endCaptures":{"1":{"name":"keyword.control.endinterface.fortran"},"2":{"name":"keyword.other.assignment.fortran"},"3":{"name":"punctuation.parentheses.left.fortran"},"4":{"name":"keyword.operator.assignment.fortran"},"5":{"name":"invalid.error.generic-interface-end.fortran"},"6":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#interface-procedure-statement"},{"include":"$base"}]},{"begin":"(?ix)\\\\G\\\\s*\\\\b(operator)\\\\s* (\\\\()\\\\s*(?: (\\\\.[a-z]+\\\\.|\\\\=\\\\=|\\\\/\\\\=|\\\\>\\\\=|\\\\>|\\\\<|\\\\<\\\\=|\\\\-|\\\\+|\\\\/|\\\\/\\\\/|\\\\*\\\\*|\\\\*) |(\\\\S.*) )\\\\s*(\\\\))","beginCaptures":{"1":{"name":"keyword.other.operator.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"},"3":{"name":"keyword.operator.fortran"},"4":{"name":"invalid.error.generic-interface-block-op.fortran"},"5":{"name":"punctuation.parentheses.right.fortran"}},"comment":"Operator generic interface.","end":"(?ix)\\\\b(end\\\\s*interface)\\\\b (?:\\\\s*\\\\b(\\\\1)\\\\b\\\\s*(\\\\()\\\\s*(?:(\\\\3)|(\\\\S.*))\\\\s*(\\\\)))?","endCaptures":{"1":{"name":"keyword.control.endinterface.fortran"},"2":{"name":"keyword.other.operator.fortran"},"3":{"name":"punctuation.parentheses.left.fortran"},"4":{"name":"keyword.operator.fortran"},"5":{"name":"invalid.error.generic-interface-block-op-end.fortran"},"6":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#interface-procedure-statement"},{"include":"$base"}]},{"begin":"(?ix)\\\\G\\\\s*\\\\b(?:(read)|(write))\\\\s* (\\\\()\\\\s*(?:(formatted)|(unformatted)|(\\\\S.*))\\\\s*(\\\\))","beginCaptures":{"1":{"name":"keyword.other.read.fortran"},"2":{"name":"keyword.other.write.fortran"},"3":{"name":"punctuation.parentheses.left.fortran"},"4":{"name":"keyword.other.formatted.fortran"},"5":{"name":"keyword.other.unformatted.fortran"},"6":{"name":"invalid.error.generic-interface-block.fortran"},"7":{"name":"punctuation.parentheses.right.fortran"}},"comment":"Read/Write generic interface.","end":"(?ix)\\\\b(end\\\\s*interface)\\\\b(?:\\\\s*\\\\b(?:(\\\\2)|(\\\\3))\\\\b\\\\s* (\\\\()\\\\s*(?:(\\\\4)|(\\\\5)|(\\\\S.*))\\\\s*(\\\\)))?","endCaptures":{"1":{"name":"keyword.control.endinterface.fortran"},"2":{"name":"keyword.other.read.fortran"},"3":{"name":"keyword.other.write.fortran"},"4":{"name":"punctuation.parentheses.left.fortran"},"5":{"name":"keyword.other.formatted.fortran"},"6":{"name":"keyword.other.unformatted.fortran"},"7":{"name":"invalid.error.generic-interface-block-end.fortran"},"8":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#interface-procedure-statement"},{"include":"$base"}]},{"begin":"(?i)\\\\G\\\\s*\\\\b([a-z]\\\\w*)\\\\b","beginCaptures":{"1":{"name":"entity.name.function.fortran"}},"comment":"Generic interface.","end":"(?i)\\\\b(end\\\\s*interface)\\\\b(?:\\\\s*\\\\b(\\\\1)\\\\b)?","endCaptures":{"1":{"name":"keyword.control.endinterface.fortran"},"2":{"name":"entity.name.function.fortran"}},"patterns":[{"include":"#interface-procedure-statement"},{"include":"$base"}]}]},"goto-statement":{"begin":"(?i)\\\\s*\\\\b(go\\\\s*to)\\\\b","beginCaptures":{"1":{"name":"keyword.control.goto.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.control.goto.fortran","patterns":[{"include":"$base"}]},"if-construct":{"patterns":[{"begin":"(?i)\\\\b(if)\\\\b","beginCaptures":{"1":{"name":"keyword.control.if.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"include":"#logical-control-expression"},{"begin":"(?i)\\\\s*\\\\b(then)\\\\b","beginCaptures":{"1":{"name":"keyword.control.then.fortran"}},"contentName":"meta.block.if.fortran","end":"(?i)\\\\b(end\\\\s*if)\\\\b","endCaptures":{"1":{"name":"keyword.control.endif.fortran"}},"patterns":[{"begin":"(?i)\\\\b(else\\\\s*if)\\\\b","beginCaptures":{"1":{"name":"keyword.control.elseif.fortran"}},"comment":"else if statement","end":"(?=[;!\\\\n])","patterns":[{"include":"#parentheses"},{"captures":{"1":{"name":"keyword.control.then.fortran"},"2":{"name":"meta.label.elseif.fortran"}},"comment":"capture the label if present","match":"(?i)\\\\b(then)\\\\b(\\\\s*[a-z]\\\\w*)?"},{"include":"#invalid-word"}]},{"begin":"(?i)\\\\b(else)\\\\b","beginCaptures":{"1":{"name":"keyword.control.else.fortran"}},"comment":"else block","end":"(?i)(?=\\\\b(end\\\\s*if)\\\\b)","patterns":[{"begin":"(?!(\\\\s*(;|!|\\\\n)))","comment":"rest of else line","end":"(?=[;!\\\\n])","patterns":[{"captures":{"1":{"name":"meta.label.else.fortran"},"2":{"name":"invalid.error.label.else.fortran"}},"comment":"capture the label if present","match":"\\\\s*([a-z]\\\\w*)?\\\\s*\\\\b(\\\\w*)\\\\b"},{"include":"#invalid-word"}]},{"begin":"(?i)(?!\\\\b(end\\\\s*if)\\\\b)","end":"(?i)(?=\\\\b(end\\\\s*if)\\\\b)","patterns":[{"include":"$base"}]}]},{"include":"$base"}]},{"begin":"(?i)(?=\\\\s*[a-z])","end":"(?=[;!\\\\n])","name":"meta.statement.control.if.fortran","patterns":[{"include":"$base"}]}]}]},"image-control-statement":{"patterns":[{"include":"#sync-all-statement"},{"include":"#sync-statement"},{"include":"#event-statement"},{"include":"#form-team-statement"},{"include":"#fail-image-statement"}]},"implicit-statement":{"begin":"(?i)\\\\b(implicit)\\\\b","beginCaptures":{"1":{"name":"keyword.other.implicit.fortran"}},"end":"(?=[;!\\\\n])","name":"meta.statement.implicit.fortran","patterns":[{"captures":{"1":{"name":"keyword.other.none.fortran"}},"match":"(?i)\\\\s*\\\\b(none)\\\\b"},{"include":"$base"}]},"import-statement":{"begin":"(?i)\\\\b(import)\\\\b","beginCaptures":{"1":{"name":"keyword.control.include.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.include.fortran","patterns":[{"begin":"(?i)\\\\G\\\\s*(?:(::)|(?=[a-z]))","beginCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"include":"#name-list"}]},{"begin":"\\\\G\\\\s*(,)","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"captures":{"1":{"name":"keyword.other.all.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(all)\\\\b"},{"captures":{"1":{"name":"keyword.other.none.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(none)\\\\b"},{"begin":"(?i)\\\\G\\\\s*\\\\b(only)\\\\s*(:)","beginCaptures":{"1":{"name":"keyword.other.only.fortran"},"2":{"name":"keyword.other.colon.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"include":"#name-list"}]},{"include":"#invalid-word"}]}]},"include-statement":{"begin":"(?i)\\\\b(include)\\\\b","beginCaptures":{"1":{"name":"keyword.control.include.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.include.fortran","patterns":[{"include":"#string-constant"},{"include":"#invalid-character"}]},"intent-attribute":{"begin":"(?i)\\\\s*\\\\b(intent)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"storage.modifier.intent.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(\\\\))|(?=[;!\\\\n])","endCaptures":{"1":{"name":"punctuation.parentheses.left.fortran"}},"patterns":[{"captures":{"1":{"name":"storage.modifier.intent.in-out.fortran"},"2":{"name":"storage.modifier.intent.in.fortran"},"3":{"name":"storage.modifier.intent.out.fortran"}},"match":"(?i)\\\\b(?:(in\\\\s*out)|(in)|(out))\\\\b"},{"include":"#invalid-word"}]},"interface-block-constructs":{"patterns":[{"include":"#abstract-interface-block-construct"},{"include":"#explicit-interface-block-construct"},{"include":"#generic-interface-block-construct"}]},"interface-procedure-statement":{"begin":"(?i)(?=[^'\\";!\\\\n]*\\\\bprocedure\\\\b)","comment":"Introduced in the Fortran 1990 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.procedure.fortran","patterns":[{"begin":"(?i)(?=\\\\G\\\\s*(?!\\\\bprocedure\\\\b))","comment":"Attribute list.","end":"(?i)(?=\\\\bprocedure\\\\b)","name":"meta.attribute-list.interface.fortran","patterns":[{"include":"#module-attribute"},{"include":"#invalid-word"}]},{"begin":"(?i)\\\\s*\\\\b(procedure)\\\\b","beginCaptures":{"1":{"name":"keyword.other.procedure.fortran"}},"comment":"Procedure statement.","end":"(?=[;!\\\\n])","patterns":[{"captures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"match":"\\\\G\\\\s*(::)"},{"include":"#procedure-name-list"}]}]},"intrinsic-attribute":{"captures":{"1":{"name":"storage.modifier.intrinsic.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","match":"(?i)\\\\s*\\\\b(intrinsic)\\\\b"},"intrinsic-functions":{"patterns":[{"begin":"(?ix)\\\\b(acosh|asinh|atanh|bge|bgt|ble|blt|dshiftl|dshiftr| findloc|hypot|iall|iany|image_index|iparity|is_contiguous|lcobound| leadz|mask[lr]|merge_bits|norm2|num_images|parity|popcnt|poppar| shift[alr]|storage_size|this_image|trailz|ucobound)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"support.function.intrinsic.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Intrinsic functions introduced in the Fortran 2008 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?ix)\\\\b(bessel_[jy][01n]|erf(c(_scaled)?)?|gamma|log_gamma)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"support.function.intrinsic.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Functions accessable through the intrinsic FORTRAN_SPECIAL_FUNCTIONS module. Introduced in the Fortran 2008 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?ix)\\\\b(command_argument_count|extends_type_of|is_iostat_end| is_iostat_eor|new_line|same_type_as|selected_char_kind)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"support.function.intrinsic.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Intrinsic functions introduced in the Fortran 2003 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?ix)\\\\b(ieee_( class|copy_sign|is_(finite|nan|negative|normal)|logb|next_after|rem| rint|scalb|selected_real_kind| support_(datatype|denormal|divide|inf|io|nan|rounding|sqrt|standard|underflow_control)| unordered|value))\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"support.function.intrinsic.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Functions accessable through the intrinsic IEEE_ARITHMETIC module. Introduced in the Fortran 2003 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?ix)\\\\b(ieee_support_(flag|halting))\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"support.function.intrinsic.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Functions accessable through the intrinsic IEEE_EXCEPTIONS module. Introduced in the Fortran 2003 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?ix)\\\\b(c_(associated|funloc|loc|sizeof))\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"support.function.intrinsic.fortran"}},"comment":"Functions accessable through the intrinsic ISO_C_BINDING module. Introduced in the Fortran 2003 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?ix)\\\\b(compiler_(options|version))\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"support.function.intrinsic.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Functions accessable through the intrinsic ISO_FORTRAN_ENV module. Introduced in the Fortran 2003 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?ix)\\\\b(null)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"support.function.intrinsic.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Intrinsic functions introduced in the Fortran 1995 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?ix)\\\\b(achar|adjustl|adjustr|all|allocated|associated|any|bit_size|btest|ceiling|count|cshift|digits|dot_product|eoshift|epsilon|exponent|floor|fraction|huge|iachar|iand|ibclr|ibits|ibset|ieor|ior|ishftc?| kind|lbound|len_trim|logical|matmul|maxexponent|maxloc|maxval|merge|minexponent|minloc|minval|modulo|nearest|not|pack|precision|present|product|radix|range|repeat|reshape|rrspacing|scale|scan|selected_(int|real)_kind|set_exponent|shape|size|spacing|spread|sum|tiny|transfer|transpose|trim|ubound|unpack|verify)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"support.function.intrinsic.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Intrinsic functions introduced in the Fortran 1990 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?ix)\\\\b([icd]?abs|acos|[ad]int|[ad]nint|aimag|amax[01]| amin[01]|d?asin|d?atan|d?atan2|char|conjg|[cd]?cos|d?cosh|cmplx|dble| i?dim|dmax1|dmin1|dprod|[cd]?exp|float|ichar|idint|ifix|index|int|len| lge|lgt|lle|llt|[acd]?log|[ad]?log10|max[01]?|min[01]?|[ad]?mod| (id)?nint|real|[di]?sign|[cd]?sin|d?sinh|sngl|[cd]?sqrt|d?tan|d?tanh) \\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"support.function.intrinsic.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Intrinsic functions introduced in the Fortran 1977 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]}]},"intrinsic-subroutines":{"patterns":[{"begin":"(?ix)\\\\G\\\\s*\\\\b(date_and_time|mvbits|random_number|random_seed| system_clock)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.function.subroutine.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Intrinsic subroutines introduced in the Fortran 1990 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?i)\\\\G\\\\s*\\\\b(cpu_time)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.function.subroutine.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Intrinsic subroutines introduced in the Fortran 1995 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?i)\\\\G\\\\s*\\\\b(ieee_(get|set)_(rounding|underflow)_mode)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.function.subroutine.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Subroutines accessable through the intrinsic IEEE_ARITHMETIC module. Introduced in the Fortran 2003 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?i)\\\\G\\\\s*\\\\b(ieee_(get|set)_(flag|halting_mode|status))\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.function.subroutine.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Subroutines accessable through the intrinsic IEEE_EXCEPTIONS module. Introduced in the Fortran 2003 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?i)\\\\G\\\\s*\\\\b(c_f_(pointer|procpointer))\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.function.subroutine.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Subroutines accessable through the intrinsic ISO_C_BINDING module. Introduced in the Fortran 2003 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"begin":"(?ix)\\\\G\\\\s*\\\\b(execute_command_line|get_command| get_command_argument|get_environment_variable|move_alloc)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.function.subroutine.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Intrinsic subroutines introduced in the Fortran 2008 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]}]},"invalid-character":{"match":"(?i)[^\\\\s;!\\\\n]+","name":"invalid.error.character.fortran"},"invalid-word":{"match":"(?i)\\\\b\\\\w+\\\\b","name":"invalid.error.word.fortran"},"language-binding-attribute":{"begin":"(?i)\\\\s*\\\\b(bind)\\\\s*\\\\(","beginCaptures":{"1":{"name":"storage.modifier.bind.fortran"}},"comment":"Introduced in Fortran 2003 standard.","end":"(?:\\\\)|(?=\\\\n))","patterns":[{"match":"(?i)\\\\b(c)\\\\b","name":"variable.parameter.fortran"},{"include":"#dummy-variable"},{"include":"$base"}]},"line-continuation-operator":{"comment":"Operator that allows a line to be continued on the next line.","patterns":[{"captures":{"1":{"name":"keyword.operator.line-continuation.fortran"}},"match":"(?:^|(?<=;))\\\\s*(&)"},{"begin":"\\\\s*(&)","beginCaptures":{"1":{"name":"keyword.operator.line-continuation.fortran"}},"contentName":"meta.line-continuation.fortran","end":"(?i)^(?:\\\\s*(&))?","endCaptures":{"1":{"name":"keyword.operator.line-continuation.fortran"}},"patterns":[{"include":"#comments"},{"match":"\\\\S[^!]*","name":"invalid.error.line-cont.fortran"}]}]},"logical-constant":{"captures":{"1":{"name":"constant.language.logical.false.fortran"},"2":{"name":"constant.language.logical.true.fortran"}},"comment":"Logical constants","match":"(?i)\\\\s*(?:(\\\\.false\\\\.)|(\\\\.true\\\\.))"},"logical-control-expression":{"begin":"\\\\G(?=\\\\s*\\\\()","end":"(?<!\\\\G)","name":"meta.expression.control.logical.fortran","patterns":[{"include":"#parentheses"}]},"logical-operators":{"patterns":[{"comment":"Introduced in the Fortran 1977 standard.","match":"(?ix)(\\\\s*\\\\.(and|eq|eqv|le|lt|ge|gt|ne|neqv|not|or)\\\\.)","name":"keyword.logical.fortran"},{"comment":"Introduced in the Fortran 1990 standard.","match":"(\\\\=\\\\=|\\\\/\\\\=|\\\\>\\\\=|(?<!\\\\=)\\\\>|\\\\<\\\\=|\\\\<)","name":"keyword.logical.fortran.modern"}]},"logical-type":{"comment":"Introduced in the Fortran 1977 standard.","patterns":[{"begin":"(?i)\\\\b(logical)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"storage.type.logical.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"contentName":"meta.type-spec.fortran","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"captures":{"1":{"name":"storage.type.character.fortran"},"2":{"name":"keyword.operator.multiplication.fortran"},"3":{"name":"constant.numeric.fortran"}},"match":"(?i)\\\\b(logical)\\\\b(?:\\\\s*(\\\\*)\\\\s*(\\\\d*))?"}]},"module-attribute":{"captures":{"1":{"name":"storage.modifier.module.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","match":"(?ix)\\\\s*\\\\b(module)\\\\b(?=\\\\s*(?:[;!\\\\n]| [^'\\";!\\\\n]*\\\\b(?:function|procedure|subroutine)\\\\b))"},"module-definition":{"begin":"(?ix)(?=\\\\b(module)\\\\b)(?![^'\\";!\\\\n]* \\\\b(?:function|procedure|subroutine)\\\\b)","comment":"Introduced in the Fortran 1990 standard.","end":"(?=[;!\\\\n])","name":"meta.module.fortran","patterns":[{"captures":{"1":{"name":"keyword.other.program.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(module)\\\\b"},{"applyEndPatternLast":1,"begin":"(?i)\\\\s*\\\\b([a-z]\\\\w*)\\\\b","beginCaptures":{"1":{"name":"entity.name.class.module.fortran"}},"comment":"Module body.","end":"(?ix)\\\\b(?:(end\\\\s*module)(?:\\\\s+([a-z_]\\\\w*))?|(end))\\\\b \\\\s*([^;!\\\\n]+)?(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.other.endmodule.fortran"},"2":{"name":"entity.name.class.module.fortran"},"3":{"name":"keyword.other.endmodule.fortran"},"4":{"name":"invalid.error.module-definition.fortran"}},"patterns":[{"begin":"\\\\G","comment":"Module specification block.","end":"(?i)(?=\\\\b(?:end\\\\s*[;!\\\\n]|end\\\\s*module\\\\b))","name":"meta.block.specification.module.fortran","patterns":[{"begin":"(?i)\\\\b(contains)\\\\b","beginCaptures":{"1":{"name":"keyword.control.contains.fortran"}},"comment":"Module contains block.","end":"(?i)(?=\\\\s*(?:end\\\\s*[;!\\\\n]|end\\\\s*module\\\\b))","name":"meta.block.contains.fortran","patterns":[{"include":"$base"}]},{"include":"$base"}]}]}]},"name-list":{"begin":"(?i)(?=\\\\s*[a-z])","comment":"Name list.","contentName":"meta.name-list.fortran","end":"(?=[\\\\);!\\\\n])","patterns":[{"include":"#constants"},{"include":"#operators"},{"include":"#intrinsic-functions"},{"include":"#array-constructor"},{"include":"#parentheses"},{"include":"#brackets"},{"include":"#assignment-keyword"},{"include":"#operator-keyword"},{"include":"#variable"}]},"named-control-constructs":{"applyEndPatternLast":1,"begin":"(?ix)([a-z]\\\\w*)\\\\s*(:)(?=\\\\s*(?:associate|block(?!\\\\s*data)|critical|do|forall|if|select\\\\s*case|select\\\\s*type|select\\\\s*rank|where)\\\\b)","comment":"Introduced in the Fortran 1990 standard.","contentName":"meta.named-construct.fortran.modern","end":"(?i)(?!\\\\s*\\\\b(?:associate|block(?!\\\\s*data)|critical|do|forall|if|select\\\\s*case|select\\\\s*type|select\\\\s*rank|where)\\\\b)(?:\\\\b(\\\\1)\\\\b)?([^\\\\s;!\\\\n]*?)?(?=\\\\s*[;!\\\\n])","endCaptures":{"1":{"name":"meta.label.end.name.fortran"},"2":{"name":"invalid.error.named-control-constructs.fortran.modern"}},"patterns":[{"include":"#unnamed-control-constructs"}]},"namelist-statement":{"begin":"(?i)\\\\b(namelist)\\\\b","beginCaptures":{"1":{"name":"keyword.control.namelist.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(?=[;!\\\\n])","patterns":[{"include":"$base"}]},"non-intrinsic-attribute":{"captures":{"1":{"name":"storage.modifier.non-intrinsic.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","match":"(?i)\\\\s*\\\\b(non_intrinsic)\\\\b"},"non-overridable-attribute":{"captures":{"1":{"name":"storage.modifier.non-overridable.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","match":"(?i)\\\\s*\\\\b(non_overridable)\\\\b"},"nopass-attribute":{"captures":{"1":{"name":"storage.modifier.nopass.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","match":"(?i)\\\\s*\\\\b(nopass)\\\\b"},"nullify-statement":{"begin":"(?i)\\\\b(nullify)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.nullify.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"name":"meta.statement.nullify.fortran","patterns":[{"include":"#parentheses-dummy-variables"}]},"numeric-constant":{"comment":"Numeric constants","match":"(?ix)[\\\\+\\\\-]?(\\\\b\\\\d+\\\\.?\\\\d*|\\\\.\\\\d+) (_\\\\w+|d[\\\\+\\\\-]?\\\\d+|e[\\\\+\\\\-]?\\\\d+(_\\\\w+)?)?(?![a-z_])","name":"constant.numeric.fortran"},"numeric-type":{"comment":"Introduced in the Fortran 1977 standard.","patterns":[{"begin":"(?i)\\\\b(?:(complex)|(double\\\\s*precision)|(double\\\\s*complex)|(integer)|(real))\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"storage.type.complex.fortran"},"2":{"name":"storage.type.double.fortran"},"3":{"name":"storage.type.doublecomplex.fortran"},"4":{"name":"storage.type.integer.fortran"},"5":{"name":"storage.type.real.fortran"},"6":{"name":"punctuation.parentheses.left.fortran"}},"contentName":"meta.type-spec.fortran","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#parentheses-dummy-variables"}]},{"captures":{"1":{"name":"storage.type.complex.fortran"},"2":{"name":"storage.type.double.fortran"},"3":{"name":"storage.type.doublecomplex.fortran"},"4":{"name":"storage.type.integer.fortran"},"5":{"name":"storage.type.real.fortran"},"6":{"name":"storage.type.dimension.fortran"},"7":{"name":"keyword.operator.multiplication.fortran"},"8":{"name":"constant.numeric.fortran"}},"match":"(?ix)\\\\b(?:(complex)|(double\\\\s*precision)|(double\\\\s*complex)|(integer)|(real)|(dimension))\\\\b(?:\\\\s*(\\\\*)\\\\s*(\\\\d*))?"}]},"operator-keyword":{"begin":"(?i)\\\\s*\\\\b(operator)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.generic-spec.operator.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Operator generic specification.","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#arithmetic-operators"},{"include":"#logical-operators"},{"include":"#user-defined-operators"},{"include":"#invalid-word"}]},"operators":{"patterns":[{"include":"#arithmetic-operators"},{"include":"#assignment-operator"},{"include":"#derived-type-operators"},{"include":"#logical-operators"},{"include":"#pointer-operators"},{"include":"#string-operators"},{"include":"#user-defined-operators"}]},"optional-attribute":{"captures":{"1":{"name":"storage.modifier.optional.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","match":"(?i)\\\\s*\\\\b(optional)\\\\b"},"parameter-attribute":{"captures":{"1":{"name":"storage.modifier.parameter.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","match":"(?i)\\\\s*\\\\b(parameter)\\\\b"},"parentheses":{"begin":"\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.parentheses.left.fortran"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#comments"},{"include":"#constants"},{"include":"#operators"},{"include":"#array-constructor"},{"include":"#parentheses"},{"include":"#intrinsic-functions"},{"include":"#variable"}]},"parentheses-dummy-variables":{"begin":"\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.parentheses.left.fortran"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#procedure-call-dummy-variable"},{"include":"#comments"},{"include":"#constants"},{"include":"#operators"},{"include":"#array-constructor"},{"include":"#parentheses"},{"include":"#intrinsic-functions"},{"include":"#variable"}]},"pass-attribute":{"comment":"Introduced in the Fortran 2003 standard.","patterns":[{"begin":"(?i)\\\\s*\\\\b(pass)\\\\s*\\\\(","beginCaptures":{"1":{"name":"storage.modifier.pass.fortran"}},"comment":"Pass attribute with argument.","end":"\\\\)|(?=\\\\n)","patterns":[]},{"captures":{"1":{"name":"storage.modifier.pass.fortran"}},"comment":"Pass attribute without argument.","match":"(?i)\\\\s*\\\\b(pass)\\\\b"}]},"pause-statement":{"begin":"(?i)\\\\s*\\\\b(pause)\\\\b","beginCaptures":{"1":{"name":"keyword.control.pause.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.control.pause.fortran","patterns":[{"include":"#constants"},{"include":"#invalid-character"}]},"pointer-attribute":{"captures":{"1":{"name":"storage.modifier.pointer.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","match":"(?i)\\\\s*\\\\b(pointer)\\\\b"},"pointer-operators":{"comment":"Introduced in the Fortran 1990 standard.","match":"(\\\\=\\\\>)","name":"keyword.other.point.fortran"},"preprocessor":{"begin":"^\\\\s*(#:?)","beginCaptures":{"1":{"name":"keyword.control.preprocessor.indicator.fortran"}},"end":"\\\\n","name":"meta.preprocessor","patterns":[{"include":"#preprocessor-if-construct"},{"include":"#preprocessor-statements"}]},"preprocessor-arithmetic-operators":{"captures":{"1":{"name":"keyword.operator.subtraction.fortran"},"2":{"name":"keyword.operator.addition.fortran"},"3":{"name":"keyword.operator.division.fortran"},"4":{"name":"keyword.operator.multiplication.fortran"}},"comment":"division regex is different than in main fortran","match":"(\\\\-)|(\\\\+)|(\\\\/)|(\\\\*)"},"preprocessor-assignment-operator":{"comment":"assignments with = are not allowed","match":"(?<!\\\\=)(\\\\=)(?!\\\\=)","name":"keyword.operator.assignment.preprocessor.fortran"},"preprocessor-comments":{"begin":"/\\\\*","end":"\\\\*/","name":"comment.preprocessor"},"preprocessor-constants":{"patterns":[{"include":"#cpp-numeric-constant"},{"include":"#preprocessor-string-constant"}]},"preprocessor-define-statement":{"begin":"(?i)\\\\G\\\\s*\\\\b(define)\\\\b","beginCaptures":{"1":{"name":"keyword.control.preprocessor.define.fortran"}},"end":"(?=\\\\n)","name":"meta.preprocessor.macro.fortran","patterns":[{"include":"#preprocessor-comments"},{"include":"#preprocessor-constants"},{"include":"#preprocessor-line-continuation-operator"}]},"preprocessor-defined-function":{"captures":{"1":{"name":"keyword.control.preprocessor.defined.fortran"}},"match":"(?i)\\\\b(defined)\\\\b"},"preprocessor-error-statement":{"begin":"(?i)\\\\G\\\\s*(error)\\\\b","beginCaptures":{"1":{"name":"keyword.control.preprocessor.error.fortran"}},"end":"(?=\\\\n)","name":"meta.preprocessor.macro.fortran","patterns":[{"include":"#preprocessor-comments"},{"include":"#preprocessor-string-constant"},{"include":"#preprocessor-line-continuation-operator"}]},"preprocessor-if-construct":{"patterns":[{"begin":"(?i)\\\\G\\\\s*\\\\b(if)\\\\b","beginCaptures":{"1":{"name":"keyword.control.preprocessor.if.fortran"}},"end":"(?=\\\\n)","name":"meta.preprocessor.conditional.fortran","patterns":[{"include":"#preprocessor-comments"},{"include":"#cpp-numeric-constant"},{"include":"#preprocessor-logical-operators"},{"include":"#preprocessor-arithmetic-operators"},{"include":"#preprocessor-defined-function"},{"include":"#preprocessor-line-continuation-operator"}]},{"begin":"(?i)\\\\G\\\\s*\\\\b(ifdef)\\\\b","beginCaptures":{"1":{"name":"keyword.control.preprocessor.ifdef.fortran"}},"end":"(?=\\\\n)","patterns":[{"include":"#preprocessor-comments"},{"include":"#cpp-numeric-constant"},{"include":"#preprocessor-logical-operators"},{"include":"#preprocessor-arithmetic-operators"},{"include":"#preprocessor-line-continuation-operator"}]},{"begin":"(?i)\\\\G\\\\s*\\\\b(ifndef)\\\\b","beginCaptures":{"1":{"name":"keyword.control.preprocessor.ifndef.fortran"}},"end":"(?=\\\\n)","patterns":[{"include":"#preprocessor-comments"},{"include":"#cpp-numeric-constant"},{"include":"#preprocessor-logical-operators"},{"include":"#preprocessor-arithmetic-operators"},{"include":"#preprocessor-line-continuation-operator"}]},{"begin":"(?i)\\\\G\\\\s*\\\\b(else)\\\\b","beginCaptures":{"1":{"name":"keyword.control.preprocessor.else.fortran"}},"end":"(?=\\\\n)","patterns":[{"include":"#preprocessor-comments"},{"include":"#cpp-numeric-constant"}]},{"begin":"(?i)\\\\G\\\\s*\\\\b(elif)\\\\b","beginCaptures":{"1":{"name":"keyword.control.preprocessor.elif.fortran"}},"end":"(?=\\\\n)","patterns":[{"include":"#preprocessor-comments"},{"include":"#cpp-numeric-constant"},{"include":"#preprocessor-logical-operators"},{"include":"#preprocessor-arithmetic-operators"},{"include":"#preprocessor-defined-function"},{"include":"#preprocessor-line-continuation-operator"}]},{"begin":"(?i)\\\\G\\\\s*\\\\b(endif)\\\\b","beginCaptures":{"1":{"name":"keyword.control.preprocessor.endif.fortran"}},"end":"(?=\\\\n)","patterns":[{"include":"#preprocessor-comments"}]}]},"preprocessor-include-statement":{"begin":"(?i)\\\\G\\\\s*(include)\\\\b","beginCaptures":{"1":{"name":"keyword.control.preprocessor.include.fortran"}},"end":"(?=\\\\n)","name":"meta.preprocessor.include.fortran","patterns":[{"include":"#preprocessor-comments"},{"include":"#preprocessor-string-constant"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.preprocessor.fortran"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.preprocessor.fortran"}},"name":"string.quoted.other.lt-gt.include.preprocessor.fortran"},{"include":"#line-continuation-operator"}]},"preprocessor-line-continuation-operator":{"begin":"\\\\s*(\\\\\\\\)","beginCaptures":{"1":{"name":"constant.character.escape.line-continuation.preprocessor.fortran"}},"end":"(?i)^"},"preprocessor-logical-operators":{"captures":{"1":{"name":"keyword.operator.logical.preprocessor.and.fortran"},"2":{"name":"keyword.operator.logical.preprocessor.equals.fortran"},"3":{"name":"keyword.operator.logical.preprocessor.not_equals.fortran"},"4":{"name":"keyword.operator.logical.preprocessor.or.fortran"},"5":{"name":"keyword.operator.logical.preprocessor.less_eq.fortran"},"6":{"name":"keyword.operator.logical.preprocessor.more_eq.fortran"},"7":{"name":"keyword.operator.logical.preprocessor.less.fortran"},"8":{"name":"keyword.operator.logical.preprocessor.more.fortran"},"9":{"name":"keyword.operator.logical.preprocessor.complementary.fortran"},"10":{"name":"keyword.operator.logical.preprocessor.xor.fortran"},"11":{"name":"keyword.operator.logical.preprocessor.bitand.fortran"},"12":{"name":"keyword.operator.logical.preprocessor.not.fortran"},"13":{"name":"keyword.operator.logical.preprocessor.bitor.fortran"}},"comment":"and:&&, bitand:&, or:||, bitor:|, not eq:!=, not:!, xor:^, compl:~","match":"(&&)|(==)|(\\\\!=)|(\\\\|\\\\|)|(\\\\<\\\\=)|(\\\\>=)|(\\\\<)|(\\\\>)|(~)|(\\\\^)|(&)|(\\\\!)|(\\\\|)","name":"keyword.operator.logical.preprocessor.fortran"},"preprocessor-operators":{"patterns":[{"include":"#preprocessor-line-continuation-operator"},{"include":"#preprocessor-logical-operators"},{"include":"#preprocessor-arithmetic-operators"}]},"preprocessor-pragma-statement":{"begin":"(?i)\\\\G\\\\s*\\\\b(pragma)\\\\b","beginCaptures":{"1":{"name":"keyword.control.preprocessor.pragma.fortran"}},"end":"(?=\\\\n)","name":"meta.preprocessor.pragma.fortran","patterns":[{"include":"#preprocessor-comments"},{"include":"#preprocessor-string-constant"}]},"preprocessor-statements":{"patterns":[{"include":"#preprocessor-define-statement"},{"include":"#preprocessor-error-statement"},{"include":"#preprocessor-include-statement"},{"include":"#preprocessor-preprocessor-pragma-statement"},{"include":"#preprocessor-undefine-statement"}]},"preprocessor-string-constant":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.preprocessor.fortran"}},"comment":"Double quote string","end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.preprocessor.fortran"}},"name":"string.quoted.double.include.preprocessor.fortran"},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.preprocessor.fortran"}},"comment":"Single quote string","end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.preprocessor.fortran"}},"name":"string.quoted.single.include.preprocessor.fortran"}]},"preprocessor-undefine-statement":{"begin":"(?i)\\\\G\\\\s*\\\\b(undef)\\\\b","beginCaptures":{"1":{"name":"keyword.control.preprocessor.undef.fortran"}},"end":"(?=\\\\n)","name":"meta.preprocessor.undef.fortran","patterns":[{"include":"#preprocessor-comments"},{"include":"#preprocessor-line-continuation-operator"}]},"private-attribute":{"captures":{"1":{"name":"storage.modifier.private.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","match":"(?i)\\\\s*\\\\b(private)\\\\b"},"procedure-call-dummy-variable":{"match":"(?i)\\\\s*([a-z]\\\\w*)(?=\\\\s*\\\\=)(?!\\\\s*\\\\=\\\\=)","name":"variable.parameter.dummy-variable.fortran.modern"},"procedure-definition":{"begin":"(?i)(?=[^'\\";!\\\\n]*\\\\bmodule\\\\s+procedure\\\\b)","comment":"Procedure program unit. Introduced in the Fortran 2008 standard.","end":"(?=[;!\\\\n])","name":"meta.procedure.fortran","patterns":[{"begin":"(?i)\\\\s*\\\\b(module\\\\s+procedure)\\\\b","beginCaptures":{"1":{"name":"keyword.other.procedure.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"begin":"(?i)\\\\G\\\\s*\\\\b([a-z]\\\\w*)\\\\b","beginCaptures":{"1":{"name":"entity.name.function.procedure.fortran"}},"comment":"Procedure body.","end":"(?ix)\\\\s*\\\\b(?:(end\\\\s*procedure)(?:\\\\s+([a-z_]\\\\w*))?|(end))\\\\b \\\\s*([^;!\\\\n]+)?(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.other.endprocedure.fortran"},"2":{"name":"entity.name.function.procedure.fortran"},"3":{"name":"keyword.other.endprocedure.fortran"},"4":{"name":"invalid.error.procedure-definition.fortran"}},"patterns":[{"begin":"\\\\G(?!\\\\s*[;!\\\\n])","comment":"Rest of the first line in procedure construct - should be empty.","end":"(?=[;!\\\\n])","name":"meta.first-line.fortran","patterns":[{"include":"#invalid-character"}]},{"begin":"(?i)(?!\\\\s*(?:contains\\\\b|end\\\\s*[;!\\\\n]|end\\\\s*procedure\\\\b))","comment":"Specification and execution block.","end":"(?i)(?=\\\\s*(?:contains\\\\b|end\\\\s*[;!\\\\n]|end\\\\s*procedure\\\\b))","name":"meta.block.specification.procedure.fortran","patterns":[{"include":"$self"}]},{"begin":"(?i)\\\\s*(contains)\\\\b","beginCaptures":{"1":{"name":"keyword.control.contains.fortran"}},"comment":"Contains block.","end":"(?i)(?=\\\\s*(?:end\\\\s*[;!\\\\n]|end\\\\s*procedure\\\\b))","name":"meta.block.contains.fortran","patterns":[{"include":"$self"}]}]}]}]},"procedure-name":{"captures":{"1":{"name":"entity.name.function.procedure.fortran"}},"comment":"Procedure name.","match":"(?i)\\\\s*\\\\b([a-z]\\\\w*)\\\\b"},"procedure-name-list":{"begin":"(?i)(?=\\\\s*[a-z])","comment":"Name list.","contentName":"meta.name-list.fortran","end":"(?=[;!\\\\n])","patterns":[{"begin":"(?!\\\\s*\\\\n)","end":"(,)|(?=[!;\\\\n])","endCaptures":{"1":{"name":"punctuation.comma.fortran"}},"patterns":[{"include":"#procedure-name"},{"include":"#pointer-operators"}]}]},"procedure-specification-statement":{"begin":"(?i)(?=\\\\b(?:procedure)\\\\b)","comment":"Introduced in the Fortran 2003 standard.","end":"(?=[;!\\\\n])","name":"meta.specification.procedure.fortran","patterns":[{"include":"#procedure-type"},{"begin":"(?=\\\\s*(,|::|\\\\())","comment":"Attribute list.","contentName":"meta.attribute-list.procedure.fortran","end":"(::)|(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"patterns":[{"begin":"(,)|^|(?<=&)","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"end":"(?=::|[,&;!\\\\n])","patterns":[{"include":"#access-attribute"},{"include":"#intent-attribute"},{"include":"#optional-attribute"},{"include":"#pointer-attribute"},{"include":"#protected-attribute"},{"include":"#save-attribute"},{"include":"#invalid-word"}]}]},{"include":"#procedure-name-list"}]},"procedure-type":{"comment":"Introduced in the Fortran ???? standard.","patterns":[{"begin":"(?i)\\\\b(procedure)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"storage.type.procedure.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"contentName":"meta.type-spec.fortran","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#types"},{"include":"#procedure-name"}]},{"captures":{"1":{"name":"storage.type.procedure.fortran"}},"match":"(?i)\\\\b(procedure)\\\\b"}]},"program-definition":{"begin":"(?i)(?=\\\\b(program)\\\\b)","comment":"Introduced in the Fortran 1977 standard.","end":"(?=[;!\\\\n])","name":"meta.program.fortran","patterns":[{"captures":{"1":{"name":"keyword.control.program.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(program)\\\\b"},{"applyEndPatternLast":1,"begin":"(?i)\\\\s*\\\\b([a-z]\\\\w*)\\\\b","beginCaptures":{"1":{"name":"entity.name.program.fortran"}},"comment":"Program body.","end":"(?ix)\\\\b(?:(end\\\\s*program)(?:\\\\s+([a-z_]\\\\w*))?|(end))\\\\b\\\\s*([^;!\\\\n]+)?(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.control.endprogram.fortran"},"2":{"name":"entity.name.program.fortran"},"3":{"name":"keyword.control.endprogram.fortran"},"4":{"name":"invalid.error.program-definition.fortran"}},"patterns":[{"begin":"\\\\G","comment":"Program specification block.","end":"(?i)(?=\\\\b(?:end\\\\s*[;!\\\\n]|end\\\\s*program\\\\b))","name":"meta.block.specification.program.fortran","patterns":[{"begin":"(?i)\\\\b(contains)\\\\b","beginCaptures":{"1":{"name":"keyword.control.contains.fortran"}},"comment":"Program contains block.","end":"(?i)(?=(?:end\\\\s*[;!\\\\n]|end\\\\s*program\\\\b))","name":"meta.block.contains.fortran","patterns":[{"include":"$base"}]},{"include":"$base"}]}]}]},"protected-attribute":{"captures":{"1":{"name":"storage.modifier.protected.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","match":"(?i)\\\\s*\\\\b(protected)\\\\b"},"public-attribute":{"captures":{"1":{"name":"storage.modifier.public.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","match":"(?i)\\\\s*\\\\b(public)\\\\b"},"pure-attribute":{"captures":{"1":{"name":"storage.modifier.impure.fortran"},"2":{"name":"storage.modifier.pure.fortran"}},"comment":"Introduced in the Fortran 1995 standard.","match":"(?i)\\\\s*\\\\b(?:(impure)|(pure))\\\\b"},"recursive-attribute":{"captures":{"1":{"name":"storage.modifier.non_recursive.fortran"},"2":{"name":"storage.modifier.recursive.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","match":"(?i)\\\\s*\\\\b(?:(non_recursive)|(recursive))\\\\b"},"result-statement":{"begin":"(?i)\\\\s*\\\\b(result)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.result.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#dummy-variable"}]},"return-statement":{"begin":"(?i)\\\\s*\\\\b(return)\\\\b","beginCaptures":{"1":{"name":"keyword.control.return.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.control.return.fortran","patterns":[{"include":"#invalid-character"}]},"save-attribute":{"captures":{"1":{"name":"storage.modifier.save.fortran"}},"comment":"Introduced in the Fortran 1977 standard.","match":"(?i)\\\\s*\\\\b(save)\\\\b"},"select-case-construct":{"begin":"(?i)\\\\b(select\\\\s*case)\\\\b","beginCaptures":{"1":{"name":"keyword.control.selectcase.fortran"}},"comment":"Select case construct. Introduced in the Fortran 1990 standard.","end":"(?i)\\\\b(end\\\\s*select)\\\\b","endCaptures":{"1":{"name":"keyword.control.endselect.fortran"}},"name":"meta.block.select.case.fortran","patterns":[{"include":"#parentheses"},{"begin":"(?i)\\\\b(case)\\\\b","beginCaptures":{"1":{"name":"keyword.control.case.fortran"}},"end":"(?i)(?=[;!\\\\n])","patterns":[{"captures":{"1":{"name":"keyword.control.default.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(default)\\\\b"},{"include":"#parentheses"},{"include":"#invalid-word"}]},{"include":"$base"}]},"select-rank-construct":{"begin":"(?i)\\\\b(select\\\\s*rank)\\\\b","beginCaptures":{"1":{"name":"keyword.control.selectrank.fortran"}},"comment":"Select rank construct. Introduced in the Fortran 2008 standard.","end":"(?i)\\\\b(end\\\\s*select)\\\\b","endCaptures":{"1":{"name":"keyword.control.endselect.fortran"}},"name":"meta.block.select.rank.fortran","patterns":[{"include":"#parentheses"},{"begin":"(?i)\\\\b(rank)\\\\b","beginCaptures":{"1":{"name":"keyword.control.rank.fortran"}},"end":"(?i)(?=[;!\\\\n])","patterns":[{"captures":{"1":{"name":"keyword.control.default.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(default)\\\\b"},{"include":"#parentheses"},{"include":"#invalid-word"}]},{"include":"$base"}]},"select-type-construct":{"begin":"(?i)\\\\b(select\\\\s*type)\\\\b","beginCaptures":{"1":{"name":"keyword.control.selecttype.fortran"}},"comment":"Select type construct. Introduced in the Fortran 2003 standard.","end":"(?i)\\\\b(end\\\\s*select)\\\\b","endCaptures":{"1":{"name":"keyword.control.endselect.fortran"}},"name":"meta.block.select.type.fortran","patterns":[{"include":"#parentheses"},{"begin":"(?i)\\\\b(?:(class)|(type))\\\\b","beginCaptures":{"1":{"name":"keyword.control.class.fortran"},"2":{"name":"keyword.control.type.fortran"}},"end":"(?i)(?=[;!\\\\n])","patterns":[{"captures":{"1":{"name":"keyword.control.default.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(default)\\\\b"},{"captures":{"1":{"name":"keyword.control.is.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(is)\\\\b"},{"include":"#parentheses"},{"include":"#invalid-word"}]},{"include":"$base"}]},"sequence-attribute":{"captures":{"1":{"name":"storage.modifier.sequence.fortran"}},"comment":"Introduced in the Fortran 20?? standard.","match":"(?i)\\\\s*\\\\b(sequence)\\\\b"},"specification-statements":{"patterns":[{"include":"#attribute-specification-statement"},{"include":"#common-statement"},{"include":"#data-statement"},{"include":"#equivalence-statement"},{"include":"#implicit-statement"},{"include":"#namelist-statement"},{"include":"#use-statement"}]},"stop-statement":{"begin":"(?i)\\\\s*\\\\b(stop)\\\\b(?:\\\\s*\\\\b([a-z]\\\\w*)\\\\b)?","beginCaptures":{"1":{"name":"keyword.control.stop.fortran"},"2":{"name":"meta.label.stop.stop"}},"comment":"Introduced in the Fortran 1977 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.control.stop.fortran","patterns":[{"include":"#constants"},{"include":"#string-operators"},{"include":"#invalid-character"}]},"string-constant":{"comment":"Introduced in the Fortran 1977 standard.","patterns":[{"applyEndPatternLast":1,"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.fortran"}},"comment":"String","end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.fortran"}},"name":"string.quoted.single.fortran","patterns":[{"match":"''","name":"constant.character.escape.apostrophe.fortran"}]},{"applyEndPatternLast":1,"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.fortran"}},"comment":"String","end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.fortran"}},"name":"string.quoted.double.fortran","patterns":[{"match":"\\"\\"","name":"constant.character.escape.quote.fortran"}]}]},"string-line-continuation-operator":{"begin":"(&)(?=\\\\s*\\\\n)","beginCaptures":{"1":{"name":"keyword.operator.line-continuation.fortran"}},"comment":"Operator that allows a line to be continued on the next line.","end":"(?i)^(?:(?=\\\\s*[^\\\\s!&])|\\\\s*(&))","endCaptures":{"1":{"name":"keyword.operator.line-continuation.fortran"}},"patterns":[{"include":"#comments"},{"match":"\\\\S.*","name":"invalid.error.string-line-cont.fortran"}]},"string-operators":{"comment":"Introduced in the Fortran 19?? standard.","match":"(\\\\/\\\\/)","name":"keyword.other.concatination.fortran"},"submodule-definition":{"begin":"(?i)(?=\\\\b(submodule)\\\\s*\\\\()","comment":"Introduced in the Fortran 2008 standard.","end":"(?=[;!\\\\n])","name":"meta.submodule.fortran","patterns":[{"begin":"(?i)\\\\G\\\\s*\\\\b(submodule)\\\\s*(\\\\()\\\\s*(\\\\w+)","beginCaptures":{"1":{"name":"keyword.other.submodule.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"},"3":{"name":"entity.name.class.submodule.fortran"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parentheses.left.fortran"}},"patterns":[]},{"applyEndPatternLast":1,"begin":"(?i)\\\\s*\\\\b([a-z]\\\\w*)\\\\b","beginCaptures":{"1":{"name":"entity.name.module.submodule.fortran"}},"comment":"Submodule body.","end":"(?ix)\\\\s*\\\\b(?:(end\\\\s*submodule)(?:\\\\s+([a-z_]\\\\w*))?|(end))\\\\b \\\\s*([^;!\\\\n]+)?(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.other.endsubmodule.fortran"},"2":{"name":"entity.name.module.submodule.fortran"},"3":{"name":"keyword.other.endsubmodule.fortran"},"4":{"name":"invalid.error.submodule.fortran"}},"patterns":[{"begin":"\\\\G","comment":"Submodule specification block.","end":"(?i)(?=\\\\b(?:end\\\\s*[;!\\\\n]|end\\\\s*submodule\\\\b))","name":"meta.block.specification.submodule.fortran","patterns":[{"begin":"(?i)\\\\b(contains)\\\\b","beginCaptures":{"1":{"name":"keyword.control.contains.fortran"}},"comment":"Submodule contains block.","end":"(?i)(?=\\\\s*(?:end\\\\s*[;!\\\\n]|end\\\\s*submodule\\\\b))","name":"meta.block.contains.fortran","patterns":[{"include":"$base"}]},{"include":"$base"}]}]}]},"subroutine-definition":{"begin":"(?i)(?=([^:'\\";!\\\\n](?!\\\\bend))*\\\\bsubroutine\\\\b)","comment":"Subroutine program unit. Introduced in the Fortran 1977 standard.","end":"(?=[;!\\\\n])","name":"meta.subroutine.fortran","patterns":[{"begin":"(?i)(?=\\\\G\\\\s*(?!\\\\bsubroutine\\\\b))","comment":"Attribute list.","end":"(?i)(?=\\\\bsubroutine\\\\b)","name":"meta.attribute-list.subroutine.fortran","patterns":[{"include":"#elemental-attribute"},{"include":"#module-attribute"},{"include":"#pure-attribute"},{"include":"#recursive-attribute"},{"include":"#invalid-word"}]},{"begin":"(?i)\\\\s*\\\\b(subroutine)\\\\b","beginCaptures":{"1":{"name":"keyword.other.subroutine.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"begin":"(?i)\\\\G\\\\s*\\\\b([a-z]\\\\w*)\\\\b","beginCaptures":{"1":{"name":"entity.name.function.subroutine.fortran"}},"comment":"Subroutine body.","end":"(?ix)\\\\b(?:(end\\\\s*subroutine)(?:\\\\s+([a-z_]\\\\w*))?|(end))\\\\b \\\\s*([^;!\\\\n]+)?(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.other.endsubroutine.fortran"},"2":{"name":"entity.name.function.subroutine.fortran"},"3":{"name":"keyword.other.endsubroutine.fortran"},"4":{"name":"invalid.error.subroutine.fortran"}},"patterns":[{"begin":"\\\\G(?!\\\\s*[;!\\\\n])","comment":"Rest of the first line in subroutine construct.","end":"(?=[;!\\\\n])","name":"meta.first-line.fortran","patterns":[{"include":"#dummy-variable-list"},{"include":"#language-binding-attribute"}]},{"begin":"(?i)(?!\\\\b(?:end\\\\s*[;!\\\\n]|end\\\\s*subroutine\\\\b))","comment":"Specification and execution block.","end":"(?i)(?=\\\\b(?:end\\\\s*[;!\\\\n]|end\\\\s*subroutine\\\\b))","name":"meta.block.specification.subroutine.fortran","patterns":[{"begin":"(?i)\\\\b(contains)\\\\b","beginCaptures":{"1":{"name":"keyword.control.contains.fortran"}},"comment":"Contains block.","end":"(?i)(?=(?:end\\\\s*[;!\\\\n]|end\\\\s*subroutine\\\\b))","name":"meta.block.contains.fortran","patterns":[{"include":"$base"}]},{"include":"$base"}]}]}]}]},"sync-all-statement":{"begin":"(?i)\\\\b(sync all|sync memory)(\\\\s*(?=\\\\())?","beginCaptures":{"1":{"name":"keyword.control.sync-all-memory.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Introduced in the Fortran 2018 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"name":"meta.statement.sync-all-memory.fortran","patterns":[{"include":"#parentheses-dummy-variables"}]},"sync-statement":{"begin":"(?i)\\\\b(sync images|sync team)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.sync-images-team.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"comment":"Introduced in the Fortran 2018 standard.","end":"(?<!\\\\G)","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"name":"meta.statement.sync-images-team.fortran","patterns":[{"include":"#parentheses-dummy-variables"}]},"target-attribute":{"captures":{"1":{"name":"storage.modifier.target.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","match":"(?i)\\\\s*\\\\b(target)\\\\b"},"type-specification-statements":{"begin":"(?ix)(?=\\\\b(?:character|class|complex|double\\\\s*precision|double\\\\s*complex|integer|logical|real|type|dimension)\\\\b(?![^'\\";!\\\\n:]*\\\\bfunction\\\\b))","comment":"Supported types for function and escape :: if function is used as a variable name (which is bad practice).","end":"(?=[\\\\);!\\\\n])","name":"meta.specification.type.fortran","patterns":[{"include":"#types"},{"begin":"(?=\\\\s*(,|::))","comment":"Attribute list.","contentName":"meta.attribute-list.type-specification-statements.fortran","end":"(::)|(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"patterns":[{"begin":"(,)|^|(?<=&)","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"end":"(?=::|[,&;!\\\\n])","patterns":[{"include":"#access-attribute"},{"include":"#allocatable-attribute"},{"include":"#asynchronous-attribute"},{"include":"#codimension-attribute"},{"include":"#contiguous-attribute"},{"include":"#dimension-attribute"},{"include":"#external-attribute"},{"include":"#intent-attribute"},{"include":"#intrinsic-attribute"},{"include":"#language-binding-attribute"},{"include":"#optional-attribute"},{"include":"#parameter-attribute"},{"include":"#pointer-attribute"},{"include":"#protected-attribute"},{"include":"#save-attribute"},{"include":"#target-attribute"},{"include":"#value-attribute"},{"include":"#volatile-attribute"},{"include":"#invalid-word"}]}]},{"include":"#name-list"}]},"types":{"patterns":[{"include":"#character-type"},{"include":"#derived-type"},{"include":"#logical-type"},{"include":"#numeric-type"}]},"unnamed-control-constructs":{"patterns":[{"include":"#associate-construct"},{"include":"#block-construct"},{"include":"#critical-construct"},{"include":"#do-construct"},{"include":"#forall-construct"},{"include":"#if-construct"},{"include":"#select-case-construct"},{"include":"#select-type-construct"},{"include":"#select-rank-construct"},{"include":"#where-construct"}]},"use-statement":{"begin":"(?i)\\\\b(use)\\\\b","beginCaptures":{"1":{"name":"keyword.control.use.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(?=[;!\\\\n])","name":"meta.statement.use.fortran","patterns":[{"begin":"(?=\\\\s*(,|::|\\\\())","comment":"Attribute list.","contentName":"meta.attribute-list.namelist.fortran","end":"(::)|(?=[;!\\\\n])","endCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"patterns":[{"begin":"(,)","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"end":"(?=::|[,;!\\\\n])","patterns":[{"include":"#intrinsic-attribute"},{"include":"#non-intrinsic-attribute"},{"include":"#invalid-word"}]}]},{"begin":"(?i)\\\\s*\\\\b([a-z]\\\\w*)\\\\b","beginCaptures":{"1":{"name":"entity.name.class.module.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"begin":"(,)","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"end":"(?=::|[;!\\\\n])","patterns":[{"begin":"(?i)\\\\s*\\\\b(only\\\\s*:)","beginCaptures":{"1":{"name":"keyword.control.only.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"include":"#operator-keyword"},{"include":"$base"}]},{"begin":"(?i)(?=\\\\s*[a-z])","contentName":"meta.name-list.fortran","end":"(?=[;!\\\\n])","patterns":[{"include":"#operator-keyword"},{"include":"$base"}]}]}]}]},"user-defined-operators":{"captures":{"1":{"name":"keyword.operator.user-defined.fortran"}},"match":"(?i)\\\\s*(\\\\.[a-z]+\\\\.)"},"value-attribute":{"captures":{"1":{"name":"storage.modifier.value.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","match":"(?i)\\\\s*\\\\b(value)\\\\b"},"variable":{"applyEndPatternLast":1,"begin":"(?i)\\\\b(?=[a-z])","end":"(?<!\\\\G)","name":"meta.parameter.fortran","patterns":[{"include":"#brackets"},{"include":"#derived-type-operators"},{"include":"#parentheses-dummy-variables"},{"include":"#word"}]},"volatile-attribute":{"captures":{"1":{"name":"storage.modifier.volatile.fortran"}},"comment":"Introduced in the Fortran 2003 standard.","match":"(?i)\\\\s*\\\\b(volatile)\\\\b"},"where-construct":{"patterns":[{"applyEndPatternLast":1,"begin":"(?i)\\\\b(where)\\\\b","beginCaptures":{"1":{"name":"keyword.control.where.fortran"}},"comment":"Introduced in the Fortran 1990 standard.","end":"(?<!\\\\G)","patterns":[{"include":"#logical-control-expression"},{"begin":"(?<=\\\\))(?=\\\\s*[;!\\\\n])","end":"(?i)\\\\b(end\\\\s*where)\\\\b","endCaptures":{"1":{"name":"keyword.control.endwhere.fortran"}},"name":"meta.block.where.fortran","patterns":[{"begin":"(?i)\\\\s*\\\\b(else\\\\s*where)\\\\b","beginCaptures":{"1":{"name":"keyword.control.elsewhere.fortran"}},"end":"(?=[;!\\\\n])","patterns":[{"include":"#parentheses"},{"include":"#invalid-word"}]},{"include":"$base"}]},{"begin":"(?i)(?<=\\\\))(?!\\\\s*[;!\\\\n])","end":"\\\\n","name":"meta.statement.control.where.fortran","patterns":[{"include":"$base"}]}]}]},"while-attribute":{"begin":"(?i)\\\\G\\\\s*\\\\b(while)\\\\b","beginCaptures":{"1":{"name":"keyword.control.while.fortran"}},"comment":"Introduced in the Fortran 1995 standard.","end":"(?=[;!\\\\n])","patterns":[{"include":"#parentheses"},{"include":"#invalid-word"}]},"word":{"patterns":[{"match":"(?i)(?:\\\\G|(?<=\\\\%))\\\\s*\\\\b([a-z]\\\\w*)\\\\b"}]}},"scopeName":"source.fortran.free","aliases":["f90","f95","f03","f08","f18"]}`)), n = [
2
- e
3
- ];
4
- export {
5
- n as default
6
- };
@@ -1,8 +0,0 @@
1
- import e from "./markdown-B6guhLWd.js";
2
- const a = Object.freeze(JSON.parse('{"displayName":"F#","name":"fsharp","patterns":[{"include":"#compiler_directives"},{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#abstract_definition"},{"include":"#attributes"},{"include":"#modules"},{"include":"#anonymous_functions"},{"include":"#du_declaration"},{"include":"#record_declaration"},{"include":"#records"},{"include":"#strp_inlined"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"repository":{"abstract_definition":{"begin":"\\\\b(static\\\\s+)?(abstract)\\\\s+(member)?(\\\\s+\\\\[\\\\<.*\\\\>\\\\])?\\\\s*([_[:alpha:]0-9,\\\\._`\\\\s]+)(<)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"support.function.attribute.fsharp"},"5":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(with)\\\\b|=|$","endCaptures":{"1":{"name":"keyword.fsharp"}},"name":"abstract.definition.fsharp","patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}},"match":"(\\\\?{0,1})([[:alpha:]0-9\'`^._ ]+)\\\\s*(:)((?!with\\\\b)\\\\b([\\\\w0-9\'`^._ ]+)){0,1}"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words isn\'t blacklisted","match":"(?!with|get|set\\\\b)\\\\s*([\\\\w0-9\'`^._]+)"},{"include":"#keywords"}]},"anonymous_functions":{"patterns":[{"begin":"\\\\b(fun)\\\\b","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"(->)","endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"name":"function.anonymous","patterns":[{"include":"#comments"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(?=(->))","endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"include":"#variables"}]}]},"anonymous_record_declaration":{"begin":"(\\\\{\\\\|)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\|\\\\})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"}},"match":"[[:alpha:]0-9\'`^_ ]+(:)"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([[:alpha:]0-9\'`^_ ]+)"},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}]},"attributes":{"patterns":[{"begin":"\\\\[\\\\<","end":"\\\\>\\\\]|\\\\]","name":"support.function.attribute.fsharp","patterns":[{"include":"$self"}]}]},"cexprs":{"patterns":[{"captures":{"0":{"name":"keyword.fsharp"}},"match":"\\\\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)(?=\\\\s*\\\\{)","name":"cexpr.fsharp"}]},"chars":{"patterns":[{"captures":{"1":{"name":"string.quoted.single.fsharp"}},"match":"(\'\\\\\\\\?.\')","name":"char.fsharp"}]},"comments":{"patterns":[{"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"match":"(\\\\(\\\\*{3}.*\\\\*{3}\\\\))","name":"comment.literate.command.fsharp"},{"begin":"^\\\\s*(\\\\(\\\\*\\\\*(?!\\\\)))((?!\\\\*\\\\)).)*$","beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}},"name":"comment.block.markdown.fsharp","patterns":[{"include":"text.html.markdown"}],"while":"^(?!\\\\s*(\\\\*)+\\\\)\\\\s*$)"},{"begin":"(\\\\(\\\\*(?!\\\\)))","beginCaptures":{"1":{"name":"comment.block.fsharp"}},"end":"(\\\\*+\\\\))","endCaptures":{"1":{"name":"comment.block.fsharp"}},"name":"comment.block.fsharp","patterns":[{"comments":"Capture // when inside of (* *) like that the rule which capture comments starting by // is not trigger. See https://github.com/ionide/ionide-fsgrammar/issues/155","match":"//","name":"fast-capture.comment.line.double-slash.fsharp"},{"comments":"Capture (*) when inside of (* *) so that it doesn\'t prematurely end the comment block.","match":"\\\\(\\\\*\\\\)","name":"fast-capture.comment.line.mul-operator.fsharp"},{"include":"#comments"}]},{"captures":{"1":{"name":"comment.block.fsharp"}},"match":"((?<!\\\\()(\\\\*)+\\\\))","name":"comment.block.markdown.fsharp.end"},{"begin":"(?<![!%&+-.<=>?@^|/])///(?!/)","name":"comment.line.markdown.fsharp","patterns":[{"include":"text.html.markdown"}],"while":"(?<![!%&+-.<=>?@^|/])///(?!/)"},{"match":"(?<![!%&+-.<=>?@^|/])//(.*$)","name":"comment.line.double-slash.fsharp"}]},"common_binding_definition":{"patterns":[{"include":"#comments"},{"include":"#attributes"},{"begin":"(:)\\\\s*(\\\\()\\\\s*(static member|member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\\\))\\\\s*((?=,)|(?=\\\\=))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[[:alpha:]0-9\'._]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"begin":"(:)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\)\\\\s*(([?[:alpha:]0-9\'`^._ ]*)))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(:)\\\\s*(\\\\^[[:alpha:]0-9\'._]+)\\\\s*(when)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.fsharp"}},"end":"(?=:)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"match":"\\\\b(and|when|or)\\\\b","name":"keyword.fsharp"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comment":"Because we first capture the keywords, we can capture what looks like a word and assume it\'s an entity definition","match":"([[:alpha:]0-9\'^._]+)"},{"match":"(\\\\(|\\\\))","name":"keyword.symbol.fsharp"}]},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"match":"(:)\\\\s*([?[:alpha:]0-9\'`^._ ]+)"},{"captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}},"match":"(->)\\\\s*(\\\\()?\\\\s*([?[:alpha:]0-9\'`^._ ]+)*"},{"begin":"(\\\\*)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\)\\\\s*(([?[:alpha:]0-9\'`^._ ]+))*)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(\\\\*)(\\\\s*([?[:alpha:]0-9\'`^._ ]+))*","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"end":"(?==)|(?=\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(<+(?![[:space:]]*\\\\)))","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"beginComment":"The group (?![[:space:]]*\\\\) is for protection against overload operator. static member (<)","end":"((?<!:)>|\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endComment":"The group (?<!:) prevent us from stopping on :> when using SRTP synthax","patterns":[{"include":"#generic_declaration"}]},{"include":"#anonymous_record_declaration"},{"begin":"({)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#record_signature"}]},{"include":"#definition"},{"include":"#variables"},{"include":"#keywords"}]},"common_declaration":{"patterns":[{"begin":"\\\\s*(->)\\\\s*([[:alpha:]0-9\'`^._ ]+)(<)","beginCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([[:alpha:]0-9\'`^._ ]+)"},{"include":"#keywords"}]},{"captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"match":"\\\\s*(->)\\\\s*(?!with|get|set\\\\b)\\\\b([\\\\w0-9\'`^._]+)"},{"include":"#anonymous_record_declaration"},{"begin":"(\\\\?{0,1})([[:alpha:]0-9\'`^._ ]+)\\\\s*(:)(\\\\s*([?[:alpha:]0-9\'`^._ ]+)(<))","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"keyword.symbol.fsharp"},"5":{"name":"entity.name.type.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([[:alpha:]0-9\'`^._ ]+)"},{"include":"#keywords"}]}]},"compiler_directives":{"patterns":[{"captures":{},"match":"\\\\s?(#if|#elif|#elseif|#else|#endif|#light|#nowarn)","name":"keyword.control.directive.fsharp"}]},"constants":{"patterns":[{"match":"\\\\(\\\\)","name":"keyword.symbol.fsharp"},{"match":"\\\\b-?[0-9][0-9_]*((\\\\.(?!\\\\.)([0-9][0-9_]*([eE][+-]??[0-9][0-9_]*)?)?)|([eE][+-]??[0-9][0-9_]*))","name":"constant.numeric.float.fsharp"},{"match":"\\\\b(-?((0(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|(0(o|O)[0-7][0-7_]*)|(0(b|B)[01][01_]*)|([0-9][0-9_]*)))","name":"constant.numeric.integer.nativeint.fsharp"},{"match":"\\\\b(true|false)\\\\b","name":"constant.language.boolean.fsharp"},{"match":"\\\\b(null|void)\\\\b","name":"constant.other.fsharp"}]},"definition":{"patterns":[{"begin":"\\\\b(let mutable|static let mutable|static let|let inline|let|and|member val|member inline|static member inline|static member val|static member|default|member|override|let!)(\\\\s+rec|mutable)?(\\\\s+\\\\[\\\\<.*\\\\>\\\\])?\\\\s*(private|internal|public)?\\\\s+(\\\\[[^-=]*\\\\]|[_[:alpha:]]([_[:alpha:]0-9\\\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\\\._`\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"end":"\\\\s*((with\\\\b)|(=|\\\\n+=|(?<=\\\\=)))","endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(use|use!|and|and!)\\\\s+(\\\\[[^-=]*\\\\]|[_[:alpha:]]([_[:alpha:]0-9\\\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\\\._`\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"\\\\s*(=)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"(?<=with|and)\\\\s*\\\\b((get|set)\\\\s*(?=\\\\())(\\\\[[^-=]*\\\\]|[_[:alpha:]]([_[:alpha:]0-9\\\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\\\._`\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"4":{"name":"variable.fsharp"}},"end":"\\\\s*(=|\\\\n+=|(?<=\\\\=))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(static val mutable|val mutable|val inline|val)(\\\\s+rec|mutable)?(\\\\s+\\\\[\\\\<.*\\\\>\\\\])?\\\\s*(private|internal|public)?\\\\s+(\\\\[[^-=]*\\\\]|[_[:alpha:]]([_[:alpha:]0-9,\\\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9,\\\\._`\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"end":"\\\\n$","name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(new)\\\\b\\\\s+(\\\\()","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]}]},"double_tick":{"patterns":[{"captures":{"1":{"name":"string.quoted.single.fsharp"},"2":{"name":"variable.other.binding.fsharp"},"3":{"name":"string.quoted.single.fsharp"}},"match":"(``)([^`]*)(``)","name":"variable.other.binding.fsharp"}]},"du_declaration":{"patterns":[{"begin":"\\\\b(of)\\\\b","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"$|(\\\\|)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"du_declaration.fsharp","patterns":[{"include":"#comments"},{"captures":{"1":{"name":"variable.parameter.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}},"match":"([[:alpha:]0-9\'`<>^._]+|``[[:alpha:]0-9\' <>^._]+``)\\\\s*(:)\\\\s*([[:alpha:]0-9\'`<>^._]+|``[[:alpha:]0-9\' <>^._]+``)"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(``([[:alpha:]0-9\'^._ ]+)``|[[:alpha:]0-9\'`^._]+)"},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}]}]},"generic_declaration":{"patterns":[{"begin":"(:)\\\\s*(\\\\()\\\\s*(static member|member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"((\'|\\\\^)[[:alpha:]0-9\'._]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"match":"\\\\b(private|to|public|internal|function|yield!|yield|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let\\\\!|return\\\\!|return|interface|with|abstract|enum|member|try|finally|and|when|or|use|use\\\\!|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!\')\\\\b","name":"keyword.fsharp"},{"match":":","name":"keyword.symbol.fsharp"},{"include":"#constants"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"((\'|\\\\^)[[:alpha:]0-9\'._]+)"},{"begin":"(<)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"((\'|\\\\^)[[:alpha:]0-9\'._]+)"},{"include":"#tuple_signature"},{"include":"#generic_declaration"}]},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([?[:alpha:]0-9\'`^._ ]+))+"},{"include":"#tuple_signature"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words are allowed","match":"(?!when|and|or\\\\b)\\\\b([\\\\w0-9\'`^._]+)"},{"captures":{"1":{"name":"keyword.symbol.fsharp"}},"comments":"Prevent captures of `|>` as a keyword when defining custom operator like `<|>`","match":"(\\\\|)"},{"include":"#keywords"}]},"keywords":{"patterns":[{"match":"\\\\b(private|public|internal)\\\\b","name":"storage.modifier"},{"match":"\\\\b(private|to|public|internal|function|class|exception|delegate|of|new|as|begin|end|inherit|let!|interface|abstract|enum|member|and|when|or|use|use\\\\!|struct|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!\')\\\\b","name":"keyword.fsharp"},{"match":"\\\\b(match|yield|yield!|with|if|then|else|elif|for|in|return!|return|try|finally|while|do)(?!\')\\\\b","name":"keyword.control"},{"match":"(\\\\->|\\\\<\\\\-)","name":"keyword.symbol.arrow.fsharp"},{"match":"[.?]*(&&&|\\\\|\\\\|\\\\||\\\\^\\\\^\\\\^|~~~|~\\\\+|~\\\\-|<<<|>>>|\\\\|>|:>|:\\\\?>|:|\\\\[|\\\\]|\\\\;|<>|=|@|\\\\|\\\\||&&|&|%|{|}|\\\\||_|\\\\.\\\\.|\\\\,|\\\\+|\\\\-|\\\\*|\\\\/|\\\\^|\\\\!|\\\\>|\\\\>\\\\=|\\\\>\\\\>|\\\\<|\\\\<\\\\=|\\\\(|\\\\)|\\\\<\\\\<)[.?]*","name":"keyword.symbol.fsharp"}]},"member_declaration":{"patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"begin":"(:)\\\\s*(\\\\()\\\\s*(static member|member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\\\))\\\\s*((?=,)|(?=\\\\=))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[[:alpha:]0-9\'._]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[[:alpha:]0-9\'._]+)"},{"match":"\\\\b(and|when|or)\\\\b","name":"keyword.fsharp"},{"match":"(\\\\(|\\\\))","name":"keyword.symbol.fsharp"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}},"match":"(\\\\?{0,1})([[:alpha:]0-9\'`^._]+|``[[:alpha:]0-9\'`^:,._ ]+``)\\\\s*(:{0,1})(\\\\s*([?[:alpha:]0-9\'`<>._ ]+)){0,1}"},{"include":"#keywords"}]},"modules":{"patterns":[{"begin":"\\\\b(namespace global)|\\\\b(namespace|module)\\\\s*(public|internal|private|rec)?\\\\s+([[:alpha:]|``][[:alpha:]0-9\'_. ]*)","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"storage.modifier.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s?=|\\\\s|$)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"entity.name.section.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)([A-Z][[:alpha:]0-9\'_]*)","name":"entity.name.section.fsharp"}]},{"begin":"\\\\b(open type|open)\\\\s+([[:alpha:]|``][[:alpha:]0-9\'_]*)(?=(\\\\.[A-Z][[:alpha:]0-9_]*)*)","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s|$)","name":"namespace.open.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)([[:alpha:]][[:alpha:]0-9\'_]*)","name":"entity.name.section.fsharp"},{"include":"#comments"}]},{"begin":"^\\\\s*(module)\\\\s+([A-Z][[:alpha:]0-9\'_]*)\\\\s*(=)\\\\s*([A-Z][[:alpha:]0-9\'_]*)","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.type.namespace.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s|$)","name":"namespace.alias.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)([A-Z][[:alpha:]0-9\'_]*)","name":"entity.name.section.fsharp"}]}]},"record_declaration":{"patterns":[{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(?<=\\\\})","patterns":[{"include":"#comments"},{"begin":"(((mutable)\\\\s[[:alpha:]]+)|[[:alpha:]0-9\'`<>^._]*)\\\\s*((?<!:):(?!:))\\\\s*","beginCaptures":{"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.symbol.fsharp"}},"end":"$|(;|\\\\})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#comments"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([[:alpha:]0-9\'`^_ ]+)"},{"include":"#keywords"}]},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#attributes"},{"include":"#anonymous_functions"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]}]},"record_signature":{"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"[[:alpha:]0-9\'`^_ ]+(=)([[:alpha:]0-9\'`^_ ]+)"},{"begin":"({)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"[[:alpha:]0-9\'`^_ ]+(=)([[:alpha:]0-9\'`^_ ]+)"},{"include":"#record_signature"}]},{"include":"#keywords"}]},"records":{"patterns":[{"begin":"\\\\b(type)[\\\\s]+(private|internal|public)?\\\\s*","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"storage.modifier.fsharp"}},"end":"\\\\s*((with)|((as)\\\\s+([[:alpha:]0-9\']+))|(=)|[\\\\n=]|(\\\\(\\\\)))","endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.fsharp"},"5":{"name":"variable.parameter.fsharp"},"6":{"name":"keyword.symbol.fsharp"},"7":{"name":"keyword.symbol.fsharp"}},"name":"record.fsharp","patterns":[{"include":"#comments"},{"include":"#attributes"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([[:alpha:]0-9\'^._]+|``[[:alpha:]0-9\'`^:,._ ]+``)"},{"begin":"(<)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"((?<!:)>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"((\'|\\\\^)``[[:alpha:]0-9`^:,._ ]+``|(\'|\\\\^)[[:alpha:]0-9`^:._]+)"},{"match":"\\\\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\\\\b","name":"keyword.fsharp"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.fsharp"}},"match":"(static member|member|new)"},{"include":"#common_binding_definition"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words isn\'t blacklisted","match":"([\\\\w0-9\'`^._]+)"},{"include":"#keywords"}]},{"captures":{"1":{"name":"storage.modifier.fsharp"}},"match":"\\\\s*(private|internal|public)"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(?=(=)|[\\\\n=]|(\\\\(\\\\))|(as))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"include":"#keywords"}]}]},"string_formatter":{"patterns":[{"captures":{"1":{"name":"keyword.format.specifier.fsharp"}},"match":"(%0?-?(\\\\d+)?((a|t)|(\\\\.\\\\d+)?(f|F|e|E|g|G|M)|(b|c|s|d|i|x|X|o|u)|(s|b|O)|(\\\\+?A)))","name":"entity.name.type.format.specifier.fsharp"}]},"strings":{"patterns":[{"begin":"(?=[^\\\\\\\\])(@\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\")(?!\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.literal.fsharp","patterns":[{"match":"\\"(\\")","name":"constant.character.string.escape.fsharp"}]},{"begin":"(?=[^\\\\\\\\])(\\"\\"\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\"\\"\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.triple.fsharp","patterns":[{"include":"#string_formatter"}]},{"begin":"(?=[^\\\\\\\\])(\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.double.fsharp","patterns":[{"match":"\\\\\\\\$[ \\\\t]*","name":"punctuation.separator.string.ignore-eol.fsharp"},{"match":"\\\\\\\\([\'\\"\\\\\\\\abfnrtv]|([01][0-9][0-9]|2[0-4][0-9]|25[0-5])|(x[0-9a-fA-F]{2})|(u[0-9a-fA-F]{4})|(U00(0[0-9a-fA-F]|10)[0-9a-fA-F]{4}))","name":"constant.character.string.escape.fsharp"},{"match":"\\\\\\\\(([0-9]{1,3})|(x[^\\\\s]{0,2})|(u[^\\\\s]{0,4})|(U[^\\\\s]{0,8})|[^\\\\s])","name":"invalid.illegal.character.string.fsharp"},{"include":"#string_formatter"}]}]},"strp_inlined":{"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#strp_inlined_body"}]}]},"strp_inlined_body":{"patterns":[{"include":"#comments"},{"include":"#anonymous_functions"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[[:alpha:]0-9\'._]+)"},{"match":"\\\\b(and|when|or)\\\\b","name":"keyword.fsharp"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#strp_inlined_body"}]},{"captures":{"1":{"name":"keyword.fsharp"},"2":{"name":"variable.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"match":"(static member|member)\\\\s*([[:alpha:]0-9\'`<>^._]+|``[[:alpha:]0-9\' <>^._]+``)\\\\s*(:)"},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#keywords"},{"include":"#text"},{"include":"#definition"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]},"text":{"patterns":[{"match":"\\\\\\\\","name":"text.fsharp"}]},"tuple_signature":{"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([?[:alpha:]0-9\'`^._ ]+))+"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([?[:alpha:]0-9\'`^._ ]+))+"},{"include":"#tuple_signature"}]},{"include":"#keywords"}]},"variables":{"patterns":[{"match":"\\\\(\\\\)","name":"keyword.symbol.fsharp"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"(\\\\?{0,1})(``[[:alpha:]0-9\'`^:,._ ]+``|(?!private|struct\\\\b)\\\\b[\\\\w[:alpha:]0-9\'`<>^._ ]+)"}]}},"scopeName":"source.fsharp","embeddedLangs":["markdown"],"aliases":["f#","fs"]}')), t = [
3
- ...e,
4
- a
5
- ];
6
- export {
7
- t as default
8
- };
@@ -1,10 +0,0 @@
1
- import e from "./gdshader-BGJEsM2Z.js";
2
- import r from "./gdscript-D7aheHm-.js";
3
- const a = Object.freeze(JSON.parse(`{"displayName":"GDResource","name":"gdresource","patterns":[{"include":"#embedded_shader"},{"include":"#embedded_gdscript"},{"include":"#comment"},{"include":"#heading"},{"include":"#key_value"}],"repository":{"comment":{"captures":{"1":{"name":"punctuation.definition.comment.gdresource"}},"match":"(;).*$\\\\n?","name":"comment.line.gdresource"},"data":{"patterns":[{"include":"#comment"},{"begin":"(?<!\\\\w)(\\\\{)\\\\s*","beginCaptures":{"1":{"name":"punctuation.definition.table.inline.gdresource"}},"end":"\\\\s*(\\\\})(?!\\\\w)","endCaptures":{"1":{"name":"punctuation.definition.table.inline.gdresource"}},"patterns":[{"include":"#key_value"},{"include":"#data"}]},{"begin":"(?<!\\\\w)(\\\\[)\\\\s*","beginCaptures":{"1":{"name":"punctuation.definition.array.gdresource"}},"end":"\\\\s*(\\\\])(?!\\\\w)","endCaptures":{"1":{"name":"punctuation.definition.array.gdresource"}},"patterns":[{"include":"#data"}]},{"begin":"\\"\\"\\"","end":"\\"\\"\\"","name":"string.quoted.triple.basic.block.gdresource","patterns":[{"match":"\\\\\\\\([btnfr\\"\\\\\\\\\\\\n/ ]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})","name":"constant.character.escape.gdresource"},{"match":"\\\\\\\\[^btnfr/\\"\\\\\\\\\\\\n]","name":"invalid.illegal.escape.gdresource"}]},{"match":"\\"res:\\\\/\\\\/[^\\"\\\\\\\\]*(?:\\\\\\\\.[^\\"\\\\\\\\]*)*\\"","name":"support.function.any-method.gdresource"},{"match":"(?<=type=)\\"[^\\"\\\\\\\\]*(?:\\\\\\\\.[^\\"\\\\\\\\]*)*\\"","name":"support.class.library.gdresource"},{"match":"(?<=NodePath\\\\(|parent=|name=)\\"[^\\"\\\\\\\\]*(?:\\\\\\\\.[^\\"\\\\\\\\]*)*\\"","name":"constant.character.escape.gdresource"},{"begin":"\\"","end":"\\"","name":"string.quoted.double.basic.line.gdresource","patterns":[{"match":"\\\\\\\\([btnfr\\"\\\\\\\\\\\\n/ ]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})","name":"constant.character.escape.gdresource"},{"match":"\\\\\\\\[^btnfr/\\"\\\\\\\\\\\\n]","name":"invalid.illegal.escape.gdresource"}]},{"match":"'.*?'","name":"string.quoted.single.literal.line.gdresource"},{"match":"(?<!\\\\w)(true|false)(?!\\\\w)","name":"constant.language.gdresource"},{"match":"(?<!\\\\w)([\\\\+\\\\-]?(0|([1-9](([0-9]|_[0-9])+)?))(?:(?:\\\\.(0|([1-9](([0-9]|_[0-9])+)?)))?[eE][\\\\+\\\\-]?[1-9]_?[0-9]*|(?:\\\\.[0-9_]*)))(?!\\\\w)","name":"constant.numeric.float.gdresource"},{"match":"(?<!\\\\w)((?:[\\\\+\\\\-]?(0|([1-9](([0-9]|_[0-9])+)?))))(?!\\\\w)","name":"constant.numeric.integer.gdresource"},{"match":"(?<!\\\\w)([\\\\+\\\\-]?inf)(?!\\\\w)","name":"constant.numeric.inf.gdresource"},{"match":"(?<!\\\\w)([\\\\+\\\\-]?nan)(?!\\\\w)","name":"constant.numeric.nan.gdresource"},{"match":"(?<!\\\\w)((?:0x(([0-9a-fA-F](([0-9a-fA-F]|_[0-9a-fA-F])+)?))))(?!\\\\w)","name":"constant.numeric.hex.gdresource"},{"match":"(?<!\\\\w)(0o[0-7](_?[0-7])*)(?!\\\\w)","name":"constant.numeric.oct.gdresource"},{"match":"(?<!\\\\w)(0b[01](_?[01])*)(?!\\\\w)","name":"constant.numeric.bin.gdresource"},{"begin":"(?<!\\\\w)(Vector2|Vector2i|Vector3|Vector3i|Color|Rect2|Rect2i|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|Object|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|StringName|Quaternion|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedColorArray)(\\\\()\\\\s?","beginCaptures":{"1":{"name":"support.class.library.gdresource"}},"end":"\\\\s?(\\\\))","patterns":[{"include":"#key_value"},{"include":"#data"}]},{"begin":"(?<!\\\\w)(ExtResource|SubResource)(\\\\()\\\\s?","beginCaptures":{"1":{"name":"keyword.control.gdresource"}},"end":"\\\\s?(\\\\))","patterns":[{"include":"#key_value"},{"include":"#data"}]}]},"embedded_gdscript":{"begin":"(script/source) = \\"","beginCaptures":{"1":{"name":"variable.other.property.gdresource"}},"comment":"meta.embedded.block.gdscript","end":"\\"","patterns":[{"include":"source.gdscript"}]},"embedded_shader":{"begin":"(code) = \\"","beginCaptures":{"1":{"name":"variable.other.property.gdresource"}},"end":"\\"","name":"meta.embedded.block.gdshader","patterns":[{"include":"source.gdshader"}]},"heading":{"begin":"\\\\[([a-z_]*)\\\\s?","beginCaptures":{"1":{"name":"keyword.control.gdresource"}},"end":"\\\\]","patterns":[{"include":"#heading_properties"},{"include":"#data"}]},"heading_properties":{"patterns":[{"match":"(\\\\s*[A-Za-z_\\\\-][A-Za-z0-9_\\\\-]*\\\\s*=)(?=\\\\s*$)","name":"invalid.illegal.noValue.gdresource"},{"begin":"\\\\s*([A-Za-z_-][^\\\\s]*|\\".+\\"|'.+'|[0-9]+)\\\\s*(=)\\\\s*","beginCaptures":{"1":{"name":"variable.other.property.gdresource"},"2":{"name":"punctuation.definition.keyValue.gdresource"}},"end":"($|(?==)|\\\\,?|\\\\s*(?=\\\\}))","patterns":[{"include":"#data"}]}]},"key_value":{"patterns":[{"match":"(\\\\s*[A-Za-z_\\\\-][A-Za-z0-9_\\\\-]*\\\\s*=)(?=\\\\s*$)","name":"invalid.illegal.noValue.gdresource"},{"begin":"\\\\s*([A-Za-z_-][^\\\\s]*|\\".+\\"|'.+'|[0-9]+)\\\\s*(=)\\\\s*","beginCaptures":{"1":{"name":"variable.other.property.gdresource"},"2":{"name":"punctuation.definition.keyValue.gdresource"}},"end":"($|(?==)|\\\\,|\\\\s*(?=\\\\}))","patterns":[{"include":"#data"}]}]}},"scopeName":"source.gdresource","embeddedLangs":["gdshader","gdscript"]}`)), c = [
4
- ...e,
5
- ...r,
6
- a
7
- ];
8
- export {
9
- c as default
10
- };
@@ -1,6 +0,0 @@
1
- const e = Object.freeze(JSON.parse(`{"displayName":"GDScript","fileTypes":["gd"],"name":"gdscript","patterns":[{"include":"#statement"},{"include":"#expression"}],"repository":{"annotated_parameter":{"begin":"\\\\s*([a-zA-Z_]\\\\w*)\\\\s*(:)\\\\s*([a-zA-Z_]\\\\w*)?","beginCaptures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.annotation.gdscript"},"3":{"name":"entity.name.type.class.gdscript"}},"end":"(,)|(?=\\\\))","endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}},"patterns":[{"include":"#base_expression"},{"match":"=(?!=)","name":"keyword.operator.assignment.gdscript"}]},"annotations":{"captures":{"1":{"name":"entity.name.function.decorator.gdscript"},"2":{"name":"entity.name.function.decorator.gdscript"}},"match":"(@)(export|export_group|export_color_no_alpha|export_custom|export_dir|export_enum|export_exp_easing|export_file|export_flags|export_flags_2d_navigation|export_flags_2d_physics|export_flags_2d_render|export_flags_3d_navigation|export_flags_3d_physics|export_flags_3d_render|export_global_dir|export_global_file|export_multiline|export_node_path|export_placeholder|export_range|export_storage|icon|onready|rpc|tool|warning_ignore|static_unload)\\\\b"},"any_method":{"match":"\\\\b([A-Za-z_]\\\\w*)\\\\b(?=\\\\s*(?:[(]))","name":"entity.name.function.other.gdscript"},"any_property":{"captures":{"1":{"name":"punctuation.accessor.gdscript"},"2":{"name":"constant.language.gdscript"},"3":{"name":"variable.other.property.gdscript"}},"match":"\\\\b(\\\\.)\\\\s*(?<![@\\\\$#%])(?:([A-Z_][A-Z_0-9]*)|([A-Za-z_]\\\\w*))\\\\b(?![(])"},"any_variable":{"match":"\\\\b(?<![@\\\\$#%])([A-Za-z_]\\\\w*)\\\\b(?![(])","name":"variable.other.gdscript"},"arithmetic_operator":{"match":"->|\\\\+=|-=|\\\\*=|\\\\^=|/=|%=|&=|~=|\\\\|=|\\\\*\\\\*|\\\\*|/|%|\\\\+|-","name":"keyword.operator.arithmetic.gdscript"},"assignment_operator":{"match":"=","name":"keyword.operator.assignment.gdscript"},"base_expression":{"patterns":[{"include":"#builtin_get_node_shorthand"},{"include":"#nodepath_object"},{"include":"#nodepath_function"},{"include":"#strings"},{"include":"#builtin_classes"},{"include":"#const_vars"},{"include":"#keywords"},{"include":"#operators"},{"include":"#lambda_declaration"},{"include":"#class_declaration"},{"include":"#variable_declaration"},{"include":"#signal_declaration_bare"},{"include":"#signal_declaration"},{"include":"#function_declaration"},{"include":"#statement_keyword"},{"include":"#assignment_operator"},{"include":"#in_keyword"},{"include":"#control_flow"},{"include":"#match_keyword"},{"include":"#curly_braces"},{"include":"#square_braces"},{"include":"#round_braces"},{"include":"#function_call"},{"include":"#comment"},{"include":"#self"},{"include":"#func"},{"include":"#letter"},{"include":"#numbers"},{"include":"#pascal_case_class"},{"include":"#line_continuation"}]},"bitwise_operator":{"match":"&|\\\\||<<=|>>=|<<|>>|\\\\^|~","name":"keyword.operator.bitwise.gdscript"},"boolean_operator":{"match":"(&&|\\\\|\\\\|)","name":"keyword.operator.boolean.gdscript"},"builtin_classes":{"match":"(?<![^.]\\\\.|:)\\\\b(Vector2|Vector2i|Vector3|Vector3i|Vector4|Vector4i|Color|Rect2|Rect2i|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|Signal|Callable|StringName|Quaternion|Projection|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedVector4Array|PackedColorArray|super)\\\\b","name":"entity.name.type.class.builtin.gdscript"},"builtin_get_node_shorthand":{"patterns":[{"include":"#builtin_get_node_shorthand_quoted"},{"include":"#builtin_get_node_shorthand_bare"},{"include":"#builtin_get_node_shorthand_bare_multi"}]},"builtin_get_node_shorthand_bare":{"captures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"constant.character.escape.gdscript"},"3":{"name":"constant.character.escape.gdscript"},"4":{"name":"constant.character.escape.gdscript"}},"match":"(?<!/\\\\s*)(\\\\$\\\\s*|%|\\\\$%\\\\s*)(/\\\\s*)?([a-zA-Z_]\\\\w*)\\\\b(?!\\\\s*/)","name":"meta.literal.nodepath.bare.gdscript"},"builtin_get_node_shorthand_bare_multi":{"begin":"(\\\\$\\\\s*|%|\\\\$%\\\\s*)(/\\\\s*)?([a-zA-Z_]\\\\w*)","beginCaptures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"constant.character.escape.gdscript"},"3":{"name":"constant.character.escape.gdscript"}},"end":"(?!\\\\s*/\\\\s*%?\\\\s*[a-zA-Z_]\\\\w*)","name":"meta.literal.nodepath.bare.gdscript","patterns":[{"captures":{"1":{"name":"constant.character.escape.gdscript"},"2":{"name":"keyword.control.flow.gdscript"},"3":{"name":"constant.character.escape.gdscript"}},"match":"(/)\\\\s*(%)?\\\\s*([a-zA-Z_]\\\\w*)\\\\s*"}]},"builtin_get_node_shorthand_quoted":{"begin":"(?:(\\\\$|%)|(&|\\\\^|@))(\\"|')","beginCaptures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"variable.other.enummember.gdscript"}},"end":"(\\\\3)","name":"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript","patterns":[{"match":"%","name":"keyword.control.flow"}]},"class_declaration":{"captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}},"match":"(?<=^class)\\\\s+([a-zA-Z_]\\\\w*)\\\\s*(?=:)"},"class_enum":{"captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"variable.other.enummember.gdscript"}},"match":"\\\\b([A-Z][a-zA-Z_0-9]*)\\\\.([A-Z_0-9]+)"},"class_is":{"captures":{"1":{"name":"storage.type.is.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}},"match":"\\\\s+(is)\\\\s+([a-zA-Z_]\\\\w*)"},"class_name":{"captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}},"match":"(?<=class_name)\\\\s+([a-zA-Z_]\\\\w*(\\\\.([a-zA-Z_]\\\\w*))?)"},"class_new":{"captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"storage.type.new.gdscript"},"3":{"name":"punctuation.parenthesis.begin.gdscript"}},"match":"\\\\b([a-zA-Z_]\\\\w*).(new)\\\\("},"comment":{"captures":{"1":{"name":"punctuation.definition.comment.number-sign.gdscript"}},"match":"(##|#).*$\\\\n?","name":"comment.line.number-sign.gdscript"},"compare_operator":{"match":"<=|>=|==|<|>|!=|!","name":"keyword.operator.comparison.gdscript"},"const_vars":{"match":"\\\\b([A-Z_][A-Z_0-9]*)\\\\b","name":"variable.other.constant.gdscript"},"control_flow":{"match":"\\\\b(?:if|elif|else|while|break|continue|pass|return|when|yield|await)\\\\b","name":"keyword.control.gdscript"},"curly_braces":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.dict.begin.gdscript"}},"end":"\\\\}","endCaptures":{"0":{"name":"punctuation.definition.dict.end.gdscript"}},"patterns":[{"include":"#base_expression"},{"include":"#any_variable"}]},"expression":{"patterns":[{"include":"#base_expression"},{"include":"#getter_setter_godot4"},{"include":"#assignment_operator"},{"include":"#annotations"},{"include":"#class_name"},{"include":"#builtin_classes"},{"include":"#class_new"},{"include":"#class_is"},{"include":"#class_enum"},{"include":"#any_method"},{"include":"#any_variable"},{"include":"#any_property"}]},"extends_statement":{"captures":{"1":{"name":"keyword.language.gdscript"},"2":{"name":"entity.other.inherited-class.gdscript"}},"match":"(extends)\\\\s+([a-zA-Z_]\\\\w*\\\\.[a-zA-Z_]\\\\w*)?"},"func":{"match":"\\\\bfunc\\\\b","name":"keyword.language.gdscript"},"function_arguments":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.gdscript"}},"contentName":"meta.function.parameters.gdscript","end":"(?=\\\\))(?!\\\\)\\\\s*\\\\()","patterns":[{"match":"(,)","name":"punctuation.separator.arguments.gdscript"},{"captures":{"1":{"name":"variable.parameter.function-call.gdscript"},"2":{"name":"keyword.operator.assignment.gdscript"}},"match":"\\\\b([a-zA-Z_]\\\\w*)\\\\s*(=)(?!=)"},{"match":"=(?!=)","name":"keyword.operator.assignment.gdscript"},{"include":"#base_expression"},{"captures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"},"2":{"name":"punctuation.definition.arguments.begin.gdscript"}},"match":"\\\\s*(\\\\))\\\\s*(\\\\()"},{"include":"#letter"},{"include":"#any_variable"},{"include":"#any_property"},{"include":"#keywords"}]},"function_call":{"begin":"(?=\\\\b[a-zA-Z_]\\\\w*\\\\b\\\\()","comment":"Regular function call of the type \\"name(args)\\"","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"}},"name":"meta.function-call.gdscript","patterns":[{"include":"#function_name"},{"include":"#function_arguments"}]},"function_declaration":{"begin":"\\\\s*(func)\\\\s+([a-zA-Z_]\\\\w*)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}},"end":"(:)","endCaptures":{"1":{"name":"punctuation.section.function.begin.gdscript"}},"name":"meta.function.gdscript","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"include":"#base_expression"}]},"function_name":{"patterns":[{"include":"#builtin_classes"},{"match":"\\\\b(preload)\\\\b","name":"keyword.language.gdscript"},{"comment":"Some color schemas support meta.function-call.generic scope","match":"\\\\b([a-zA-Z_]\\\\w*)\\\\b","name":"entity.name.function.gdscript"}]},"getter_setter_godot4":{"patterns":[{"captures":{"1":{"name":"entity.name.function.gdscript"}},"match":"\\\\b(get):"},{"begin":"\\\\s+(set)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.function.gdscript"}},"end":"(:|(?=[#'\\"\\\\n]))","name":"meta.function.gdscript","patterns":[{"include":"#parameters"},{"include":"#line_continuation"}]}]},"in_keyword":{"patterns":[{"begin":"\\\\b(for)\\\\b","captures":{"1":{"name":"keyword.control.gdscript"}},"end":":","patterns":[{"match":"\\\\bin\\\\b","name":"keyword.control.gdscript"},{"include":"#base_expression"},{"include":"#any_variable"},{"include":"#any_property"}]},{"match":"\\\\bin\\\\b","name":"keyword.operator.wordlike.gdscript"}]},"keywords":{"match":"\\\\b(?:class|class_name|abstract|is|onready|tool|static|export|as|void|enum|assert|breakpoint|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace)\\\\b","name":"keyword.language.gdscript"},"lambda_declaration":{"begin":"(func)\\\\s?(?=\\\\()","beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}},"end":"(:|(?=[#'\\"\\\\n]))","end2":"(\\\\s*(\\\\-\\\\>)\\\\s*(void\\\\w*)|([a-zA-Z_]\\\\w*)\\\\s*\\\\:)","endCaptures2":{"1":{"name":"punctuation.separator.annotation.result.gdscript"},"2":{"name":"keyword.language.void.gdscript"},"3":{"name":"entity.name.type.class.gdscript markup.italic"}},"name":"meta.function.gdscript","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"include":"#base_expression"},{"include":"#any_variable"},{"include":"#any_property"}]},"letter":{"match":"\\\\b(?:true|false|null)\\\\b","name":"constant.language.gdscript"},"line_continuation":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"},"2":{"name":"invalid.illegal.line.continuation.gdscript"}},"match":"(\\\\\\\\)\\\\s*(\\\\S.*$\\\\n?)"},{"begin":"(\\\\\\\\)\\\\s*$\\\\n?","beginCaptures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"}},"end":"(?=^\\\\s*$)|(?!(\\\\s*[rR]?(\\\\'\\\\'\\\\'|\\\\\\"\\\\\\"\\\\\\"|\\\\'|\\\\\\"))|(\\\\G$))","patterns":[{"include":"#base_expression"}]}]},"loose_default":{"begin":"(=)","beginCaptures":{"1":{"name":"keyword.operator.gdscript"}},"end":"(,)|(?=\\\\))","endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}},"patterns":[{"include":"#base_expression"}]},"match_keyword":{"captures":{"1":{"name":"keyword.control.gdscript"}},"match":"^\\n\\\\s*(match)"},"nodepath_function":{"begin":"(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.gdscript"},"2":{"name":"punctuation.definition.parameters.begin.gdscript"}},"contentName":"meta.function.parameters.gdscript","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}},"name":"meta.function.gdscript","patterns":[{"begin":"(\\"|')","end":"\\\\1","name":"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape","patterns":[{"match":"%","name":"keyword.control.flow"}]},{"include":"#base_expression"}]},"nodepath_object":{"begin":"(NodePath)\\\\s*(?:\\\\()","beginCaptures":{"1":{"name":"support.class.library.gdscript"}},"end":"(?:\\\\))","name":"meta.literal.nodepath.gdscript","patterns":[{"begin":"(\\"|')","end":"\\\\1","name":"string.quoted.gdscript constant.character.escape.gdscript","patterns":[{"match":"%","name":"keyword.control.flow.gdscript"}]}]},"numbers":{"patterns":[{"match":"0b[01_]+","name":"constant.numeric.integer.binary.gdscript"},{"match":"0x[0-9A-Fa-f_]+","name":"constant.numeric.integer.hexadecimal.gdscript"},{"match":"\\\\.[0-9][0-9_]*([eE][+-]?[0-9_]+)?","name":"constant.numeric.float.gdscript"},{"match":"([0-9][0-9_]*)?\\\\.[0-9_]*([eE][+-]?[0-9_]+)?","name":"constant.numeric.float.gdscript"},{"match":"[0-9][0-9_]*[eE][+-]?[0-9_]+","name":"constant.numeric.float.gdscript"},{"match":"[-]?[0-9][0-9_]*","name":"constant.numeric.integer.gdscript"}]},"operators":{"patterns":[{"include":"#wordlike_operator"},{"include":"#boolean_operator"},{"include":"#arithmetic_operator"},{"include":"#bitwise_operator"},{"include":"#compare_operator"}]},"parameters":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.gdscript"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}},"name":"meta.function.parameters.gdscript","patterns":[{"include":"#annotated_parameter"},{"captures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.parameters.gdscript"}},"match":"([a-zA-Z_]\\\\w*)\\\\s*(?:(,)|(?=[)#\\\\n=]))"},{"include":"#comment"},{"include":"#loose_default"}]},"pascal_case_class":{"match":"\\\\b([A-Z]+[a-z_0-9]*([A-Z]?[a-z_0-9]+)*[A-Z]?)\\\\b","name":"entity.name.type.class.gdscript"},"round_braces":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.begin.gdscript"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.end.gdscript"}},"patterns":[{"include":"#base_expression"},{"include":"#any_variable"}]},"self":{"match":"\\\\bself\\\\b","name":"variable.language.gdscript"},"signal_declaration":{"begin":"\\\\s*(signal)\\\\s+([a-zA-Z_]\\\\w*)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}},"end":"((?=[#'\\"\\\\n]))","name":"meta.signal.gdscript","patterns":[{"include":"#parameters"},{"include":"#line_continuation"}]},"signal_declaration_bare":{"captures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}},"match":"\\\\s*(signal)\\\\s+([a-zA-Z_]\\\\w*)(?=[\\\\n\\\\s])","name":"meta.signal.gdscript"},"square_braces":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.list.begin.gdscript"}},"end":"\\\\]","endCaptures":{"0":{"name":"punctuation.definition.list.end.gdscript"}},"patterns":[{"include":"#base_expression"},{"include":"#any_variable"}]},"statement":{"patterns":[{"include":"#extends_statement"}]},"statement_keyword":{"patterns":[{"match":"\\\\b(?<!\\\\.)(continue|assert|break|elif|else|if|pass|return|while)\\\\b","name":"keyword.control.flow.gdscript"},{"match":"\\\\b(?<!\\\\.)(class)\\\\b","name":"storage.type.class.gdscript"},{"captures":{"1":{"name":"keyword.control.flow.gdscript"}},"match":"^\\\\s*(case|match)(?=\\\\s*([-+\\\\w\\\\d(\\\\[{'\\":#]|$))\\\\b"}]},"string_bracket_placeholders":{"patterns":[{"captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"},"3":{"name":"storage.type.format.gdscript"},"4":{"name":"storage.type.format.gdscript"}},"match":"({{|}}|(?:{\\\\w*(\\\\.[[:alpha:]_]\\\\w*|\\\\[[^\\\\]'\\"]+\\\\])*(![rsa])?(:\\\\w?[<>=^]?[-+ ]?\\\\#?\\\\d*,?(\\\\.\\\\d+)?[bcdeEfFgGnosxX%]?)?}))","name":"meta.format.brace.gdscript"},{"captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"},"3":{"name":"storage.type.format.gdscript"},"4":{"name":"storage.type.format.gdscript"}},"match":"({\\\\w*(\\\\.[[:alpha:]_]\\\\w*|\\\\[[^\\\\]'\\"]+\\\\])*(![rsa])?(:)[^'\\"{}\\\\n]*(?:\\\\{[^'\\"}\\\\n]*?\\\\}[^'\\"{}\\\\n]*)*})","name":"meta.format.brace.gdscript"}]},"string_percent_placeholders":{"captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"}},"match":"(%(\\\\([\\\\w\\\\s]*\\\\))?[-+#0 ]*(\\\\d+|\\\\*)?(\\\\.(\\\\d+|\\\\*))?([hlL])?[diouxXeEfFgGcrsab%])","name":"meta.format.percent.gdscript"},"strings":{"begin":"(r)?(\\"\\"\\"|'''|\\"|')","beginCaptures":{"1":{"name":"constant.character.escape.gdscript"}},"end":"\\\\2","name":"string.quoted.gdscript","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.gdscript"},{"include":"#string_percent_placeholders"},{"include":"#string_bracket_placeholders"}]},"variable_declaration":{"begin":"\\\\b(?:(var)|(const))\\\\b","beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.var.gdscript"},"2":{"name":"keyword.language.gdscript storage.type.const.gdscript"}},"end":"$|;","name":"meta.variable.declaration.gdscript","patterns":[{"captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"keyword.language.gdscript storage.type.const.gdscript"},"3":{"name":"entity.name.function.gdscript"}},"match":"(:)?\\\\s*(set|get)\\\\s+=\\\\s+([a-zA-Z_]\\\\w*)"},{"match":":=|=(?!=)","name":"keyword.operator.assignment.gdscript"},{"captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}},"match":"(:)\\\\s*([a-zA-Z_]\\\\w*)?"},{"captures":{"1":{"name":"keyword.language.gdscript storage.type.const.gdscript"},"2":{"name":"entity.name.function.gdscript"},"3":{"name":"entity.name.function.gdscript"}},"match":"(setget)\\\\s+([a-zA-Z_]\\\\w*)(?:[,]\\\\s*([a-zA-Z_]\\\\w*))?"},{"include":"#expression"},{"include":"#letter"},{"include":"#any_variable"},{"include":"#any_property"},{"include":"#keywords"}]},"wordlike_operator":{"match":"\\\\b(and|or|not)\\\\b","name":"keyword.operator.wordlike.gdscript"}},"scopeName":"source.gdscript"}`)), t = [
2
- e
3
- ];
4
- export {
5
- t as default
6
- };
@@ -1,6 +0,0 @@
1
- const e = Object.freeze(JSON.parse('{"displayName":"GDShader","fileTypes":["gdshader"],"name":"gdshader","patterns":[{"include":"#any"}],"repository":{"any":{"patterns":[{"include":"#comment"},{"include":"#enclosed"},{"include":"#classifier"},{"include":"#definition"},{"include":"#keyword"},{"include":"#element"},{"include":"#separator"},{"include":"#operator"}]},"arraySize":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.bracket.gdshader"}},"end":"\\\\]","name":"meta.array-size.gdshader","patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#element"},{"include":"#separator"}]},"classifier":{"begin":"(?=\\\\b(?:shader_type|render_mode)\\\\b)","end":"(?<=;)","name":"meta.classifier.gdshader","patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#identifierClassification"},{"include":"#separator"}]},"classifierKeyword":{"match":"\\\\b(?:shader_type|render_mode)\\\\b","name":"keyword.language.classifier.gdshader"},"comment":{"patterns":[{"include":"#commentLine"},{"include":"#commentBlock"}]},"commentBlock":{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.gdshader"},"commentLine":{"begin":"//","end":"$","name":"comment.line.double-slash.gdshader"},"constantFloat":{"match":"\\\\b(?:E|PI|TAU)\\\\b","name":"constant.language.float.gdshader"},"constructor":{"match":"\\\\b[a-zA-Z_]\\\\w*(?=\\\\s*\\\\[\\\\s*\\\\w*\\\\s*\\\\]\\\\s*[(])|\\\\b[A-Z]\\\\w*(?=\\\\s*[(])","name":"entity.name.type.constructor.gdshader"},"controlKeyword":{"match":"\\\\b(?:if|else|do|while|for|continue|break|switch|case|default|return|discard)\\\\b","name":"keyword.control.gdshader"},"definition":{"patterns":[{"include":"#structDefinition"}]},"element":{"patterns":[{"include":"#literalFloat"},{"include":"#literalInt"},{"include":"#literalBool"},{"include":"#identifierType"},{"include":"#constructor"},{"include":"#processorFunction"},{"include":"#identifierFunction"},{"include":"#swizzling"},{"include":"#identifierField"},{"include":"#constantFloat"},{"include":"#languageVariable"},{"include":"#identifierVariable"}]},"enclosed":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.parenthesis.gdshader"}},"end":"\\\\)","name":"meta.parenthesis.gdshader","patterns":[{"include":"#any"}]},"fieldDefinition":{"begin":"\\\\b[a-zA-Z_]\\\\w*\\\\b","beginCaptures":{"0":{"patterns":[{"include":"#typeKeyword"},{"match":".+","name":"entity.name.type.gdshader"}]}},"end":"(?<=;)","name":"meta.definition.field.gdshader","patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#arraySize"},{"include":"#fieldName"},{"include":"#any"}]},"fieldName":{"match":"\\\\b[a-zA-Z_]\\\\w*\\\\b","name":"entity.name.variable.field.gdshader"},"hintKeyword":{"match":"\\\\b(?:source_color|hint_(?:color|range|(?:black_)?albedo|normal|(?:default_)?(?:white|black)|aniso|anisotropy|roughness_(?:[rgba]|normal|gray))|filter_(?:nearest|linear)(?:_mipmap(?:_anisotropic)?)?|repeat_(?:en|dis)able)\\\\b","name":"support.type.annotation.gdshader"},"identifierClassification":{"match":"\\\\b[a-z_]+\\\\b","name":"entity.other.inherited-class.gdshader"},"identifierField":{"captures":{"1":{"name":"punctuation.accessor.gdshader"},"2":{"name":"entity.name.variable.field.gdshader"}},"match":"([.])\\\\s*([a-zA-Z_]\\\\w*)\\\\b(?!\\\\s*\\\\()"},"identifierFunction":{"match":"\\\\b[a-zA-Z_]\\\\w*(?=(?:\\\\s|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*[(])","name":"entity.name.function.gdshader"},"identifierType":{"match":"\\\\b[a-zA-Z_]\\\\w*(?=(?:\\\\s*\\\\[\\\\s*\\\\w*\\\\s*\\\\])?\\\\s+[a-zA-Z_]\\\\w*\\\\b)","name":"entity.name.type.gdshader"},"identifierVariable":{"match":"\\\\b[a-zA-Z_]\\\\w*\\\\b","name":"variable.name.gdshader"},"keyword":{"patterns":[{"include":"#classifierKeyword"},{"include":"#structKeyword"},{"include":"#controlKeyword"},{"include":"#modifierKeyword"},{"include":"#precisionKeyword"},{"include":"#typeKeyword"},{"include":"#hintKeyword"}]},"languageVariable":{"match":"\\\\b(?:[A-Z][A-Z_0-9]*)\\\\b","name":"variable.language.gdshader"},"literalBool":{"match":"\\\\b(?:false|true)\\\\b","name":"constant.language.boolean.gdshader"},"literalFloat":{"match":"\\\\b(?:\\\\d+[eE][-+]?\\\\d+|(?:\\\\d*[.]\\\\d+|\\\\d+[.])(?:[eE][-+]?\\\\d+)?)[fF]?","name":"constant.numeric.float.gdshader"},"literalInt":{"match":"\\\\b(?:0[xX][0-9A-Fa-f]+|\\\\d+[uU]?)\\\\b","name":"constant.numeric.integer.gdshader"},"modifierKeyword":{"match":"\\\\b(?:const|global|instance|uniform|varying|in|out|inout|flat|smooth)\\\\b","name":"storage.modifier.gdshader"},"operator":{"match":"\\\\<\\\\<\\\\=?|\\\\>\\\\>\\\\=?|[-+*/&|<>=!]\\\\=|\\\\&\\\\&|[|][|]|[-+~!*/%<>&^|=]","name":"keyword.operator.gdshader"},"precisionKeyword":{"match":"\\\\b(?:low|medium|high)p\\\\b","name":"storage.type.built-in.primitive.precision.gdshader"},"processorFunction":{"match":"\\\\b(?:vertex|fragment|light|start|process|sky|fog)(?=(?:\\\\s|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*[(])","name":"support.function.gdshader"},"separator":{"patterns":[{"match":"[.]","name":"punctuation.accessor.gdshader"},{"include":"#separatorComma"},{"match":"[;]","name":"punctuation.terminator.statement.gdshader"},{"match":"[:]","name":"keyword.operator.type.annotation.gdshader"}]},"separatorComma":{"match":"[,]","name":"punctuation.separator.comma.gdshader"},"structDefinition":{"begin":"(?=\\\\b(?:struct)\\\\b)","end":"(?<=;)","patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#structName"},{"include":"#structDefinitionBlock"},{"include":"#separator"}]},"structDefinitionBlock":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.definition.block.struct.gdshader"}},"end":"\\\\}","name":"meta.definition.block.struct.gdshader","patterns":[{"include":"#comment"},{"include":"#precisionKeyword"},{"include":"#fieldDefinition"},{"include":"#keyword"},{"include":"#any"}]},"structKeyword":{"match":"\\\\b(?:struct)\\\\b","name":"keyword.other.struct.gdshader"},"structName":{"match":"\\\\b[a-zA-Z_]\\\\w*\\\\b","name":"entity.name.type.struct.gdshader"},"swizzling":{"captures":{"1":{"name":"punctuation.accessor.gdshader"},"2":{"name":"variable.other.property.gdshader"}},"match":"([.])\\\\s*([xyzw]{2,4}|[rgba]{2,4}|[stpq]{2,4})\\\\b"},"typeKeyword":{"match":"\\\\b(?:void|bool|[biu]?vec[234]|u?int|float|mat[234]|[iu]?sampler(?:3D|2D(?:Array)?)|samplerCube)\\\\b","name":"support.type.gdshader"}},"scopeName":"source.gdshader"}')), a = [
2
- e
3
- ];
4
- export {
5
- a as default
6
- };