@aquera/nile-elements 0.0.104 → 0.0.105
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.
- package/README.md +5 -0
- package/dist/apl-21d06901.cjs.js +2 -0
- package/dist/apl-21d06901.cjs.js.map +1 -0
- package/dist/apl-d16c7537.esm.js +1 -0
- package/dist/{asciidoc-e0d3b314.cjs.js → asciidoc-001fd7c1.cjs.js} +2 -2
- package/dist/{asciidoc-e0d3b314.cjs.js.map → asciidoc-001fd7c1.cjs.js.map} +1 -1
- package/dist/{asciidoc-6be99424.esm.js → asciidoc-0966d4dc.esm.js} +1 -1
- package/dist/{blade-3208a46d.esm.js → blade-11ab018c.esm.js} +1 -1
- package/dist/{blade-edfc0fdd.cjs.js → blade-8db809ca.cjs.js} +2 -2
- package/dist/blade-8db809ca.cjs.js.map +1 -0
- package/dist/c-8cfe7ebc.esm.js +1 -0
- package/dist/c-b1a3514f.cjs.js +2 -0
- package/dist/c-b1a3514f.cjs.js.map +1 -0
- package/dist/codeql-48a19368.cjs.js +2 -0
- package/dist/codeql-48a19368.cjs.js.map +1 -0
- package/dist/codeql-535d71a2.esm.js +1 -0
- package/dist/cpp-62f58e5c.cjs.js +2 -0
- package/dist/cpp-62f58e5c.cjs.js.map +1 -0
- package/dist/cpp-ee96ee92.esm.js +1 -0
- package/dist/crystal-4277175c.cjs.js +2 -0
- package/dist/crystal-4277175c.cjs.js.map +1 -0
- package/dist/crystal-c89e4ade.esm.js +1 -0
- package/dist/{csharp-fe9efa9d.cjs.js → csharp-36e7912d.cjs.js} +2 -2
- package/dist/csharp-36e7912d.cjs.js.map +1 -0
- package/dist/{csharp-2f739c17.esm.js → csharp-78bc1c6a.esm.js} +1 -1
- package/dist/dream-maker-19eb7025.esm.js +1 -0
- package/dist/dream-maker-8dcd65d8.cjs.js +2 -0
- package/dist/dream-maker-8dcd65d8.cjs.js.map +1 -0
- package/dist/elixir-971d0fb3.esm.js +1 -0
- package/dist/elixir-de3ce4da.cjs.js +2 -0
- package/dist/elixir-de3ce4da.cjs.js.map +1 -0
- package/dist/{elm-0c5dbed5.cjs.js → elm-53838edc.cjs.js} +2 -2
- package/dist/{elm-0c5dbed5.cjs.js.map → elm-53838edc.cjs.js.map} +1 -1
- package/dist/{elm-3dbc06e2.esm.js → elm-9874a65c.esm.js} +1 -1
- package/dist/emacs-lisp-acd28b05.esm.js +1 -0
- package/dist/emacs-lisp-cfcfbca4.cjs.js +2 -0
- package/dist/emacs-lisp-cfcfbca4.cjs.js.map +1 -0
- package/dist/{erb-c397c5b8.cjs.js → erb-a42121e2.cjs.js} +2 -2
- package/dist/{erb-c397c5b8.cjs.js.map → erb-a42121e2.cjs.js.map} +1 -1
- package/dist/{erb-3df2a1e4.esm.js → erb-f580df2b.esm.js} +1 -1
- package/dist/{fortran-fixed-form-5221c659.cjs.js → fortran-fixed-form-a480dd28.cjs.js} +2 -2
- package/dist/{fortran-fixed-form-5221c659.cjs.js.map → fortran-fixed-form-a480dd28.cjs.js.map} +1 -1
- package/dist/{fortran-fixed-form-de2fa930.esm.js → fortran-fixed-form-f1691b9f.esm.js} +1 -1
- package/dist/fortran-free-form-a777429e.esm.js +1 -0
- package/dist/fortran-free-form-ffdde287.cjs.js +2 -0
- package/dist/fortran-free-form-ffdde287.cjs.js.map +1 -0
- package/dist/{fsharp-f129bbeb.esm.js → fsharp-69c4fb5c.esm.js} +1 -1
- package/dist/{fsharp-09a5f785.cjs.js → fsharp-d59a3c1f.cjs.js} +2 -2
- package/dist/{fsharp-09a5f785.cjs.js.map → fsharp-d59a3c1f.cjs.js.map} +1 -1
- package/dist/{git-rebase-1f689746.cjs.js → git-rebase-7589e873.cjs.js} +2 -2
- package/dist/{git-rebase-1f689746.cjs.js.map → git-rebase-7589e873.cjs.js.map} +1 -1
- package/dist/{git-rebase-a3a21dac.esm.js → git-rebase-bb01fb7b.esm.js} +1 -1
- package/dist/{glsl-f391b342.esm.js → glsl-1493bfc0.esm.js} +1 -1
- package/dist/{glsl-018c76d4.cjs.js → glsl-c588b399.cjs.js} +2 -2
- package/dist/{glsl-018c76d4.cjs.js.map → glsl-c588b399.cjs.js.map} +1 -1
- package/dist/{go-09393d7b.cjs.js → go-a05e58ea.cjs.js} +2 -2
- package/dist/go-a05e58ea.cjs.js.map +1 -0
- package/dist/{go-327b8b08.esm.js → go-ecfc5b99.esm.js} +1 -1
- package/dist/haml-2253a1bd.cjs.js +2 -0
- package/dist/haml-2253a1bd.cjs.js.map +1 -0
- package/dist/haml-43d9b125.esm.js +1 -0
- package/dist/hcl-595d9f51.cjs.js +2 -0
- package/dist/hcl-595d9f51.cjs.js.map +1 -0
- package/dist/hcl-6a14c75f.esm.js +1 -0
- package/dist/hjson-c3c357d7.cjs.js +2 -0
- package/dist/hjson-c3c357d7.cjs.js.map +1 -0
- package/dist/hjson-d42502da.esm.js +1 -0
- package/dist/{http-c5198897.esm.js → http-05cedc24.esm.js} +1 -1
- package/dist/{http-4370aef9.cjs.js → http-6aabe313.cjs.js} +2 -2
- package/dist/{http-4370aef9.cjs.js.map → http-6aabe313.cjs.js.map} +1 -1
- package/dist/{julia-5e4ea542.cjs.js → julia-24e685eb.cjs.js} +2 -2
- package/dist/{julia-5e4ea542.cjs.js.map → julia-24e685eb.cjs.js.map} +1 -1
- package/dist/{julia-e630ba73.esm.js → julia-944cceb2.esm.js} +1 -1
- package/dist/{latex-1adfa940.cjs.js → latex-bbf47f0d.cjs.js} +2 -2
- package/dist/{latex-1adfa940.cjs.js.map → latex-bbf47f0d.cjs.js.map} +1 -1
- package/dist/{latex-edebd2cc.esm.js → latex-c78294e0.esm.js} +1 -1
- package/dist/liquid-5e828fc2.cjs.js +2 -0
- package/dist/liquid-5e828fc2.cjs.js.map +1 -0
- package/dist/liquid-c0372db6.esm.js +1 -0
- package/dist/{lua-125b4f95.esm.js → lua-1393b713.esm.js} +1 -1
- package/dist/{lua-1990ffc7.cjs.js → lua-2512266d.cjs.js} +2 -2
- package/dist/{lua-1990ffc7.cjs.js.map → lua-2512266d.cjs.js.map} +1 -1
- package/dist/{markdown-9f728eba.esm.js → markdown-09aa0843.esm.js} +1 -1
- package/dist/{markdown-844e62a0.cjs.js → markdown-3ee08af9.cjs.js} +2 -2
- package/dist/{markdown-844e62a0.cjs.js.map → markdown-3ee08af9.cjs.js.map} +1 -1
- package/dist/matlab-534739f2.cjs.js +2 -0
- package/dist/matlab-534739f2.cjs.js.map +1 -0
- package/dist/matlab-97eddcfd.esm.js +1 -0
- package/dist/{mdc-89c1812c.cjs.js → mdc-7262ea7f.cjs.js} +2 -2
- package/dist/{mdc-89c1812c.cjs.js.map → mdc-7262ea7f.cjs.js.map} +1 -1
- package/dist/{mdc-78460ad2.esm.js → mdc-a46ebf55.esm.js} +1 -1
- package/dist/{nginx-d4fde8c7.cjs.js → nginx-33da8d52.cjs.js} +2 -2
- package/dist/{nginx-d4fde8c7.cjs.js.map → nginx-33da8d52.cjs.js.map} +1 -1
- package/dist/{nginx-4e240995.esm.js → nginx-9eb574b4.esm.js} +1 -1
- package/dist/nile-chip/nile-chip.cjs.js +1 -1
- package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
- package/dist/nile-chip/nile-chip.esm.js +1 -1
- package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
- package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
- package/dist/nile-dialog/nile-dialog.css.cjs.js +1 -1
- package/dist/nile-dialog/nile-dialog.css.cjs.js.map +1 -1
- package/dist/nile-dialog/nile-dialog.css.esm.js +18 -3
- package/dist/nile-dialog/nile-dialog.esm.js +6 -4
- package/dist/nile-highlighter/nile-highlighter.cjs.js +1 -1
- package/dist/nile-highlighter/nile-highlighter.esm.js +1 -1
- package/dist/nile-loader/nile-loader.cjs.js +1 -1
- package/dist/nile-loader/nile-loader.cjs.js.map +1 -1
- package/dist/nile-loader/nile-loader.esm.js +5 -6
- package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
- package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
- package/dist/{nim-2d3e58bd.esm.js → nim-19ded5b2.esm.js} +1 -1
- package/dist/{nim-68123944.cjs.js → nim-d17fab7b.cjs.js} +2 -2
- package/dist/{nim-68123944.cjs.js.map → nim-d17fab7b.cjs.js.map} +1 -1
- package/dist/php-61f68171.esm.js +1 -0
- package/dist/php-cc873410.cjs.js +2 -0
- package/dist/php-cc873410.cjs.js.map +1 -0
- package/dist/{racket-7b394aba.cjs.js → racket-0c9d5c0f.cjs.js} +2 -2
- package/dist/{racket-7b394aba.cjs.js.map → racket-0c9d5c0f.cjs.js.map} +1 -1
- package/dist/{racket-81dda9e5.esm.js → racket-55a31f6b.esm.js} +1 -1
- package/dist/{razor-1b5232cc.cjs.js → razor-a2425731.cjs.js} +2 -2
- package/dist/{razor-1b5232cc.cjs.js.map → razor-a2425731.cjs.js.map} +1 -1
- package/dist/{razor-d377d825.esm.js → razor-b33c609c.esm.js} +1 -1
- package/dist/{rst-7ca0bc88.cjs.js → rst-328f0cf1.cjs.js} +2 -2
- package/dist/{rst-7ca0bc88.cjs.js.map → rst-328f0cf1.cjs.js.map} +1 -1
- package/dist/{rst-0c779bb4.esm.js → rst-c0bca969.esm.js} +1 -1
- package/dist/{ruby-a3bdb75e.esm.js → ruby-0ae8b3e3.esm.js} +1 -1
- package/dist/{ruby-951187c3.cjs.js → ruby-82f6fde2.cjs.js} +2 -2
- package/dist/{ruby-951187c3.cjs.js.map → ruby-82f6fde2.cjs.js.map} +1 -1
- package/dist/{scala-f087204d.esm.js → scala-09ae48a2.esm.js} +1 -1
- package/dist/{scala-b2ea8aa7.cjs.js → scala-44c4b612.cjs.js} +2 -2
- package/dist/{scala-b2ea8aa7.cjs.js.map → scala-44c4b612.cjs.js.map} +1 -1
- package/dist/{shellscript-ac23285d.esm.js → shellscript-279f3c20.esm.js} +1 -1
- package/dist/{shellscript-cd92245f.cjs.js → shellscript-fbbc671d.cjs.js} +2 -2
- package/dist/{shellscript-cd92245f.cjs.js.map → shellscript-fbbc671d.cjs.js.map} +1 -1
- package/dist/{shellsession-396c6681.esm.js → shellsession-c6d86b76.esm.js} +1 -1
- package/dist/{shellsession-223fd590.cjs.js → shellsession-d64b6377.cjs.js} +2 -2
- package/dist/{shellsession-223fd590.cjs.js.map → shellsession-d64b6377.cjs.js.map} +1 -1
- package/dist/src/nile-chip/nile-chip.js +10 -7
- package/dist/src/nile-chip/nile-chip.js.map +1 -1
- package/dist/src/nile-dialog/nile-dialog.css.js +18 -3
- package/dist/src/nile-dialog/nile-dialog.css.js.map +1 -1
- package/dist/src/nile-dialog/nile-dialog.d.ts +1 -0
- package/dist/src/nile-dialog/nile-dialog.js +10 -2
- package/dist/src/nile-dialog/nile-dialog.js.map +1 -1
- package/dist/src/nile-loader/nile-loader.js +0 -1
- package/dist/src/nile-loader/nile-loader.js.map +1 -1
- package/dist/src/nile-tab-group/nile-tab-group.js +4 -1
- package/dist/src/nile-tab-group/nile-tab-group.js.map +1 -1
- package/dist/stata-149110fb.esm.js +1 -0
- package/dist/stata-b4a1937c.cjs.js +2 -0
- package/dist/stata-b4a1937c.cjs.js.map +1 -0
- package/dist/{svelte-70f34f63.esm.js → svelte-1048eb5a.esm.js} +1 -1
- package/dist/{svelte-fac37669.cjs.js → svelte-4fd29bd3.cjs.js} +2 -2
- package/dist/{svelte-fac37669.cjs.js.map → svelte-4fd29bd3.cjs.js.map} +1 -1
- package/dist/swift-502aad80.cjs.js +2 -0
- package/dist/{swift-73991d74.cjs.js.map → swift-502aad80.cjs.js.map} +1 -1
- package/dist/swift-c090b356.esm.js +1 -0
- package/dist/{templ-d3b439bb.esm.js → templ-628e79a2.esm.js} +1 -1
- package/dist/{templ-07af4f95.cjs.js → templ-d270ba1d.cjs.js} +2 -2
- package/dist/{templ-07af4f95.cjs.js.map → templ-d270ba1d.cjs.js.map} +1 -1
- package/dist/terraform-500d20b0.esm.js +1 -0
- package/dist/terraform-e5570e0d.cjs.js +2 -0
- package/dist/terraform-e5570e0d.cjs.js.map +1 -0
- package/dist/{ts-tags-dd626bee.esm.js → ts-tags-5da8755a.esm.js} +1 -1
- package/dist/{ts-tags-060f8b3f.cjs.js → ts-tags-df3e88d7.cjs.js} +2 -2
- package/dist/{ts-tags-060f8b3f.cjs.js.map → ts-tags-df3e88d7.cjs.js.map} +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/twig-5bc34a9a.esm.js +1 -0
- package/dist/twig-af3abed5.cjs.js +2 -0
- package/dist/twig-af3abed5.cjs.js.map +1 -0
- package/dist/{vue-0bf65993.cjs.js → vue-09163277.cjs.js} +2 -2
- package/dist/{vue-0bf65993.cjs.js.map → vue-09163277.cjs.js.map} +1 -1
- package/dist/{vue-9a567043.esm.js → vue-dbfc25c6.esm.js} +1 -1
- package/dist/{vue-html-87c1aa08.cjs.js → vue-html-8d140150.cjs.js} +2 -2
- package/dist/{vue-html-87c1aa08.cjs.js.map → vue-html-8d140150.cjs.js.map} +1 -1
- package/dist/{vue-html-5432e63a.esm.js → vue-html-9284886a.esm.js} +1 -1
- package/dist/wasm-69304cd7.cjs.js +2 -0
- package/dist/{wasm-2b3accdb.cjs.js.map → wasm-69304cd7.cjs.js.map} +1 -1
- package/dist/{wasm-ec34668d.esm.js → wasm-aabb0cac.esm.js} +1 -1
- package/dist/{wikitext-bc11a136.cjs.js → wikitext-1ea78c25.cjs.js} +2 -2
- package/dist/{wikitext-bc11a136.cjs.js.map → wikitext-1ea78c25.cjs.js.map} +1 -1
- package/dist/{wikitext-0150fba4.esm.js → wikitext-3fe603e5.esm.js} +1 -1
- package/package.json +1 -1
- package/src/nile-chip/nile-chip.ts +13 -7
- package/src/nile-dialog/nile-dialog.css.ts +18 -3
- package/src/nile-dialog/nile-dialog.ts +8 -2
- package/src/nile-loader/nile-loader.ts +0 -1
- package/src/nile-tab-group/nile-tab-group.ts +2 -1
- package/dist/apl-41950f78.cjs.js +0 -2
- package/dist/apl-41950f78.cjs.js.map +0 -1
- package/dist/apl-c55a4361.esm.js +0 -1
- package/dist/blade-edfc0fdd.cjs.js.map +0 -1
- package/dist/c-3ee6456a.esm.js +0 -1
- package/dist/c-da3bb8a6.cjs.js +0 -2
- package/dist/c-da3bb8a6.cjs.js.map +0 -1
- package/dist/codeql-842eb6cf.esm.js +0 -1
- package/dist/codeql-d89527b8.cjs.js +0 -2
- package/dist/codeql-d89527b8.cjs.js.map +0 -1
- package/dist/cpp-08227984.esm.js +0 -1
- package/dist/cpp-cf2e9ff3.cjs.js +0 -2
- package/dist/cpp-cf2e9ff3.cjs.js.map +0 -1
- package/dist/crystal-38a7d086.cjs.js +0 -2
- package/dist/crystal-38a7d086.cjs.js.map +0 -1
- package/dist/crystal-39a9e1ea.esm.js +0 -1
- package/dist/csharp-fe9efa9d.cjs.js.map +0 -1
- package/dist/dream-maker-03e02970.cjs.js +0 -2
- package/dist/dream-maker-03e02970.cjs.js.map +0 -1
- package/dist/dream-maker-d074d317.esm.js +0 -1
- package/dist/elixir-677f91c1.cjs.js +0 -2
- package/dist/elixir-677f91c1.cjs.js.map +0 -1
- package/dist/elixir-e6f892c0.esm.js +0 -1
- package/dist/emacs-lisp-acc9d1bf.esm.js +0 -1
- package/dist/emacs-lisp-ba2192a6.cjs.js +0 -2
- package/dist/emacs-lisp-ba2192a6.cjs.js.map +0 -1
- package/dist/fortran-free-form-662642e8.cjs.js +0 -2
- package/dist/fortran-free-form-662642e8.cjs.js.map +0 -1
- package/dist/fortran-free-form-b8908a2e.esm.js +0 -1
- package/dist/go-09393d7b.cjs.js.map +0 -1
- package/dist/haml-44312b9e.cjs.js +0 -2
- package/dist/haml-44312b9e.cjs.js.map +0 -1
- package/dist/haml-ce8f521d.esm.js +0 -1
- package/dist/hcl-659b5ff4.esm.js +0 -1
- package/dist/hcl-93dee28c.cjs.js +0 -2
- package/dist/hcl-93dee28c.cjs.js.map +0 -1
- package/dist/hjson-e5dbb832.cjs.js +0 -2
- package/dist/hjson-e5dbb832.cjs.js.map +0 -1
- package/dist/hjson-ff155aeb.esm.js +0 -1
- package/dist/liquid-1369a009.cjs.js +0 -2
- package/dist/liquid-1369a009.cjs.js.map +0 -1
- package/dist/liquid-e48eb0ca.esm.js +0 -1
- package/dist/matlab-52886ffe.esm.js +0 -1
- package/dist/matlab-71a4c00e.cjs.js +0 -2
- package/dist/matlab-71a4c00e.cjs.js.map +0 -1
- package/dist/php-1beee6c8.esm.js +0 -1
- package/dist/php-580a8f27.cjs.js +0 -2
- package/dist/php-580a8f27.cjs.js.map +0 -1
- package/dist/stata-5d259eca.cjs.js +0 -2
- package/dist/stata-5d259eca.cjs.js.map +0 -1
- package/dist/stata-ce57a14a.esm.js +0 -1
- package/dist/swift-22135585.esm.js +0 -1
- package/dist/swift-73991d74.cjs.js +0 -2
- package/dist/terraform-5a5bfeae.esm.js +0 -1
- package/dist/terraform-73471876.cjs.js +0 -2
- package/dist/terraform-73471876.cjs.js.map +0 -1
- package/dist/twig-8f9f15f7.cjs.js +0 -2
- package/dist/twig-8f9f15f7.cjs.js.map +0 -1
- package/dist/twig-964ce7ee.esm.js +0 -1
- package/dist/wasm-2b3accdb.cjs.js +0 -2
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"fortran-free-form-ffdde287.cjs.js","sources":["../../../node_modules/shiki/dist/langs/fortran-free-form.mjs"],"sourcesContent":["const lang = Object.freeze({ \"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\": \"(?i)\\\\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\": \"(?i)(?=\\\\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\": \"(?i)\\\\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\": \"(?i)\\\\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])((?:\\\\+)?)((?:-)?)(\\\\d(?:\\\\d|(?<=[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])(\\\\d(?:\\\\d|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=\\\\d)\\\\.|\\\\.(?=\\\\d)))(\\\\d(?:\\\\d|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([eE])((?:\\\\+)?)((?:-)?)(\\\\d(?:\\\\d|(?<=[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(?<!\\\\d)\\\\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(?<!\\\\d)\\\\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])((?:\\\\+)?)((?:-)?)(\\\\d(?:\\\\d|(?<=[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])(\\\\d(?:\\\\d|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([eE])((?:\\\\+)?)((?:-)?)(\\\\d(?:\\\\d|(?<=[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\": \"(?i)\\\\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\": `(?i)(?=\\\\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\": \"(?i)\\\\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\": \"(?i)\\\\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\": \"(?i)\\\\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\": \"(?i)\\\\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\": \"(?i)\\\\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\": \"(?i)\\\\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\": \"(?i)\\\\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\": \"(?i)\\\\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\": \"(?i)\\\\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\": \"(?i)\\\\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\": \"(?i)\\\\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\": \"(?i)\\\\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\": \"(?i)\\\\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\": \"(?i)\\\\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\": \"(?i)\\\\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\": \"(?i)\\\\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\": \"(?i)\\\\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\": \"(?i)\\\\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\": \"(?i)\\\\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\": \"(?i)\\\\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\": \"(?i)(\\\\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\": `(?i)\\\\s*\\\\b(module)\\\\b(?=\\\\s*(?:[;!\\\\n]|[^'\";!\\\\n]*\\\\b(?:function|procedure|subroutine)\\\\b))` }, \"module-definition\": { \"begin\": `(?i)(?=\\\\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\": \"(?i)\\\\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\": \"(?i)([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\": \"(?i)[+\\\\-]?(\\\\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\": \"(?i)\\\\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\": \"(?i)\\\\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\": \"(?i)\\\\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\": \"(?i)\\\\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\": \"(?i)\\\\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\": `(?i)(?=\\\\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\"] });\nvar fortran_free_form = [\n lang\n];\n\nexport { fortran_free_form as default };\n"],"names":["fortran_free_form","Object","freeze","displayName","fileTypes","firstLineMatch","injections","patterns","include","name","repository","begin","comment","contentName","end","beginCaptures","endCaptures","captures","match","brackets","comments","constants","applyEndPatternLast","operators","parentheses","preprocessor","types","variable","word","scopeName","aliases"],"mappings":"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","x_google_ignoreList":[0]}
|