intlayer-editor 5.3.9 → 5.3.11

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 (456) hide show
  1. package/client/dist/assets/abap-CuzaboPy.js +1 -0
  2. package/client/dist/assets/actionscript-3-BWZb6ht_.js +1 -0
  3. package/client/dist/assets/ada-lbGJHcqN.js +1 -0
  4. package/client/dist/assets/angular-html-DMNHImpm.js +1 -0
  5. package/client/dist/assets/angular-ts-eB8LWD2C.js +1 -0
  6. package/client/dist/assets/apache-ClrZ-IwE.js +1 -0
  7. package/client/dist/assets/apex-DHEJMXht.js +1 -0
  8. package/client/dist/assets/apl-DSpMDkz7.js +1 -0
  9. package/client/dist/assets/applescript-d8h0XnfP.js +1 -0
  10. package/client/dist/assets/ara-D11-aFNM.js +1 -0
  11. package/client/dist/assets/asciidoc-BPN7z6_Y.js +1 -0
  12. package/client/dist/assets/asm-B-o3LjfJ.js +1 -0
  13. package/client/dist/assets/astro-BEfdsCb3.js +1 -0
  14. package/client/dist/assets/awk-DFufGi5b.js +1 -0
  15. package/client/dist/assets/ballerina-DCKmv_4D.js +1 -0
  16. package/client/dist/assets/bat-9J6oqHce.js +1 -0
  17. package/client/dist/assets/beancount-CJ6EEQ2V.js +1 -0
  18. package/client/dist/assets/berry-CufD37jc.js +1 -0
  19. package/client/dist/assets/bibtex-B5xtV7zU.js +1 -0
  20. package/client/dist/assets/bicep-B-_DnH9T.js +1 -0
  21. package/client/dist/assets/blade-jtwiscur.js +1 -0
  22. package/client/dist/assets/bsl-BXaZRMg3.js +1 -0
  23. package/client/dist/assets/c-Du_P13ro.js +1 -0
  24. package/client/dist/assets/cadence-BhCOhF7G.js +1 -0
  25. package/client/dist/assets/cairo-DbSVSKxu.js +1 -0
  26. package/client/dist/assets/{catppuccin-frappe-CD_QflpE.js → catppuccin-frappe-BtitwTYg.js} +1 -1
  27. package/client/dist/assets/{catppuccin-latte-DRW-0cLl.js → catppuccin-latte-CW_h_59B.js} +1 -1
  28. package/client/dist/assets/{catppuccin-macchiato-C-_shW-Y.js → catppuccin-macchiato-CXeUe8zM.js} +1 -1
  29. package/client/dist/assets/{catppuccin-mocha-LGGdnPYs.js → catppuccin-mocha-Cj87Vp-p.js} +1 -1
  30. package/client/dist/assets/clarity-D72Djq1u.js +1 -0
  31. package/client/dist/assets/clojure-I1vGaenB.js +1 -0
  32. package/client/dist/assets/cmake-C07pmjNf.js +1 -0
  33. package/client/dist/assets/cobol-DLiQ7VlT.js +1 -0
  34. package/client/dist/assets/codeql-TbzFAQVx.js +1 -0
  35. package/client/dist/assets/coffee-CN9rYqj2.js +1 -0
  36. package/client/dist/assets/common-lisp-0v_W_vIl.js +1 -0
  37. package/client/dist/assets/coq-DqPPCFWZ.js +1 -0
  38. package/client/dist/assets/cpp-D6jLj3ac.js +1 -0
  39. package/client/dist/assets/crystal-CSXto_ug.js +1 -0
  40. package/client/dist/assets/csharp-t9jp2bdZ.js +1 -0
  41. package/client/dist/assets/css-6ydISZ1j.js +1 -0
  42. package/client/dist/assets/csv-fuZLfV_i.js +1 -0
  43. package/client/dist/assets/cue-DZa-IHfU.js +1 -0
  44. package/client/dist/assets/cypher-B8QFFMEI.js +1 -0
  45. package/client/dist/assets/d-BWEIE2mf.js +1 -0
  46. package/client/dist/assets/dart-Bc9cAHms.js +1 -0
  47. package/client/dist/assets/dax-B4O06LmT.js +1 -0
  48. package/client/dist/assets/desktop-C480DKyb.js +1 -0
  49. package/client/dist/assets/diff-7a-uGD01.js +1 -0
  50. package/client/dist/assets/{docker-COcR7UxN.js → docker-BcOcwvcX.js} +1 -1
  51. package/client/dist/assets/dotenv-RqsQB2BX.js +1 -0
  52. package/client/dist/assets/dream-maker-CwZzURTK.js +1 -0
  53. package/client/dist/assets/edge-7WOHoDwQ.js +1 -0
  54. package/client/dist/assets/elixir-C8UL7p8J.js +1 -0
  55. package/client/dist/assets/elm-BVJIbDWr.js +1 -0
  56. package/client/dist/assets/emacs-lisp-BGJzjoMF.js +1 -0
  57. package/client/dist/assets/erb-2bVwkg7V.js +1 -0
  58. package/client/dist/assets/erlang-Buh6fjeB.js +1 -0
  59. package/client/dist/assets/fennel-BN5cw1dr.js +1 -0
  60. package/client/dist/assets/fish-BIU4F8Lx.js +1 -0
  61. package/client/dist/assets/fluent-DPdCYVuL.js +1 -0
  62. package/client/dist/assets/fortran-fixed-form-DMTTIQFJ.js +1 -0
  63. package/client/dist/assets/fortran-free-form-FZM7PgI4.js +1 -0
  64. package/client/dist/assets/fsharp-B93pd7q9.js +1 -0
  65. package/client/dist/assets/gdresource-I9Onfmy0.js +1 -0
  66. package/client/dist/assets/gdscript-E0a2itvD.js +1 -0
  67. package/client/dist/assets/gdshader-C8KBts9d.js +1 -0
  68. package/client/dist/assets/genie-CZ1jFyQ7.js +1 -0
  69. package/client/dist/assets/{gherkin--30QC5Em.js → gherkin-B-23jXpc.js} +1 -1
  70. package/client/dist/assets/git-commit-COHn4upB.js +1 -0
  71. package/client/dist/assets/{git-rebase-B-v9cOL2.js → git-rebase-D7M3XCeK.js} +1 -1
  72. package/client/dist/assets/gleam-CFlCaHJ1.js +1 -0
  73. package/client/dist/assets/glimmer-js-DTuRZoQB.js +1 -0
  74. package/client/dist/assets/glimmer-ts-BGh34NOZ.js +1 -0
  75. package/client/dist/assets/glsl-D6Vaizag.js +1 -0
  76. package/client/dist/assets/gnuplot-DwPOQrla.js +1 -0
  77. package/client/dist/assets/go-DSI44sMb.js +1 -0
  78. package/client/dist/assets/graphql-CzqHVaah.js +1 -0
  79. package/client/dist/assets/groovy-DnUZ9V9w.js +1 -0
  80. package/client/dist/assets/gruvbox-dark-hard-BNFkGX63.js +1 -0
  81. package/client/dist/assets/gruvbox-dark-medium-fPwOVgKi.js +1 -0
  82. package/client/dist/assets/gruvbox-dark-soft-rn_0Wvg-.js +1 -0
  83. package/client/dist/assets/gruvbox-light-hard-DPpLE3g-.js +1 -0
  84. package/client/dist/assets/gruvbox-light-medium-BBkKoO69.js +1 -0
  85. package/client/dist/assets/gruvbox-light-soft-Ism0zgIY.js +1 -0
  86. package/client/dist/assets/hack-BfoaVUmQ.js +1 -0
  87. package/client/dist/assets/haml-BjHfNtf2.js +1 -0
  88. package/client/dist/assets/handlebars-DN1vFC8Y.js +1 -0
  89. package/client/dist/assets/haskell-C97r5ta3.js +1 -0
  90. package/client/dist/assets/haxe-BVnfiMDc.js +1 -0
  91. package/client/dist/assets/hcl-BRpPFe2i.js +1 -0
  92. package/client/dist/assets/hjson-Bgmt9vRU.js +1 -0
  93. package/client/dist/assets/hlsl-DgLWmsUM.js +1 -0
  94. package/client/dist/assets/html-DQt1crSz.js +1 -0
  95. package/client/dist/assets/html-derivative-OoyioBIu.js +1 -0
  96. package/client/dist/assets/http-B1MEeU_C.js +1 -0
  97. package/client/dist/assets/hxml-BYnPWQ3Z.js +1 -0
  98. package/client/dist/assets/hy--6ePOT02.js +1 -0
  99. package/client/dist/assets/imba-ZOHZ3W7h.js +1 -0
  100. package/client/dist/assets/index-Ce5nn7ya.js +298 -0
  101. package/client/dist/assets/index-owxiUI62.css +1 -0
  102. package/client/dist/assets/{ini-BjABl1g7.js → ini-m1-xr6K8.js} +1 -1
  103. package/client/dist/assets/java-DzEvymKG.js +1 -0
  104. package/client/dist/assets/javascript-DFxyEsuO.js +1 -0
  105. package/client/dist/assets/jinja-CbuI_e8q.js +1 -0
  106. package/client/dist/assets/jison-BThBLrI1.js +1 -0
  107. package/client/dist/assets/json-BLmTiKMJ.js +1 -0
  108. package/client/dist/assets/json5-C5z8RDkF.js +1 -0
  109. package/client/dist/assets/jsonc-CuA0FkKk.js +1 -0
  110. package/client/dist/assets/jsonl-CBcFDUab.js +1 -0
  111. package/client/dist/assets/jsonnet-CCBwdCM5.js +1 -0
  112. package/client/dist/assets/jssm-BtZDPN4U.js +1 -0
  113. package/client/dist/assets/jsx-Dog42FfX.js +1 -0
  114. package/client/dist/assets/julia-QW6AWql5.js +1 -0
  115. package/client/dist/assets/kotlin-MsGODAH1.js +1 -0
  116. package/client/dist/assets/kusto-BEWisg9D.js +1 -0
  117. package/client/dist/assets/latex-D6g4IvIb.js +1 -0
  118. package/client/dist/assets/lean-Bsgk112v.js +1 -0
  119. package/client/dist/assets/less-CL8eqPyx.js +1 -0
  120. package/client/dist/assets/liquid-DwnqW0Hw.js +1 -0
  121. package/client/dist/assets/llvm-CQsJUk-H.js +1 -0
  122. package/client/dist/assets/log-DnFCEHlQ.js +1 -0
  123. package/client/dist/assets/{logo-IuBKFhSY.js → logo-CkBIg-lq.js} +1 -1
  124. package/client/dist/assets/lua-DgKrCl_t.js +1 -0
  125. package/client/dist/assets/luau-CqbnzJ-x.js +1 -0
  126. package/client/dist/assets/make-CSWLD5xG.js +1 -0
  127. package/client/dist/assets/markdown-CfdnVo6U.js +1 -0
  128. package/client/dist/assets/marko-Ddcey6ql.js +1 -0
  129. package/client/dist/assets/matlab-LZB065En.js +1 -0
  130. package/client/dist/assets/mdc-BSBcOUr9.js +1 -0
  131. package/client/dist/assets/mdx-B_I5quxp.js +1 -0
  132. package/client/dist/assets/mermaid-CXyZL9PL.js +1 -0
  133. package/client/dist/assets/mipsasm-BwEeJ4dY.js +1 -0
  134. package/client/dist/assets/mojo-DHZoLXvC.js +1 -0
  135. package/client/dist/assets/move-_bK4LppZ.js +1 -0
  136. package/client/dist/assets/narrat-CElRTuuq.js +1 -0
  137. package/client/dist/assets/nextflow--CXHmARm.js +1 -0
  138. package/client/dist/assets/nginx-C1Yc5-eE.js +1 -0
  139. package/client/dist/assets/nim-CuWg7p6V.js +1 -0
  140. package/client/dist/assets/nix-C-iLU9M_.js +1 -0
  141. package/client/dist/assets/nushell-BsWK4Erq.js +1 -0
  142. package/client/dist/assets/objective-c-JQgEzMhr.js +1 -0
  143. package/client/dist/assets/objective-cpp-CAZ1NrJr.js +1 -0
  144. package/client/dist/assets/ocaml-CANNzmGA.js +1 -0
  145. package/client/dist/assets/one-dark-pro-DVMEJ2y_.js +1 -0
  146. package/client/dist/assets/pascal-CUU_xxmv.js +1 -0
  147. package/client/dist/assets/perl-Bcivc5lk.js +1 -0
  148. package/client/dist/assets/php-XhOgcbHd.js +1 -0
  149. package/client/dist/assets/plsql-Csx-KgEj.js +1 -0
  150. package/client/dist/assets/po-CZKeM8oa.js +1 -0
  151. package/client/dist/assets/polar-C9vCuADp.js +1 -0
  152. package/client/dist/assets/postcss-BgR6IBVD.js +1 -0
  153. package/client/dist/assets/powerquery-BZR5jcz4.js +1 -0
  154. package/client/dist/assets/powershell-Q0c5v3Fs.js +1 -0
  155. package/client/dist/assets/prisma-yac1gHcz.js +1 -0
  156. package/client/dist/assets/prolog-S2snRG_L.js +1 -0
  157. package/client/dist/assets/proto-B2asqJ_e.js +1 -0
  158. package/client/dist/assets/pug-Ud6KBVuk.js +1 -0
  159. package/client/dist/assets/puppet-qBI2rw6w.js +1 -0
  160. package/client/dist/assets/purescript-CYAc_BdW.js +1 -0
  161. package/client/dist/assets/python-N_fYzn4k.js +1 -0
  162. package/client/dist/assets/qml-BdV_SRG6.js +1 -0
  163. package/client/dist/assets/qss-xAjwRsjP.js +1 -0
  164. package/client/dist/assets/r-15AZnl_Y.js +1 -0
  165. package/client/dist/assets/racket-DfaBuPIG.js +1 -0
  166. package/client/dist/assets/raku-DARByBhS.js +1 -0
  167. package/client/dist/assets/razor-R9tSNI_9.js +1 -0
  168. package/client/dist/assets/reg-eiUPDiaM.js +1 -0
  169. package/client/dist/assets/regexp-we84whta.js +1 -0
  170. package/client/dist/assets/{rel-DJlmqQ1C.js → rel-CLLaPSAr.js} +1 -1
  171. package/client/dist/assets/riscv-BOXXFo5k.js +1 -0
  172. package/client/dist/assets/rose-pine-BZeqa82Q.js +1 -0
  173. package/client/dist/assets/rose-pine-dawn-Dr8AihTi.js +1 -0
  174. package/client/dist/assets/rose-pine-moon-Bo9_Wbqy.js +1 -0
  175. package/client/dist/assets/rst-C0h9YO46.js +1 -0
  176. package/client/dist/assets/ruby-Cwn6T5Qb.js +1 -0
  177. package/client/dist/assets/rust-A6NUYkDQ.js +1 -0
  178. package/client/dist/assets/sas-Yvy-jB3G.js +1 -0
  179. package/client/dist/assets/sass-DxKx6i08.js +1 -0
  180. package/client/dist/assets/scala-urTpdRWL.js +1 -0
  181. package/client/dist/assets/scheme-DfDtJdlR.js +1 -0
  182. package/client/dist/assets/scss-DkCoLJBz.js +1 -0
  183. package/client/dist/assets/sdbl-Cflpv1WG.js +1 -0
  184. package/client/dist/assets/shaderlab-DprXpeCX.js +1 -0
  185. package/client/dist/assets/shellscript-Cs-zf8G1.js +1 -0
  186. package/client/dist/assets/{shellsession-C_rIy8kc.js → shellsession-C_x4i0EA.js} +1 -1
  187. package/client/dist/assets/smalltalk-CvaLaq0K.js +1 -0
  188. package/client/dist/assets/solidity-BWEW8IEt.js +1 -0
  189. package/client/dist/assets/soy-CV61xlNT.js +1 -0
  190. package/client/dist/assets/sparql-Ccgs8XSw.js +1 -0
  191. package/client/dist/assets/splunk-RtPzT0sk.js +1 -0
  192. package/client/dist/assets/sql-D8pCRXw6.js +1 -0
  193. package/client/dist/assets/ssh-config-BhVUZvoY.js +1 -0
  194. package/client/dist/assets/stata-nt34lD2m.js +1 -0
  195. package/client/dist/assets/stylus-q-cGTZ-j.js +1 -0
  196. package/client/dist/assets/svelte-Ue2gIPbO.js +1 -0
  197. package/client/dist/assets/swift-zJDMamB5.js +1 -0
  198. package/client/dist/assets/system-verilog-6Pjza-7V.js +1 -0
  199. package/client/dist/assets/systemd-BzvtnNXz.js +1 -0
  200. package/client/dist/assets/talonscript-B5KooqzE.js +1 -0
  201. package/client/dist/assets/tasl-actOPUJz.js +1 -0
  202. package/client/dist/assets/tcl-BX3nBwNA.js +1 -0
  203. package/client/dist/assets/templ-CJFw_bmP.js +1 -0
  204. package/client/dist/assets/terraform-BWjU2UX-.js +1 -0
  205. package/client/dist/assets/tex-C7L-Ug2D.js +1 -0
  206. package/client/dist/assets/tokyo-night-hegEt444.js +1 -0
  207. package/client/dist/assets/toml-x-gNw4Ca.js +1 -0
  208. package/client/dist/assets/ts-tags-B_RTbvdJ.js +1 -0
  209. package/client/dist/assets/tsx-CHbqLUsD.js +1 -0
  210. package/client/dist/assets/{turtle-BMR_PYu6.js → turtle-imGXYByQ.js} +1 -1
  211. package/client/dist/assets/twig-DxolMe-m.js +1 -0
  212. package/client/dist/assets/typescript-6msxI5qU.js +1 -0
  213. package/client/dist/assets/typespec-5ugHtu89.js +1 -0
  214. package/client/dist/assets/typst-DGKQAwST.js +1 -0
  215. package/client/dist/assets/v-2Dvll9y_.js +1 -0
  216. package/client/dist/assets/vala-DhIY81xx.js +1 -0
  217. package/client/dist/assets/vb-D4bKSGYI.js +1 -0
  218. package/client/dist/assets/verilog-DmSgp3mE.js +1 -0
  219. package/client/dist/assets/vesper-DU1UobuO.js +1 -0
  220. package/client/dist/assets/vhdl-DCjSv28y.js +1 -0
  221. package/client/dist/assets/viml-DMG7XCk5.js +1 -0
  222. package/client/dist/assets/vue-BebZw_gy.js +1 -0
  223. package/client/dist/assets/vue-html-B9Bqf25R.js +1 -0
  224. package/client/dist/assets/vyper-D68BUWwe.js +1 -0
  225. package/client/dist/assets/wasm-CJJW67X8.js +1 -0
  226. package/client/dist/assets/wenyan-BXqZv6Dq.js +1 -0
  227. package/client/dist/assets/wgsl-Do8n-e3P.js +1 -0
  228. package/client/dist/assets/wikitext-CQSnJ68I.js +1 -0
  229. package/client/dist/assets/wit-dyhQlKC1.js +1 -0
  230. package/client/dist/assets/wolfram-EuqmgloR.js +1 -0
  231. package/client/dist/assets/xml-iIRqcNou.js +1 -0
  232. package/client/dist/assets/xsl-BqXt74Hp.js +1 -0
  233. package/client/dist/assets/yaml-DeMLtiT4.js +1 -0
  234. package/client/dist/assets/zenscript-BbLEZwDK.js +1 -0
  235. package/client/dist/assets/zig-DFp_trfT.js +1 -0
  236. package/client/dist/index.html +2 -2
  237. package/package.json +41 -41
  238. package/server/dist/index.cjs +6 -6
  239. package/server/dist/index.cjs.map +1 -1
  240. package/server/dist/index.mjs +6 -6
  241. package/server/dist/index.mjs.map +1 -1
  242. package/client/dist/assets/abap-DsBKuouk.js +0 -1
  243. package/client/dist/assets/actionscript-3-D_z4Izcz.js +0 -1
  244. package/client/dist/assets/ada-727ZlQH0.js +0 -1
  245. package/client/dist/assets/angular-html-LfdN0zeE.js +0 -1
  246. package/client/dist/assets/angular-ts-CKsD7JZE.js +0 -1
  247. package/client/dist/assets/apache-Dn00JSTd.js +0 -1
  248. package/client/dist/assets/apex-COJ4H7py.js +0 -1
  249. package/client/dist/assets/apl-BBq3IX1j.js +0 -1
  250. package/client/dist/assets/applescript-Bu5BbsvL.js +0 -1
  251. package/client/dist/assets/ara-7O62HKoU.js +0 -1
  252. package/client/dist/assets/asciidoc-BPT9niGB.js +0 -1
  253. package/client/dist/assets/asm-Dhn9LcZ4.js +0 -1
  254. package/client/dist/assets/astro-CqkE3fuf.js +0 -1
  255. package/client/dist/assets/awk-eg146-Ew.js +0 -1
  256. package/client/dist/assets/ballerina-Du268qiB.js +0 -1
  257. package/client/dist/assets/bat-fje9CFhw.js +0 -1
  258. package/client/dist/assets/beancount-BwXTMy5W.js +0 -1
  259. package/client/dist/assets/berry-3xVqZejG.js +0 -1
  260. package/client/dist/assets/bibtex-xW4inM5L.js +0 -1
  261. package/client/dist/assets/bicep-DHo0CJ0O.js +0 -1
  262. package/client/dist/assets/blade-a8OxSdnT.js +0 -1
  263. package/client/dist/assets/bsl-Dgyn0ogV.js +0 -1
  264. package/client/dist/assets/c-C3t2pwGQ.js +0 -1
  265. package/client/dist/assets/cadence-DNquZEk8.js +0 -1
  266. package/client/dist/assets/cairo--RitsXJZ.js +0 -1
  267. package/client/dist/assets/clarity-BHOwM8T6.js +0 -1
  268. package/client/dist/assets/clojure-DxSadP1t.js +0 -1
  269. package/client/dist/assets/cmake-DbXoA79R.js +0 -1
  270. package/client/dist/assets/cobol-PTqiYgYu.js +0 -1
  271. package/client/dist/assets/codeql-sacFqUAJ.js +0 -1
  272. package/client/dist/assets/coffee-dyiR41kL.js +0 -1
  273. package/client/dist/assets/common-lisp-C7gG9l05.js +0 -1
  274. package/client/dist/assets/coq-Dsg_Bt_b.js +0 -1
  275. package/client/dist/assets/cpp-BksuvNSY.js +0 -1
  276. package/client/dist/assets/crystal-DtDmRg-F.js +0 -1
  277. package/client/dist/assets/csharp-D9R-vmeu.js +0 -1
  278. package/client/dist/assets/css-BPhBrDlE.js +0 -1
  279. package/client/dist/assets/csv-B0qRVHPH.js +0 -1
  280. package/client/dist/assets/cue-DtFQj3wx.js +0 -1
  281. package/client/dist/assets/cypher-m2LEI-9-.js +0 -1
  282. package/client/dist/assets/d-BoXegm-a.js +0 -1
  283. package/client/dist/assets/dart-B9wLZaAG.js +0 -1
  284. package/client/dist/assets/dax-ClGRhx96.js +0 -1
  285. package/client/dist/assets/desktop-DEIpsLCJ.js +0 -1
  286. package/client/dist/assets/diff-BgYniUM_.js +0 -1
  287. package/client/dist/assets/dotenv-BjQB5zDj.js +0 -1
  288. package/client/dist/assets/dream-maker-C-nORZOA.js +0 -1
  289. package/client/dist/assets/edge-D5gP-w-T.js +0 -1
  290. package/client/dist/assets/elixir-CLiX3zqd.js +0 -1
  291. package/client/dist/assets/elm-CmHSxxaM.js +0 -1
  292. package/client/dist/assets/emacs-lisp-BX77sIaO.js +0 -1
  293. package/client/dist/assets/erb-BYTLMnw6.js +0 -1
  294. package/client/dist/assets/erlang-B-DoSBHF.js +0 -1
  295. package/client/dist/assets/fennel-bCA53EVm.js +0 -1
  296. package/client/dist/assets/fish-w-ucz2PV.js +0 -1
  297. package/client/dist/assets/fluent-Dayu4EKP.js +0 -1
  298. package/client/dist/assets/fortran-fixed-form-TqA4NnZg.js +0 -1
  299. package/client/dist/assets/fortran-free-form-DKXYxT9g.js +0 -1
  300. package/client/dist/assets/fsharp-XplgxFYe.js +0 -1
  301. package/client/dist/assets/gdresource-BHYsBjWJ.js +0 -1
  302. package/client/dist/assets/gdscript-DfxzS6Rs.js +0 -1
  303. package/client/dist/assets/gdshader-SKMF96pI.js +0 -1
  304. package/client/dist/assets/genie-ajMbGru0.js +0 -1
  305. package/client/dist/assets/git-commit-i4q6IMui.js +0 -1
  306. package/client/dist/assets/gleam-B430Bg39.js +0 -1
  307. package/client/dist/assets/glimmer-js-D-cwc0-E.js +0 -1
  308. package/client/dist/assets/glimmer-ts-pgjy16dm.js +0 -1
  309. package/client/dist/assets/glsl-DBO2IWDn.js +0 -1
  310. package/client/dist/assets/gnuplot-CM8KxXT1.js +0 -1
  311. package/client/dist/assets/go-B1SYOhNW.js +0 -1
  312. package/client/dist/assets/graphql-cDcHW_If.js +0 -1
  313. package/client/dist/assets/groovy-DkBy-JyN.js +0 -1
  314. package/client/dist/assets/hack-D1yCygmZ.js +0 -1
  315. package/client/dist/assets/haml-B2EZWmdv.js +0 -1
  316. package/client/dist/assets/handlebars-BQGss363.js +0 -1
  317. package/client/dist/assets/haskell-BILxekzW.js +0 -1
  318. package/client/dist/assets/haxe-C5wWYbrZ.js +0 -1
  319. package/client/dist/assets/hcl-HzYwdGDm.js +0 -1
  320. package/client/dist/assets/hjson-T-Tgc4AT.js +0 -1
  321. package/client/dist/assets/hlsl-ifBTmRxC.js +0 -1
  322. package/client/dist/assets/html-C2L_23MC.js +0 -1
  323. package/client/dist/assets/html-derivative-CSfWNPLT.js +0 -1
  324. package/client/dist/assets/http-FRrOvY1W.js +0 -1
  325. package/client/dist/assets/hxml-TIA70rKU.js +0 -1
  326. package/client/dist/assets/hy-BMj5Y0dO.js +0 -1
  327. package/client/dist/assets/imba-bv_oIlVt.js +0 -1
  328. package/client/dist/assets/index-aawbhFi4.css +0 -1
  329. package/client/dist/assets/index-bQ5k8foV.js +0 -297
  330. package/client/dist/assets/java-xI-RfyKK.js +0 -1
  331. package/client/dist/assets/javascript-ySlJ1b_l.js +0 -1
  332. package/client/dist/assets/jinja-DGy0s7-h.js +0 -1
  333. package/client/dist/assets/jison-BqZprYcd.js +0 -1
  334. package/client/dist/assets/json-BQoSv7ci.js +0 -1
  335. package/client/dist/assets/json5-w8dY5SsB.js +0 -1
  336. package/client/dist/assets/jsonc-TU54ms6u.js +0 -1
  337. package/client/dist/assets/jsonl-DREVFZK8.js +0 -1
  338. package/client/dist/assets/jsonnet-BfivnA6A.js +0 -1
  339. package/client/dist/assets/jssm-P4WzXJd0.js +0 -1
  340. package/client/dist/assets/jsx-BAng5TT0.js +0 -1
  341. package/client/dist/assets/julia-BBuGR-5E.js +0 -1
  342. package/client/dist/assets/kotlin-B5lbUyaz.js +0 -1
  343. package/client/dist/assets/kusto-mebxcVVE.js +0 -1
  344. package/client/dist/assets/latex-C-cWTeAZ.js +0 -1
  345. package/client/dist/assets/lean-XBlWyCtg.js +0 -1
  346. package/client/dist/assets/less-BfCpw3nA.js +0 -1
  347. package/client/dist/assets/liquid-D3W5UaiH.js +0 -1
  348. package/client/dist/assets/log-Cc5clBb7.js +0 -1
  349. package/client/dist/assets/lua-CvWAzNxB.js +0 -1
  350. package/client/dist/assets/luau-Du5NY7AG.js +0 -1
  351. package/client/dist/assets/make-Bvotw-X0.js +0 -1
  352. package/client/dist/assets/markdown-UIAJJxZW.js +0 -1
  353. package/client/dist/assets/marko-z0MBrx5-.js +0 -1
  354. package/client/dist/assets/matlab-D9-PGadD.js +0 -1
  355. package/client/dist/assets/mdc-DB_EDNY_.js +0 -1
  356. package/client/dist/assets/mdx-sdHcTMYB.js +0 -1
  357. package/client/dist/assets/mermaid-Ci6OQyBP.js +0 -1
  358. package/client/dist/assets/mipsasm-BC5c_5Pe.js +0 -1
  359. package/client/dist/assets/mojo-Tz6hzZYG.js +0 -1
  360. package/client/dist/assets/move-DB_GagMm.js +0 -1
  361. package/client/dist/assets/narrat-DLbgOhZU.js +0 -1
  362. package/client/dist/assets/nextflow-B0XVJmRM.js +0 -1
  363. package/client/dist/assets/nginx-D_VnBJ67.js +0 -1
  364. package/client/dist/assets/nim-ZlGxZxc3.js +0 -1
  365. package/client/dist/assets/nix-shcSOmrb.js +0 -1
  366. package/client/dist/assets/nushell-D4Tzg5kh.js +0 -1
  367. package/client/dist/assets/objective-c-Deuh7S70.js +0 -1
  368. package/client/dist/assets/objective-cpp-BUEGK8hf.js +0 -1
  369. package/client/dist/assets/ocaml-BNioltXt.js +0 -1
  370. package/client/dist/assets/one-dark-pro-GBQ2dnAY.js +0 -1
  371. package/client/dist/assets/pascal-JqZropPD.js +0 -1
  372. package/client/dist/assets/perl-CHQXSrWU.js +0 -1
  373. package/client/dist/assets/php-B5ebYQev.js +0 -1
  374. package/client/dist/assets/plsql-LKU2TuZ1.js +0 -1
  375. package/client/dist/assets/po-BFLt1xDp.js +0 -1
  376. package/client/dist/assets/polar-DKykz6zU.js +0 -1
  377. package/client/dist/assets/postcss-B3ZDOciz.js +0 -1
  378. package/client/dist/assets/powerquery-CSHBycmS.js +0 -1
  379. package/client/dist/assets/powershell-BIEUsx6d.js +0 -1
  380. package/client/dist/assets/prisma-B48N-Iqd.js +0 -1
  381. package/client/dist/assets/prolog-BY-TUvya.js +0 -1
  382. package/client/dist/assets/proto-zocC4JxJ.js +0 -1
  383. package/client/dist/assets/pug-CM9l7STV.js +0 -1
  384. package/client/dist/assets/puppet-Cza_XSSt.js +0 -1
  385. package/client/dist/assets/purescript-Bg-kzb6g.js +0 -1
  386. package/client/dist/assets/python-DhUJRlN_.js +0 -1
  387. package/client/dist/assets/qml-D8XfuvdV.js +0 -1
  388. package/client/dist/assets/qss-DhMKtDLN.js +0 -1
  389. package/client/dist/assets/r-CwjWoCRV.js +0 -1
  390. package/client/dist/assets/racket-CzouJOBO.js +0 -1
  391. package/client/dist/assets/raku-B1bQXN8T.js +0 -1
  392. package/client/dist/assets/razor-CNLDkMZG.js +0 -1
  393. package/client/dist/assets/reg-5LuOXUq_.js +0 -1
  394. package/client/dist/assets/regexp-DWJ3fJO_.js +0 -1
  395. package/client/dist/assets/riscv-QhoSD0DR.js +0 -1
  396. package/client/dist/assets/rose-pine-CmCqftbK.js +0 -1
  397. package/client/dist/assets/rose-pine-dawn-Ds-gbosJ.js +0 -1
  398. package/client/dist/assets/rose-pine-moon-CjDtw9vr.js +0 -1
  399. package/client/dist/assets/rst-4NLicBqY.js +0 -1
  400. package/client/dist/assets/ruby-DeZ3UC14.js +0 -1
  401. package/client/dist/assets/rust-Be6lgOlo.js +0 -1
  402. package/client/dist/assets/sas-BmTFh92c.js +0 -1
  403. package/client/dist/assets/sass-BJ4Li9vH.js +0 -1
  404. package/client/dist/assets/scala-DQVVAn-B.js +0 -1
  405. package/client/dist/assets/scheme-BJGe-b2p.js +0 -1
  406. package/client/dist/assets/scss-C31hgJw-.js +0 -1
  407. package/client/dist/assets/sdbl-BLhTXw86.js +0 -1
  408. package/client/dist/assets/shaderlab-B7qAK45m.js +0 -1
  409. package/client/dist/assets/shellscript-atvbtKCR.js +0 -1
  410. package/client/dist/assets/smalltalk-DkLiglaE.js +0 -1
  411. package/client/dist/assets/solidity-C1w2a3ep.js +0 -1
  412. package/client/dist/assets/soy-C-lX7w71.js +0 -1
  413. package/client/dist/assets/sparql-bYkjHRlG.js +0 -1
  414. package/client/dist/assets/splunk-Cf8iN4DR.js +0 -1
  415. package/client/dist/assets/sql-COK4E0Yg.js +0 -1
  416. package/client/dist/assets/ssh-config-BknIz3MU.js +0 -1
  417. package/client/dist/assets/stata-DorPZHa4.js +0 -1
  418. package/client/dist/assets/stylus-BeQkCIfX.js +0 -1
  419. package/client/dist/assets/svelte-MSaWC3Je.js +0 -1
  420. package/client/dist/assets/swift-BSxZ-RaX.js +0 -1
  421. package/client/dist/assets/system-verilog-C7L56vO4.js +0 -1
  422. package/client/dist/assets/systemd-CUnW07Te.js +0 -1
  423. package/client/dist/assets/talonscript-C1XDQQGZ.js +0 -1
  424. package/client/dist/assets/tasl-CQjiPCtT.js +0 -1
  425. package/client/dist/assets/tcl-DQ1-QYvQ.js +0 -1
  426. package/client/dist/assets/templ-dwX3ZSMB.js +0 -1
  427. package/client/dist/assets/terraform-BbSNqyBO.js +0 -1
  428. package/client/dist/assets/tex-rYs2v40G.js +0 -1
  429. package/client/dist/assets/tokyo-night-DBQeEorK.js +0 -1
  430. package/client/dist/assets/toml-CB2ApiWb.js +0 -1
  431. package/client/dist/assets/ts-tags-CipyTH0X.js +0 -1
  432. package/client/dist/assets/tsx-B6W0miNI.js +0 -1
  433. package/client/dist/assets/twig-NC5TFiHP.js +0 -1
  434. package/client/dist/assets/typescript-Dj6nwHGl.js +0 -1
  435. package/client/dist/assets/typespec-BpWG_bgh.js +0 -1
  436. package/client/dist/assets/typst-BVUVsWT6.js +0 -1
  437. package/client/dist/assets/v-CAQ2eGtk.js +0 -1
  438. package/client/dist/assets/vala-BFOHcciG.js +0 -1
  439. package/client/dist/assets/vb-CdO5JTpU.js +0 -1
  440. package/client/dist/assets/verilog-CJaU5se_.js +0 -1
  441. package/client/dist/assets/vesper-BEBZ7ncR.js +0 -1
  442. package/client/dist/assets/vhdl-DYoNaHQp.js +0 -1
  443. package/client/dist/assets/viml-m4uW47V2.js +0 -1
  444. package/client/dist/assets/vue-BuYVFjOK.js +0 -1
  445. package/client/dist/assets/vue-html-xdeiXROB.js +0 -1
  446. package/client/dist/assets/vyper-nyqBNV6O.js +0 -1
  447. package/client/dist/assets/wasm-C6j12Q_x.js +0 -1
  448. package/client/dist/assets/wenyan-7A4Fjokl.js +0 -1
  449. package/client/dist/assets/wgsl-CB0Krxn9.js +0 -1
  450. package/client/dist/assets/wikitext-DCE3LsBG.js +0 -1
  451. package/client/dist/assets/wolfram-C3FkfJm5.js +0 -1
  452. package/client/dist/assets/xml-e3z08dGr.js +0 -1
  453. package/client/dist/assets/xsl-Dd0NUgwM.js +0 -1
  454. package/client/dist/assets/yaml-CVw76BM1.js +0 -1
  455. package/client/dist/assets/zenscript-HnGAYVZD.js +0 -1
  456. package/client/dist/assets/zig-BVz_zdnA.js +0 -1
@@ -1 +0,0 @@
1
- import e from"./html-C2L_23MC.js";import n from"./ruby-DeZ3UC14.js";import"./javascript-ySlJ1b_l.js";import"./css-BPhBrDlE.js";import"./haml-B2EZWmdv.js";import"./xml-e3z08dGr.js";import"./java-xI-RfyKK.js";import"./sql-COK4E0Yg.js";import"./graphql-cDcHW_If.js";import"./typescript-Dj6nwHGl.js";import"./jsx-BAng5TT0.js";import"./tsx-B6W0miNI.js";import"./cpp-BksuvNSY.js";import"./regexp-DWJ3fJO_.js";import"./glsl-DBO2IWDn.js";import"./c-C3t2pwGQ.js";import"./shellscript-atvbtKCR.js";import"./lua-CvWAzNxB.js";import"./yaml-CVw76BM1.js";const t=Object.freeze(JSON.parse('{"displayName":"ERB","fileTypes":["erb","rhtml","html.erb"],"injections":{"text.html.erb - (meta.embedded.block.erb | meta.embedded.line.erb | comment)":{"patterns":[{"begin":"(^\\\\s*)(?=<%+#(?![^%]*%>))","beginCaptures":{"0":{"name":"punctuation.whitespace.comment.leading.erb"}},"end":"(?!\\\\G)(\\\\s*$\\\\n)?","endCaptures":{"0":{"name":"punctuation.whitespace.comment.trailing.erb"}},"patterns":[{"include":"#comment"}]},{"begin":"(^\\\\s*)(?=<%(?![^%]*%>))","beginCaptures":{"0":{"name":"punctuation.whitespace.embedded.leading.erb"}},"end":"(?!\\\\G)(\\\\s*$\\\\n)?","endCaptures":{"0":{"name":"punctuation.whitespace.embedded.trailing.erb"}},"patterns":[{"include":"#tags"}]},{"include":"#comment"},{"include":"#tags"}]}},"name":"erb","patterns":[{"include":"text.html.basic"}],"repository":{"comment":{"patterns":[{"begin":"<%+#","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.erb"}},"end":"%>","endCaptures":{"0":{"name":"punctuation.definition.comment.end.erb"}},"name":"comment.block.erb"}]},"tags":{"patterns":[{"begin":"<%+(?!>)[-=]?(?![^%]*%>)","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.erb"}},"contentName":"source.ruby","end":"(-?%)>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.erb"},"1":{"name":"source.ruby"}},"name":"meta.embedded.block.erb","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.erb"}},"match":"(#).*?(?=-?%>)","name":"comment.line.number-sign.erb"},{"include":"source.ruby"}]},{"begin":"<%+(?!>)[-=]?","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.erb"}},"contentName":"source.ruby","end":"(-?%)>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.erb"},"1":{"name":"source.ruby"}},"name":"meta.embedded.line.erb","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.erb"}},"match":"(#).*?(?=-?%>)","name":"comment.line.number-sign.erb"},{"include":"source.ruby"}]}]}},"scopeName":"text.html.erb","embeddedLangs":["html","ruby"]}')),x=[...e,...n,t];export{x as default};
@@ -1 +0,0 @@
1
- const e=Object.freeze(JSON.parse(`{"displayName":"Erlang","fileTypes":["erl","escript","hrl","xrl","yrl"],"name":"erlang","patterns":[{"include":"#module-directive"},{"include":"#import-export-directive"},{"include":"#behaviour-directive"},{"include":"#record-directive"},{"include":"#define-directive"},{"include":"#macro-directive"},{"include":"#directive"},{"include":"#function"},{"include":"#everything-else"}],"repository":{"atom":{"patterns":[{"begin":"(')","beginCaptures":{"1":{"name":"punctuation.definition.symbol.begin.erlang"}},"end":"(')","endCaptures":{"1":{"name":"punctuation.definition.symbol.end.erlang"}},"name":"constant.other.symbol.quoted.single.erlang","patterns":[{"captures":{"1":{"name":"punctuation.definition.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"}},"match":"(\\\\\\\\)([bdefnrstv\\\\\\\\'\\"]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[\\\\da-fA-F]{2})","name":"constant.other.symbol.escape.erlang"},{"match":"\\\\\\\\\\\\^?.?","name":"invalid.illegal.atom.erlang"}]},{"match":"[a-z][a-zA-Z\\\\d@_]*+","name":"constant.other.symbol.unquoted.erlang"}]},"behaviour-directive":{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.behaviour.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.behaviour.definition.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(behaviour)\\\\s*+(\\\\()\\\\s*+([a-z][a-zA-Z\\\\d@_]*+)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.behaviour.erlang"},"binary":{"begin":"(<<)","beginCaptures":{"1":{"name":"punctuation.definition.binary.begin.erlang"}},"end":"(>>)","endCaptures":{"1":{"name":"punctuation.definition.binary.end.erlang"}},"name":"meta.structure.binary.erlang","patterns":[{"captures":{"1":{"name":"punctuation.separator.binary.erlang"},"2":{"name":"punctuation.separator.value-size.erlang"}},"match":"(,)|(:)"},{"include":"#internal-type-specifiers"},{"include":"#everything-else"}]},"character":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.character.erlang"},"2":{"name":"constant.character.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"},"5":{"name":"punctuation.definition.escape.erlang"}},"match":"(\\\\$)((\\\\\\\\)([bdefnrstv\\\\\\\\'\\"]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[\\\\da-fA-F]{2}))","name":"constant.character.erlang"},{"match":"\\\\$\\\\\\\\\\\\^?.?","name":"invalid.illegal.character.erlang"},{"captures":{"1":{"name":"punctuation.definition.character.erlang"}},"match":"(\\\\$)[ \\\\S]","name":"constant.character.erlang"},{"match":"\\\\$.?","name":"invalid.illegal.character.erlang"}]},"comment":{"begin":"(^[ \\\\t]+)?(?=%)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.erlang"}},"end":"(?!\\\\G)","patterns":[{"begin":"%","beginCaptures":{"0":{"name":"punctuation.definition.comment.erlang"}},"end":"\\\\n","name":"comment.line.percentage.erlang"}]},"define-directive":{"patterns":[{"begin":"^\\\\s*+(-)\\\\s*+(define)\\\\s*+(\\\\()\\\\s*+([a-zA-Z\\\\d@_]++)\\\\s*+","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.define.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.definition.erlang"}},"end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.define.erlang","patterns":[{"include":"#everything-else"}]},{"begin":"(?=^\\\\s*+-\\\\s*+define\\\\s*+\\\\(\\\\s*+[a-zA-Z\\\\d@_]++\\\\s*+\\\\()","end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.define.erlang","patterns":[{"begin":"^\\\\s*+(-)\\\\s*+(define)\\\\s*+(\\\\()\\\\s*+([a-zA-Z\\\\d@_]++)\\\\s*+(\\\\()","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.define.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.definition.erlang"},"5":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\))\\\\s*(,)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.separator.parameters.erlang"}},"patterns":[{"match":",","name":"punctuation.separator.parameters.erlang"},{"include":"#everything-else"}]},{"match":"\\\\|\\\\||\\\\||:|;|,|\\\\.|->","name":"punctuation.separator.define.erlang"},{"include":"#everything-else"}]}]},"directive":{"patterns":[{"begin":"^\\\\s*+(-)\\\\s*+([a-z][a-zA-Z\\\\d@_]*+)\\\\s*+(\\\\(?)","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\)?)\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.erlang","patterns":[{"include":"#everything-else"}]},{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.erlang"},"3":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+([a-z][a-zA-Z\\\\d@_]*+)\\\\s*+(\\\\.)","name":"meta.directive.erlang"}]},"docstring":{"begin":"(?<!\\")(([\\"]{3,})\\\\s*)(\\\\S.*)?$","beginCaptures":{"1":{"name":"meta.string.quoted.triple.begin.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"},"3":{"name":"invalid.illegal.string.erlang"}},"comment":"Only whitespace characters are allowed after the beggining and before the closing sequences and those cannot be in the same line","end":"^(\\\\s*(\\\\2))(?!\\")","endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.triple.erlang"},"everything-else":{"patterns":[{"include":"#comment"},{"include":"#record-usage"},{"include":"#macro-usage"},{"include":"#expression"},{"include":"#keyword"},{"include":"#textual-operator"},{"include":"#language-constant"},{"include":"#function-call"},{"include":"#tuple"},{"include":"#list"},{"include":"#binary"},{"include":"#parenthesized-expression"},{"include":"#character"},{"include":"#number"},{"include":"#atom"},{"include":"#sigil-docstring"},{"include":"#sigil-string"},{"include":"#docstring"},{"include":"#string"},{"include":"#symbolic-operator"},{"include":"#variable"}]},"expression":{"patterns":[{"begin":"\\\\b(if)\\\\b","beginCaptures":{"1":{"name":"keyword.control.if.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.if.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"begin":"\\\\b(case)\\\\b","beginCaptures":{"1":{"name":"keyword.control.case.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.case.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"begin":"\\\\b(receive)\\\\b","beginCaptures":{"1":{"name":"keyword.control.receive.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.receive.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"captures":{"1":{"name":"keyword.control.fun.erlang"},"4":{"name":"entity.name.type.class.module.erlang"},"5":{"name":"variable.other.erlang"},"6":{"name":"punctuation.separator.module-function.erlang"},"8":{"name":"entity.name.function.erlang"},"9":{"name":"variable.other.erlang"},"10":{"name":"punctuation.separator.function-arity.erlang"}},"comment":"Implicit function expression with optional module qualifier when both module and function can be atom or variable","match":"\\\\b(fun)\\\\s+((([a-z][a-zA-Z\\\\d@_]*+)|(_[a-zA-Z\\\\d@_]++|[A-Z][a-zA-Z\\\\d@_]*+))\\\\s*+(:)\\\\s*+)?(([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')|(_[a-zA-Z\\\\d@_]++|[A-Z][a-zA-Z\\\\d@_]*+))\\\\s*(/)","name":"meta.expression.fun.implicit.erlang"},{"begin":"\\\\b(fun)\\\\s+(([a-z][a-zA-Z\\\\d@_]*+)|(_[a-zA-Z\\\\d@_]++|[A-Z][a-zA-Z\\\\d@_]*+))\\\\s*+(:)","beginCaptures":{"1":{"name":"keyword.control.fun.erlang"},"3":{"name":"entity.name.type.class.module.erlang"},"4":{"name":"variable.other.erlang"},"5":{"name":"punctuation.separator.module-function.erlang"}},"comment":"Implicit function expression with module qualifier when module can be atom or variable and function can by anything","end":"(/)","endCaptures":{"1":{"name":"punctuation.separator.function-arity.erlang"}},"name":"meta.expression.fun.implicit.erlang","patterns":[{"include":"#everything-else"}]},{"begin":"\\\\b(fun)\\\\s+(?!\\\\()","beginCaptures":{"1":{"name":"keyword.control.fun.erlang"}},"comment":"Implicit function expression when both module and function can by anything","end":"(/)","endCaptures":{"1":{"name":"punctuation.separator.function-arity.erlang"}},"name":"meta.expression.fun.implicit.erlang","patterns":[{"include":"#everything-else"}]},{"begin":"\\\\b(fun)\\\\s*+(\\\\()(?=(\\\\s*+\\\\()|(\\\\)))","beginCaptures":{"1":{"name":"entity.name.function.erlang"},"2":{"name":"punctuation.definition.parameters.begin.erlang"}},"comment":"Function type in type specification","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}},"patterns":[{"include":"#everything-else"}]},{"begin":"\\\\b(fun)\\\\b","beginCaptures":{"1":{"name":"keyword.control.fun.erlang"}},"comment":"Explicit function expression","end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.fun.erlang","patterns":[{"begin":"(?=\\\\()","end":"(;)|(?=\\\\bend\\\\b)","endCaptures":{"1":{"name":"punctuation.separator.clauses.erlang"}},"patterns":[{"include":"#internal-function-parts"}]},{"include":"#everything-else"}]},{"begin":"\\\\b(try)\\\\b","beginCaptures":{"1":{"name":"keyword.control.try.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.try.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"begin":"\\\\b(begin)\\\\b","beginCaptures":{"1":{"name":"keyword.control.begin.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.begin.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"begin":"\\\\b(maybe)\\\\b","beginCaptures":{"1":{"name":"keyword.control.maybe.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.maybe.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]}]},"function":{"begin":"^\\\\s*+([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')\\\\s*+(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.function.definition.erlang"}},"end":"(\\\\.)","endCaptures":{"1":{"name":"punctuation.terminator.function.erlang"}},"name":"meta.function.erlang","patterns":[{"captures":{"1":{"name":"entity.name.function.erlang"}},"match":"^\\\\s*+([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')\\\\s*+(?=\\\\()"},{"begin":"(?=\\\\()","end":"(;)|(?=\\\\.)","endCaptures":{"1":{"name":"punctuation.separator.clauses.erlang"}},"patterns":[{"include":"#parenthesized-expression"},{"include":"#internal-function-parts"}]},{"include":"#everything-else"}]},"function-call":{"begin":"(?=([a-z][a-zA-Z\\\\d@_]*+|'[^']*+'|_[a-zA-Z\\\\d@_]++|[A-Z][a-zA-Z\\\\d@_]*+)\\\\s*+(\\\\(|:\\\\s*+([a-z][a-zA-Z\\\\d@_]*+|'[^']*+'|_[a-zA-Z\\\\d@_]++|[A-Z][a-zA-Z\\\\d@_]*+)\\\\s*+\\\\())","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}},"name":"meta.function-call.erlang","patterns":[{"begin":"((erlang)\\\\s*+(:)\\\\s*+)?(is_atom|is_binary|is_constant|is_float|is_function|is_integer|is_list|is_number|is_pid|is_port|is_reference|is_tuple|is_record|abs|element|hd|length|node|round|self|size|tl|trunc)\\\\s*+(\\\\()","beginCaptures":{"2":{"name":"entity.name.type.class.module.erlang"},"3":{"name":"punctuation.separator.module-function.erlang"},"4":{"name":"entity.name.function.guard.erlang"},"5":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(?=\\\\))","patterns":[{"match":",","name":"punctuation.separator.parameters.erlang"},{"include":"#everything-else"}]},{"begin":"((([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')|(_[a-zA-Z\\\\d@_]++|[A-Z][a-zA-Z\\\\d@_]*+))\\\\s*+(:)\\\\s*+)?(([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')|(_[a-zA-Z\\\\d@_]++|[A-Z][a-zA-Z\\\\d@_]*+))\\\\s*+(\\\\()","beginCaptures":{"3":{"name":"entity.name.type.class.module.erlang"},"4":{"name":"variable.other.erlang"},"5":{"name":"punctuation.separator.module-function.erlang"},"7":{"name":"entity.name.function.erlang"},"8":{"name":"variable.other.erlang"},"9":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(?=\\\\))","patterns":[{"match":",","name":"punctuation.separator.parameters.erlang"},{"include":"#everything-else"}]}]},"import-export-directive":{"patterns":[{"begin":"^\\\\s*+(-)\\\\s*+(import)\\\\s*+(\\\\()\\\\s*+([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')\\\\s*+(,)","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.import.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.module.erlang"},"5":{"name":"punctuation.separator.parameters.erlang"}},"end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.import.erlang","patterns":[{"include":"#internal-function-list"}]},{"begin":"^\\\\s*+(-)\\\\s*+(export)\\\\s*+(\\\\()","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.export.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.export.erlang","patterns":[{"include":"#internal-function-list"}]}]},"internal-expression-punctuation":{"captures":{"1":{"name":"punctuation.separator.clause-head-body.erlang"},"2":{"name":"punctuation.separator.clauses.erlang"},"3":{"name":"punctuation.separator.expressions.erlang"}},"match":"(->)|(;)|(,)"},"internal-function-list":{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.list.begin.erlang"}},"end":"(\\\\])","endCaptures":{"1":{"name":"punctuation.definition.list.end.erlang"}},"name":"meta.structure.list.function.erlang","patterns":[{"begin":"([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')\\\\s*+(/)","beginCaptures":{"1":{"name":"entity.name.function.erlang"},"2":{"name":"punctuation.separator.function-arity.erlang"}},"end":"(,)|(?=\\\\])","endCaptures":{"1":{"name":"punctuation.separator.list.erlang"}},"patterns":[{"include":"#everything-else"}]},{"include":"#everything-else"}]},"internal-function-parts":{"patterns":[{"begin":"(?=\\\\()","end":"(->)","endCaptures":{"1":{"name":"punctuation.separator.clause-head-body.erlang"}},"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}},"patterns":[{"match":",","name":"punctuation.separator.parameters.erlang"},{"include":"#everything-else"}]},{"match":",|;","name":"punctuation.separator.guards.erlang"},{"include":"#everything-else"}]},{"match":",","name":"punctuation.separator.expressions.erlang"},{"include":"#everything-else"}]},"internal-record-body":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.class.record.begin.erlang"}},"end":"(\\\\})","endCaptures":{"1":{"name":"punctuation.definition.class.record.end.erlang"}},"name":"meta.structure.record.erlang","patterns":[{"begin":"(([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')|(_))","beginCaptures":{"2":{"name":"variable.other.field.erlang"},"3":{"name":"variable.language.omitted.field.erlang"}},"end":"(,)|(?=\\\\})","endCaptures":{"1":{"name":"punctuation.separator.class.record.erlang"}},"patterns":[{"include":"#everything-else"}]},{"include":"#everything-else"}]},"internal-string-body":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"}},"comment":"escape sequence","match":"(\\\\\\\\)([bdefnrstv\\\\\\\\'\\"]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[\\\\da-fA-F]{2})","name":"constant.character.escape.erlang"},{"match":"\\\\\\\\\\\\^?.?","name":"invalid.illegal.string.erlang"},{"captures":{"1":{"name":"punctuation.definition.placeholder.erlang"},"6":{"name":"punctuation.separator.placeholder-parts.erlang"},"10":{"name":"punctuation.separator.placeholder-parts.erlang"}},"comment":"io:fwrite format control sequence","match":"(~)((\\\\-)?\\\\d++|(\\\\*))?((\\\\.)(\\\\d++|(\\\\*))?((\\\\.)((\\\\*)|.))?)?[tlkK]*[~cfegswpWPBX#bx\\\\+ni]","name":"constant.character.format.placeholder.other.erlang"},{"captures":{"1":{"name":"punctuation.definition.placeholder.erlang"}},"comment":"io:fread format control sequence","match":"(~)(\\\\*)?(\\\\d++)?(t)?[~du\\\\-#fsacl]","name":"constant.character.format.placeholder.other.erlang"},{"match":"~[^\\"]?","name":"invalid.illegal.string.erlang"}]},"internal-type-specifiers":{"begin":"(/)","beginCaptures":{"1":{"name":"punctuation.separator.value-type.erlang"}},"end":"(?=,|:|>>)","patterns":[{"captures":{"1":{"name":"storage.type.erlang"},"2":{"name":"storage.modifier.signedness.erlang"},"3":{"name":"storage.modifier.endianness.erlang"},"4":{"name":"storage.modifier.unit.erlang"},"5":{"name":"punctuation.separator.unit-specifiers.erlang"},"6":{"name":"constant.numeric.integer.decimal.erlang"},"7":{"name":"punctuation.separator.type-specifiers.erlang"}},"match":"(integer|float|binary|bytes|bitstring|bits|utf8|utf16|utf32)|(signed|unsigned)|(big|little|native)|(unit)(:)(\\\\d++)|(-)"}]},"keyword":{"match":"\\\\b(after|begin|case|catch|cond|end|fun|if|let|of|try|receive|when|maybe|else)\\\\b","name":"keyword.control.erlang"},"language-constant":{"match":"\\\\b(false|true|undefined)\\\\b","name":"constant.language"},"list":{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.list.begin.erlang"}},"end":"(\\\\])","endCaptures":{"1":{"name":"punctuation.definition.list.end.erlang"}},"name":"meta.structure.list.erlang","patterns":[{"match":"\\\\||\\\\|\\\\||,","name":"punctuation.separator.list.erlang"},{"include":"#everything-else"}]},"macro-directive":{"patterns":[{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.ifdef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(ifdef)\\\\s*+(\\\\()\\\\s*+([a-zA-z\\\\d@_]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.ifdef.erlang"},{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.ifndef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(ifndef)\\\\s*+(\\\\()\\\\s*+([a-zA-z\\\\d@_]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.ifndef.erlang"},{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.undef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(undef)\\\\s*+(\\\\()\\\\s*+([a-zA-z\\\\d@_]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.undef.erlang"}]},"macro-usage":{"captures":{"1":{"name":"keyword.operator.macro.erlang"},"2":{"name":"entity.name.function.macro.erlang"}},"match":"(\\\\?\\\\??)\\\\s*+([a-zA-Z\\\\d@_]++)","name":"meta.macro-usage.erlang"},"module-directive":{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.module.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.module.definition.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(module)\\\\s*+(\\\\()\\\\s*+([a-z][a-zA-Z\\\\d@_]*+)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.module.erlang"},"number":{"begin":"(?=\\\\d)","end":"(?!\\\\d)","patterns":[{"captures":{"1":{"name":"punctuation.separator.integer-float.erlang"},"2":{"name":"punctuation.separator.float-exponent.erlang"}},"match":"\\\\d++(\\\\.)\\\\d++([eE][\\\\+\\\\-]?\\\\d++)?","name":"constant.numeric.float.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"2(#)([0-1]++_)*[0-1]++","name":"constant.numeric.integer.binary.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"3(#)([0-2]++_)*[0-2]++","name":"constant.numeric.integer.base-3.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"4(#)([0-3]++_)*[0-3]++","name":"constant.numeric.integer.base-4.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"5(#)([0-4]++_)*[0-4]++","name":"constant.numeric.integer.base-5.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"6(#)([0-5]++_)*[0-5]++","name":"constant.numeric.integer.base-6.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"7(#)([0-6]++_)*[0-6]++","name":"constant.numeric.integer.base-7.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"8(#)([0-7]++_)*[0-7]++","name":"constant.numeric.integer.octal.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"9(#)([0-8]++_)*[0-8]++","name":"constant.numeric.integer.base-9.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"10(#)(\\\\d++_)*\\\\d++","name":"constant.numeric.integer.decimal.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"11(#)([\\\\daA]++_)*[\\\\daA]++","name":"constant.numeric.integer.base-11.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"12(#)([\\\\da-bA-B]++_)*[\\\\da-bA-B]++","name":"constant.numeric.integer.base-12.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"13(#)([\\\\da-cA-C]++_)*[\\\\da-cA-C]++","name":"constant.numeric.integer.base-13.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"14(#)([\\\\da-dA-D]++_)*[\\\\da-dA-D]++","name":"constant.numeric.integer.base-14.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"15(#)([\\\\da-eA-E]++_)*[\\\\da-eA-E]++","name":"constant.numeric.integer.base-15.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"16(#)([\\\\da-fA-F]++_)*[\\\\da-fA-F]++","name":"constant.numeric.integer.hexadecimal.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"17(#)([\\\\da-gA-G]++_)*[\\\\da-gA-G]++","name":"constant.numeric.integer.base-17.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"18(#)([\\\\da-hA-H]++_)*[\\\\da-hA-H]++","name":"constant.numeric.integer.base-18.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"19(#)([\\\\da-iA-I]++_)*[\\\\da-iA-I]++","name":"constant.numeric.integer.base-19.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"20(#)([\\\\da-jA-J]++_)*[\\\\da-jA-J]++","name":"constant.numeric.integer.base-20.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"21(#)([\\\\da-kA-K]++_)*[\\\\da-kA-K]++","name":"constant.numeric.integer.base-21.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"22(#)([\\\\da-lA-L]++_)*[\\\\da-lA-L]++","name":"constant.numeric.integer.base-22.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"23(#)([\\\\da-mA-M]++_)*[\\\\da-mA-M]++","name":"constant.numeric.integer.base-23.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"24(#)([\\\\da-nA-N]++_)*[\\\\da-nA-N]++","name":"constant.numeric.integer.base-24.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"25(#)([\\\\da-oA-O]++_)*[\\\\da-oA-O]++","name":"constant.numeric.integer.base-25.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"26(#)([\\\\da-pA-P]++_)*[\\\\da-pA-P]++","name":"constant.numeric.integer.base-26.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"27(#)([\\\\da-qA-Q]++_)*[\\\\da-qA-Q]++","name":"constant.numeric.integer.base-27.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"28(#)([\\\\da-rA-R]++_)*[\\\\da-rA-R]++","name":"constant.numeric.integer.base-28.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"29(#)([\\\\da-sA-S]++_)*[\\\\da-sA-S]++","name":"constant.numeric.integer.base-29.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"30(#)([\\\\da-tA-T]++_)*[\\\\da-tA-T]++","name":"constant.numeric.integer.base-30.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"31(#)([\\\\da-uA-U]++_)*[\\\\da-uA-U]++","name":"constant.numeric.integer.base-31.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"32(#)([\\\\da-vA-V]++_)*[\\\\da-vA-V]++","name":"constant.numeric.integer.base-32.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"33(#)([\\\\da-wA-W]++_)*[\\\\da-wA-W]++","name":"constant.numeric.integer.base-33.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"34(#)([\\\\da-xA-X]++_)*[\\\\da-xA-X]++","name":"constant.numeric.integer.base-34.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"35(#)([\\\\da-yA-Y]++_)*[\\\\da-yA-Y]++","name":"constant.numeric.integer.base-35.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"36(#)([\\\\da-zA-Z]++_)*[\\\\da-zA-Z]++","name":"constant.numeric.integer.base-36.erlang"},{"match":"\\\\d++#([\\\\da-zA-Z]++_)*[\\\\da-zA-Z]++","name":"invalid.illegal.integer.erlang"},{"match":"(\\\\d++_)*\\\\d++","name":"constant.numeric.integer.decimal.erlang"}]},"parenthesized-expression":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.section.expression.begin.erlang"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.expression.end.erlang"}},"name":"meta.expression.parenthesized","patterns":[{"include":"#everything-else"}]},"record-directive":{"begin":"^\\\\s*+(-)\\\\s*+(record)\\\\s*+(\\\\()\\\\s*+([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')\\\\s*+(,)","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.import.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.record.definition.erlang"},"5":{"name":"punctuation.separator.parameters.erlang"}},"end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.record.erlang","patterns":[{"include":"#internal-record-body"},{"include":"#comment"}]},"record-usage":{"patterns":[{"captures":{"1":{"name":"keyword.operator.record.erlang"},"2":{"name":"entity.name.type.class.record.erlang"},"3":{"name":"punctuation.separator.record-field.erlang"},"4":{"name":"variable.other.field.erlang"}},"match":"(#)\\\\s*+([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')\\\\s*+(\\\\.)\\\\s*+([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')","name":"meta.record-usage.erlang"},{"begin":"(#)\\\\s*+([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')","beginCaptures":{"1":{"name":"keyword.operator.record.erlang"},"2":{"name":"entity.name.type.class.record.erlang"}},"end":"(?<=\\\\})","name":"meta.record-usage.erlang","patterns":[{"include":"#internal-record-body"}]}]},"sigil-docstring":{"begin":"(~[bBsS]?)(([\\"]{3,})\\\\s*)(\\\\S.*)?$","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"meta.string.quoted.triple.begin.erlang"},"3":{"name":"punctuation.definition.string.begin.erlang"},"4":{"name":"invalid.illegal.string.erlang"}},"comment":"Only whitespace characters are allowed after the beggining and before the closing sequences and those cannot be in the same line","end":"^(\\\\s*(\\\\3))(?!\\")","endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.tripple.sigil.erlang"},"sigil-string":{"patterns":[{"include":"#sigil-string-parenthesis"},{"include":"#sigil-string-parenthesis-verbatim"},{"include":"#sigil-string-curly-brackets"},{"include":"#sigil-string-curly-brackets-verbatim"},{"include":"#sigil-string-square-brackets"},{"include":"#sigil-string-square-brackets-verbatim"},{"include":"#sigil-string-less-greater"},{"include":"#sigil-string-less-greater-verbatim"},{"include":"#sigil-string-single-character"},{"include":"#sigil-string-single-character-verbatim"},{"include":"#sigil-string-single-quote"},{"include":"#sigil-string-single-quote-verbatim"},{"include":"#sigil-string-double-quote"},{"include":"#sigil-string-double-quote-verbatim"}]},"sigil-string-curly-brackets":{"begin":"(~[bs]?)([{])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"([}])","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.curly-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-curly-brackets-verbatim":{"begin":"(~[BS])([{])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"([}])","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.curly-brackets.sigil.erlang"},"sigil-string-double-quote":{"begin":"(~[bs]?)(\\")","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.double.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-double-quote-verbatim":{"begin":"(~[BS])(\\")","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.double.sigil.erlang"},"sigil-string-less-greater":{"begin":"(~[bs]?)(<)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.less-greater.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-less-greater-verbatim":{"begin":"(~[BS])(<)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.less-greater.sigil.erlang"},"sigil-string-parenthesis":{"begin":"(~[bs]?)([(])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"([)])","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.parenthesis.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-parenthesis-verbatim":{"begin":"(~[BS])([(])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"([)])","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.parenthesis.sigil.erlang"},"sigil-string-single-character":{"begin":"(~[bs]?)([/\\\\|\`#])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.other.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-single-character-verbatim":{"begin":"(~[BS])([/\\\\|\`#])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.other.sigil.erlang"},"sigil-string-single-quote":{"begin":"(~[bs]?)(')","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.single.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-single-quote-verbatim":{"begin":"(~[BS])(')","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.single.sigil.erlang"},"sigil-string-square-brackets":{"begin":"(~[bs]?)([\\\\[])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"([\\\\]])","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.square-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-square-brackets-verbatim":{"begin":"(~[BS])([\\\\[])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"([\\\\]])","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.square-brackets.sigil.erlang"},"string":{"begin":"(\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.double.erlang","patterns":[{"include":"#internal-string-body"}]},"symbolic-operator":{"match":"\\\\+\\\\+|\\\\+|--|-|\\\\*|/=|/|=/=|=:=|==|=<|=|<-|<|>=|>|!|::|\\\\?=","name":"keyword.operator.symbolic.erlang"},"textual-operator":{"match":"\\\\b(andalso|band|and|bxor|xor|bor|orelse|or|bnot|not|bsl|bsr|div|rem)\\\\b","name":"keyword.operator.textual.erlang"},"tuple":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.tuple.begin.erlang"}},"end":"(\\\\})","endCaptures":{"1":{"name":"punctuation.definition.tuple.end.erlang"}},"name":"meta.structure.tuple.erlang","patterns":[{"match":",","name":"punctuation.separator.tuple.erlang"},{"include":"#everything-else"}]},"variable":{"captures":{"1":{"name":"variable.other.erlang"},"2":{"name":"variable.language.omitted.erlang"}},"match":"(_[a-zA-Z\\\\d@_]++|[A-Z][a-zA-Z\\\\d@_]*+)|(_)"}},"scopeName":"source.erlang","aliases":["erl"]}`)),n=[e];export{n as default};
@@ -1 +0,0 @@
1
- const e=Object.freeze(JSON.parse('{"displayName":"Fennel","name":"fennel","patterns":[{"include":"#expression"}],"repository":{"comment":{"patterns":[{"begin":";","end":"$","name":"comment.line.semicolon.fennel"}]},"constants":{"patterns":[{"match":"nil","name":"constant.language.nil.fennel"},{"match":"false|true","name":"constant.language.boolean.fennel"},{"match":"(-?\\\\d+\\\\.\\\\d+([eE][+-]?\\\\d+)?)","name":"constant.numeric.double.fennel"},{"match":"(-?\\\\d+)","name":"constant.numeric.integer.fennel"}]},"expression":{"patterns":[{"include":"#comment"},{"include":"#constants"},{"include":"#sexp"},{"include":"#table"},{"include":"#vector"},{"include":"#keywords"},{"include":"#special"},{"include":"#lua"},{"include":"#strings"},{"include":"#methods"},{"include":"#symbols"}]},"keywords":{"match":":[^ ]+","name":"constant.keyword.fennel"},"lua":{"patterns":[{"match":"\\\\b(assert|collectgarbage|dofile|error|getmetatable|ipairs|load|loadfile|next|pairs|pcall|print|rawequal|rawget|rawlen|rawset|require|select|setmetatable|tonumber|tostring|type|xpcall)\\\\b","name":"support.function.fennel"},{"match":"\\\\b(coroutine|coroutine.create|coroutine.isyieldable|coroutine.resume|coroutine.running|coroutine.status|coroutine.wrap|coroutine.yield|debug|debug.debug|debug.gethook|debug.getinfo|debug.getlocal|debug.getmetatable|debug.getregistry|debug.getupvalue|debug.getuservalue|debug.sethook|debug.setlocal|debug.setmetatable|debug.setupvalue|debug.setuservalue|debug.traceback|debug.upvalueid|debug.upvaluejoin|io|io.close|io.flush|io.input|io.lines|io.open|io.output|io.popen|io.read|io.stderr|io.stdin|io.stdout|io.tmpfile|io.type|io.write|math|math.abs|math.acos|math.asin|math.atan|math.ceil|math.cos|math.deg|math.exp|math.floor|math.fmod|math.huge|math.log|math.max|math.maxinteger|math.min|math.mininteger|math.modf|math.pi|math.rad|math.random|math.randomseed|math.sin|math.sqrt|math.tan|math.tointeger|math.type|math.ult|os|os.clock|os.date|os.difftime|os.execute|os.exit|os.getenv|os.remove|os.rename|os.setlocale|os.time|os.tmpname|package|package.config|package.cpath|package.loaded|package.loadlib|package.path|package.preload|package.searchers|package.searchpath|string|string.byte|string.char|string.dump|string.find|string.format|string.gmatch|string.gsub|string.len|string.lower|string.match|string.pack|string.packsize|string.rep|string.reverse|string.sub|string.unpack|string.upper|table|table.concat|table.insert|table.move|table.pack|table.remove|table.sort|table.unpack|utf8|utf8.char|utf8.charpattern|utf8.codepoint|utf8.codes|utf8.len|utf8.offset)\\\\b","name":"support.function.library.fennel"},{"match":"\\\\b(_G|_VERSION)\\\\b","name":"constant.language.fennel"}]},"methods":{"patterns":[{"match":"\\\\w+\\\\:\\\\w+","name":"entity.name.function.method.fennel"}]},"sexp":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.paren.open.fennel"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.paren.close.fennel"}},"name":"sexp.fennel","patterns":[{"include":"#expression"}]},"special":{"patterns":[{"match":"\\\\#|\\\\%|\\\\+|\\\\*|[?][.]|(\\\\.)?\\\\.|(\\\\/)?\\\\/|:|<=?|=|>=?|\\\\^","name":"keyword.special.fennel"},{"match":"(\\\\-\\\\>(\\\\>)?)","name":"keyword.special.fennel"},{"match":"\\\\-\\\\?\\\\>(\\\\>)?","name":"keyword.special.fennel"},{"match":"-","name":"keyword.special.fennel"},{"match":"not=","name":"keyword.special.fennel"},{"match":"set-forcibly!","name":"keyword.special.fennel"},{"match":"\\\\b(and|band|bnot|bor|bxor|collect|comment|do|doc|doto|each|eval-compiler|for|global|hashfn|icollect|if|import-macros|include|lambda|length|let|local|lshift|lua|macro|macrodebug|macros|match|not=?|or|partial|pick-args|pick-values|quote|require-macros|rshift|set|tset|values|var|when|while|with-open)\\\\b","name":"keyword.special.fennel"},{"match":"\\\\b(fn)\\\\b","name":"keyword.control.fennel"},{"match":"~=","name":"keyword.special.fennel"},{"match":"λ","name":"keyword.special.fennel"}]},"strings":{"begin":"\\"","end":"\\"","name":"string.quoted.double.fennel","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.fennel"}]},"symbols":{"patterns":[{"match":"\\\\w+(?:\\\\.\\\\w+)+","name":"entity.name.function.symbol.fennel"},{"match":"\\\\w+","name":"variable.other.fennel"}]},"table":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.table.bracket.open.fennel"}},"end":"\\\\}","endCaptures":{"0":{"name":"punctuation.table.bracket.close.fennel"}},"name":"table.fennel","patterns":[{"include":"#expression"}]},"vector":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.vector.bracket.open.fennel"}},"end":"\\\\]","endCaptures":{"0":{"name":"punctuation.vector.bracket.close.fennel"}},"name":"meta.vector.fennel","patterns":[{"include":"#expression"}]}},"scopeName":"source.fnl"}')),n=[e];export{n as default};
@@ -1 +0,0 @@
1
- const e=Object.freeze(JSON.parse(`{"displayName":"Fish","fileTypes":["fish"],"firstLineMatch":"^#!.*\\\\bfish\\\\b","foldingStartMarker":"^\\\\s*(function|while|if|switch|for|begin)\\\\s.*$","foldingStopMarker":"^\\\\s*end\\\\s*$","name":"fish","patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.fish"}},"comment":"Double quoted string","end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.fish"}},"name":"string.quoted.double.fish","patterns":[{"include":"#variable"},{"comment":"https://fishshell.com/docs/current/#quotes","match":"\\\\\\\\(\\\\\\"|\\\\$|$|\\\\\\\\)","name":"constant.character.escape.fish"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.fish"}},"comment":"Single quoted string","end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.fish"}},"name":"string.quoted.single.fish","patterns":[{"comment":"https://fishshell.com/docs/current/#quotes","match":"\\\\\\\\('|\`|\\\\\\\\)","name":"constant.character.escape.fish"}]},{"captures":{"1":{"name":"punctuation.definition.comment.fish"}},"comment":"line comment","match":"(?<!\\\\$)(#)(?!\\\\{).*$\\\\n?","name":"comment.line.number-sign.fish"},{"captures":{"2":{"name":"keyword.control.fish"},"4":{"name":"support.function.command.fish"}},"comment":"name of command, either a function or a binary","match":"(^\\\\s*|&&\\\\s*|\\\\|\\\\s*|\\\\(\\\\s*|[;]\\\\s*|\\\\b(if|while)\\\\b\\\\s+)(?!(?<!\\\\.)\\\\b(function|while|if|else|switch|case|for|in|begin|end|continue|break|return|source|exit|wait|and|or|not)\\\\b(?![?!]))([a-zA-Z_\\\\-0-9\\\\[\\\\].]+)"},{"comment":"keywords that affect control flow","match":"(?<!\\\\.)\\\\b(function|while|if|else|switch|case|for|in|begin|end|continue|break|return|source|exit|wait|and|or|not)\\\\b(?![?!])","name":"keyword.control.fish"},{"match":"(?<!\\\\.)\\\\bfunction\\\\b(?![?!])","name":"storage.type.fish"},{"match":"\\\\|","name":"keyword.operator.pipe.fish"},{"comment":"IO Redirection","match":"(?:<|#StandardInput(>|\\\\^|>>|\\\\^\\\\^)(&[012\\\\-])?|[012](<|>|>>)(&[012\\\\-])?)","name":"keyword.operator.redirect.fish"},{"match":"&","name":"keyword.operator.background.fish"},{"match":"\\\\*\\\\*|\\\\*|\\\\?","name":"keyword.operator.glob.fish"},{"captures":{"1":{"name":"source.option.fish"}},"comment":"command short/long options","match":"\\\\s(-{1,2}[a-zA-Z_\\\\-0-9]+|-\\\\w)\\\\b"},{"include":"#variable"},{"include":"#escape"}],"repository":{"escape":{"patterns":[{"comment":"single character character escape sequences","match":"\\\\\\\\[abefnrtv $*?~#(){}\\\\[\\\\]<>^&|;\\"']","name":"constant.character.escape.single.fish"},{"comment":"escapes the ascii character with the specified value (hexadecimal)","match":"\\\\\\\\x[0-9a-fA-F]{1,2}","name":"constant.character.escape.hex-ascii.fish"},{"comment":"escapes a byte of data with the specified value (hexadecimal). If you are using mutibyte encoding, this can be used to enter invalid strings. Only use this if you know what are doing.","match":"\\\\\\\\X[0-9a-fA-F]{1,2}","name":"constant.character.escape.hex-byte.fish"},{"comment":"escapes the ascii character with the specified value (octal)","match":"\\\\\\\\[0-7]{1,3}","name":"constant.character.escape.octal.fish"},{"comment":"escapes the 16-bit unicode character with the specified value (hexadecimal)","match":"\\\\\\\\u[0-9a-fA-F]{1,4}","name":"constant.character.escape.unicode-16-bit.fish"},{"comment":"escapes the 32-bit unicode character with the specified value (hexadecimal)","match":"\\\\\\\\U[0-9a-fA-F]{1,8}","name":"constant.character.escape.unicode-32-bit.fish"},{"comment":"escapes the control sequence generated by pressing the control key and the specified letter","match":"\\\\\\\\c[a-zA-Z]","name":"constant.character.escape.control.fish"}]},"variable":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.variable.fish"}},"comment":"Built-in variables visible by pressing $ TAB TAB in a new shell","match":"(\\\\$)(argv|CMD_DURATION|COLUMNS|fish_bind_mode|fish_color_autosuggestion|fish_color_cancel|fish_color_command|fish_color_comment|fish_color_cwd|fish_color_cwd_root|fish_color_end|fish_color_error|fish_color_escape|fish_color_hg_added|fish_color_hg_clean|fish_color_hg_copied|fish_color_hg_deleted|fish_color_hg_dirty|fish_color_hg_modified|fish_color_hg_renamed|fish_color_hg_unmerged|fish_color_hg_untracked|fish_color_history_current|fish_color_host|fish_color_host_remote|fish_color_match|fish_color_normal|fish_color_operator|fish_color_param|fish_color_quote|fish_color_redirection|fish_color_search_match|fish_color_selection|fish_color_status|fish_color_user|fish_color_valid_path|fish_complete_path|fish_function_path|fish_greeting|fish_key_bindings|fish_pager_color_completion|fish_pager_color_description|fish_pager_color_prefix|fish_pager_color_progress|fish_pid|fish_prompt_hg_status_added|fish_prompt_hg_status_copied|fish_prompt_hg_status_deleted|fish_prompt_hg_status_modified|fish_prompt_hg_status_order|fish_prompt_hg_status_unmerged|fish_prompt_hg_status_untracked|FISH_VERSION|history|hostname|IFS|LINES|pipestatus|status|umask|version)\\\\b","name":"variable.language.fish"},{"captures":{"1":{"name":"punctuation.definition.variable.fish"}},"match":"(\\\\$)[a-zA-Z_][a-zA-Z0-9_]*","name":"variable.other.normal.fish"}]}},"scopeName":"source.fish"}`)),t=[e];export{t as default};
@@ -1 +0,0 @@
1
- const e=Object.freeze(JSON.parse('{"displayName":"Fluent","name":"fluent","patterns":[{"include":"#comment"},{"include":"#message"},{"include":"#wrong-line"}],"repository":{"attributes":{"begin":"\\\\s*(\\\\.[a-zA-Z][a-zA-Z0-9_-]*\\\\s*=\\\\s*)","beginCaptures":{"1":{"name":"support.class.attribute-begin.fluent"}},"end":"^(?=\\\\s*[^\\\\.])","patterns":[{"include":"#placeable"}]},"comment":{"match":"^##?#?\\\\s.*$","name":"comment.fluent"},"function-comma":{"match":",","name":"support.function.function-comma.fluent"},"function-named-argument":{"begin":"([a-zA-Z0-9]+:)\\\\s*([\\"a-zA-Z0-9]+)","beginCaptures":{"1":{"name":"support.function.named-argument.name.fluent"},"2":{"name":"variable.other.named-argument.value.fluent"}},"end":"(?=\\\\)|,|\\\\s)","name":"variable.other.named-argument.fluent"},"function-positional-argument":{"match":"\\\\$[a-zA-Z0-9_-]+","name":"variable.other.function.positional-argument.fluent"},"invalid-placeable-string-missing-end-quote":{"match":"\\"[^\\"]+$","name":"invalid.illegal.wrong-placeable-missing-end-quote.fluent"},"invalid-placeable-wrong-placeable-missing-end":{"match":"([^}A-Z]*$|[^-][^>]$)\\\\b","name":"invalid.illegal.wrong-placeable-missing-end.fluent"},"message":{"begin":"^(-?[a-zA-Z][a-zA-Z0-9_-]*\\\\s*=\\\\s*)","beginCaptures":{"1":{"name":"support.class.message-identifier.fluent"}},"contentName":"string.fluent","end":"^(?=\\\\S)","patterns":[{"include":"#attributes"},{"include":"#placeable"}]},"placeable":{"begin":"({)","beginCaptures":{"1":{"name":"keyword.placeable.begin.fluent"}},"contentName":"variable.other.placeable.content.fluent","end":"(})","endCaptures":{"1":{"name":"keyword.placeable.end.fluent"}},"patterns":[{"include":"#placeable-string"},{"include":"#placeable-function"},{"include":"#placeable-reference-or-number"},{"include":"#selector"},{"include":"#invalid-placeable-wrong-placeable-missing-end"},{"include":"#invalid-placeable-string-missing-end-quote"},{"include":"#invalid-placeable-wrong-function-name"}]},"placeable-function":{"begin":"([A-Z][A-Z0-9_-]*\\\\()","beginCaptures":{"1":{"name":"support.function.placeable-function.call.begin.fluent"}},"contentName":"string.placeable-function.fluent","end":"(\\\\))","endCaptures":{"1":{"name":"support.function.placeable-function.call.end.fluent"}},"patterns":[{"include":"#function-comma"},{"include":"#function-positional-argument"},{"include":"#function-named-argument"}]},"placeable-reference-or-number":{"match":"((-|\\\\$)[a-zA-Z0-9_-]+|[a-zA-Z][a-zA-Z0-9_-]*|[0-9]+)","name":"variable.other.placeable.reference-or-number.fluent"},"placeable-string":{"begin":"(\\")(?=[^\\\\n]*\\")","beginCaptures":{"1":{"name":"variable.other.placeable-string-begin.fluent"}},"contentName":"string.placeable-string-content.fluent","end":"(\\")","endCaptures":{"1":{"name":"variable.other.placeable-string-end.fluent"}}},"selector":{"begin":"(->)","beginCaptures":{"1":{"name":"support.function.selector.begin.fluent"}},"contentName":"string.selector.content.fluent","end":"^(?=\\\\s*})","patterns":[{"include":"#selector-item"}]},"selector-item":{"begin":"(\\\\s*\\\\*?\\\\[)([a-zA-Z0-9_-]+)(\\\\]\\\\s*)","beginCaptures":{"1":{"name":"support.function.selector-item.begin.fluent"},"2":{"name":"variable.other.selector-item.begin.fluent"},"3":{"name":"support.function.selector-item.begin.fluent"}},"contentName":"string.selector-item.content.fluent","end":"^(?=(\\\\s*})|(\\\\s*\\\\[)|(\\\\s*\\\\*))","patterns":[{"include":"#placeable"}]},"wrong-line":{"match":".*","name":"invalid.illegal.wrong-line.fluent"}},"scopeName":"source.ftl","aliases":["ftl"]}')),n=[e];export{n as default};
@@ -1 +0,0 @@
1
- import e from"./fortran-free-form-DKXYxT9g.js";const n=Object.freeze(JSON.parse('{"displayName":"Fortran (Fixed Form)","fileTypes":["f","F","f77","F77","for","FOR"],"injections":{"source.fortran.fixed - ( string | comment )":{"patterns":[{"include":"#line-header"},{"include":"#line-end-comment"}]}},"name":"fortran-fixed-form","patterns":[{"include":"#comments"},{"include":"#line-header"},{"include":"source.fortran.free"}],"repository":{"comments":{"patterns":[{"begin":"^[cC\\\\*]","end":"\\\\n","name":"comment.line.fortran"},{"begin":"^ *!","end":"\\\\n","name":"comment.line.fortran"}]},"line-end-comment":{"begin":"(?<=^.{72})(?!\\\\n)","end":"(?=\\\\n)","name":"comment.line-end.fortran"},"line-header":{"captures":{"1":{"name":"constant.numeric.fortran"},"2":{"name":"keyword.line-continuation-operator.fortran"},"3":{"name":"source.fortran.free"},"4":{"name":"invalid.error.fortran"}},"match":"^(?!\\\\s*[!#])(?:([ \\\\d]{5} )|( {5}.)|(\\\\t)|(.{1,5}))"}},"scopeName":"source.fortran.fixed","embeddedLangs":["fortran-free-form"],"aliases":["f","for","f77"]}')),o=[...e,n];export{o as default};
@@ -1 +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=[e];export{n as default};