rn-shiki 0.0.25 → 0.0.27

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1132) hide show
  1. package/babel.config.js +19 -19
  2. package/lib/commonjs/components/syntax/SyntaxHighlighter.js +1 -78
  3. package/lib/commonjs/components/syntax/SyntaxHighlighter.js.map +1 -1
  4. package/lib/commonjs/components/syntax/SyntaxLine.js +1 -35
  5. package/lib/commonjs/components/syntax/SyntaxLine.js.map +1 -1
  6. package/lib/commonjs/components/syntax/index.js +1 -20
  7. package/lib/commonjs/components/syntax/index.js.map +1 -1
  8. package/lib/commonjs/hooks/useSyntaxHighlighter.js +1 -63
  9. package/lib/commonjs/hooks/useSyntaxHighlighter.js.map +1 -1
  10. package/lib/commonjs/index.js +1 -36
  11. package/lib/commonjs/index.js.map +1 -1
  12. package/lib/commonjs/syntax/highlighter/index.js +1 -37
  13. package/lib/commonjs/syntax/highlighter/index.js.map +1 -1
  14. package/lib/commonjs/syntax/index.js +1 -18
  15. package/lib/commonjs/syntax/index.js.map +1 -1
  16. package/lib/commonjs/types/index.js +1 -1
  17. package/lib/commonjs/types/shiki.d.js +1 -5
  18. package/lib/commonjs/types/shiki.js +1 -5
  19. package/lib/commonjs/utils/index.js +1 -16
  20. package/lib/commonjs/utils/index.js.map +1 -1
  21. package/lib/commonjs/utils/string.js +1 -27
  22. package/lib/commonjs/utils/string.js.map +1 -1
  23. package/lib/commonjs/vendor/shiki/core/core.d.js +1 -1
  24. package/lib/commonjs/vendor/shiki/core/core.js +9 -8758
  25. package/lib/commonjs/vendor/shiki/core/core.js.map +1 -1
  26. package/lib/commonjs/vendor/shiki/core/engine-javascript.d.js +1 -1
  27. package/lib/commonjs/vendor/shiki/core/engine-javascript.js +8 -1515
  28. package/lib/commonjs/vendor/shiki/core/engine-javascript.js.map +1 -1
  29. package/lib/commonjs/vendor/shiki/index.d.js +1 -19
  30. package/lib/commonjs/vendor/shiki/index.d.js.map +1 -1
  31. package/lib/commonjs/vendor/shiki/index.js +1 -9
  32. package/lib/commonjs/vendor/shiki/index.js.map +1 -1
  33. package/lib/commonjs/vendor/shiki/langs/abap.d.js +1 -5
  34. package/lib/commonjs/vendor/shiki/langs/abap.js +1 -6
  35. package/lib/commonjs/vendor/shiki/langs/abap.js.map +1 -1
  36. package/lib/commonjs/vendor/shiki/langs/actionscript-3.d.js +1 -5
  37. package/lib/commonjs/vendor/shiki/langs/actionscript-3.js +1 -6
  38. package/lib/commonjs/vendor/shiki/langs/actionscript-3.js.map +1 -1
  39. package/lib/commonjs/vendor/shiki/langs/ada.d.js +1 -5
  40. package/lib/commonjs/vendor/shiki/langs/ada.js +1 -6
  41. package/lib/commonjs/vendor/shiki/langs/ada.js.map +1 -1
  42. package/lib/commonjs/vendor/shiki/langs/adoc.d.js +1 -5
  43. package/lib/commonjs/vendor/shiki/langs/adoc.js +1 -38
  44. package/lib/commonjs/vendor/shiki/langs/adoc.js.map +1 -1
  45. package/lib/commonjs/vendor/shiki/langs/angular-expression.d.js +1 -5
  46. package/lib/commonjs/vendor/shiki/langs/angular-expression.js +1 -6
  47. package/lib/commonjs/vendor/shiki/langs/angular-expression.js.map +1 -1
  48. package/lib/commonjs/vendor/shiki/langs/angular-html.d.js +1 -5
  49. package/lib/commonjs/vendor/shiki/langs/angular-html.js +1 -6
  50. package/lib/commonjs/vendor/shiki/langs/angular-html.js.map +1 -1
  51. package/lib/commonjs/vendor/shiki/langs/angular-inline-style.d.js +1 -5
  52. package/lib/commonjs/vendor/shiki/langs/angular-inline-style.js +1 -6
  53. package/lib/commonjs/vendor/shiki/langs/angular-inline-style.js.map +1 -1
  54. package/lib/commonjs/vendor/shiki/langs/angular-inline-template.d.js +1 -5
  55. package/lib/commonjs/vendor/shiki/langs/angular-inline-template.js +1 -6
  56. package/lib/commonjs/vendor/shiki/langs/angular-inline-template.js.map +1 -1
  57. package/lib/commonjs/vendor/shiki/langs/angular-let-declaration.d.js +1 -5
  58. package/lib/commonjs/vendor/shiki/langs/angular-let-declaration.js +1 -6
  59. package/lib/commonjs/vendor/shiki/langs/angular-let-declaration.js.map +1 -1
  60. package/lib/commonjs/vendor/shiki/langs/angular-template-blocks.d.js +1 -5
  61. package/lib/commonjs/vendor/shiki/langs/angular-template-blocks.js +1 -6
  62. package/lib/commonjs/vendor/shiki/langs/angular-template-blocks.js.map +1 -1
  63. package/lib/commonjs/vendor/shiki/langs/angular-template.d.js +1 -5
  64. package/lib/commonjs/vendor/shiki/langs/angular-template.js +1 -6
  65. package/lib/commonjs/vendor/shiki/langs/angular-template.js.map +1 -1
  66. package/lib/commonjs/vendor/shiki/langs/angular-ts.d.js +1 -5
  67. package/lib/commonjs/vendor/shiki/langs/angular-ts.js +1 -6
  68. package/lib/commonjs/vendor/shiki/langs/angular-ts.js.map +1 -1
  69. package/lib/commonjs/vendor/shiki/langs/apache.d.js +1 -5
  70. package/lib/commonjs/vendor/shiki/langs/apache.js +1 -6
  71. package/lib/commonjs/vendor/shiki/langs/apache.js.map +1 -1
  72. package/lib/commonjs/vendor/shiki/langs/apex.d.js +1 -5
  73. package/lib/commonjs/vendor/shiki/langs/apex.js +1 -6
  74. package/lib/commonjs/vendor/shiki/langs/apex.js.map +1 -1
  75. package/lib/commonjs/vendor/shiki/langs/apl.d.js +1 -5
  76. package/lib/commonjs/vendor/shiki/langs/apl.js +1 -6
  77. package/lib/commonjs/vendor/shiki/langs/apl.js.map +1 -1
  78. package/lib/commonjs/vendor/shiki/langs/applescript.d.js +1 -5
  79. package/lib/commonjs/vendor/shiki/langs/applescript.js +1 -6
  80. package/lib/commonjs/vendor/shiki/langs/applescript.js.map +1 -1
  81. package/lib/commonjs/vendor/shiki/langs/ara.d.js +1 -5
  82. package/lib/commonjs/vendor/shiki/langs/ara.js +1 -6
  83. package/lib/commonjs/vendor/shiki/langs/ara.js.map +1 -1
  84. package/lib/commonjs/vendor/shiki/langs/asciidoc.d.js +1 -5
  85. package/lib/commonjs/vendor/shiki/langs/asciidoc.js +1 -6
  86. package/lib/commonjs/vendor/shiki/langs/asciidoc.js.map +1 -1
  87. package/lib/commonjs/vendor/shiki/langs/asm.d.js +1 -5
  88. package/lib/commonjs/vendor/shiki/langs/asm.js +1 -6
  89. package/lib/commonjs/vendor/shiki/langs/asm.js.map +1 -1
  90. package/lib/commonjs/vendor/shiki/langs/astro.d.js +1 -5
  91. package/lib/commonjs/vendor/shiki/langs/astro.js +1 -6
  92. package/lib/commonjs/vendor/shiki/langs/astro.js.map +1 -1
  93. package/lib/commonjs/vendor/shiki/langs/awk.d.js +1 -5
  94. package/lib/commonjs/vendor/shiki/langs/awk.js +1 -6
  95. package/lib/commonjs/vendor/shiki/langs/awk.js.map +1 -1
  96. package/lib/commonjs/vendor/shiki/langs/ballerina.d.js +1 -5
  97. package/lib/commonjs/vendor/shiki/langs/ballerina.js +1 -6
  98. package/lib/commonjs/vendor/shiki/langs/ballerina.js.map +1 -1
  99. package/lib/commonjs/vendor/shiki/langs/bash.d.js +1 -5
  100. package/lib/commonjs/vendor/shiki/langs/bash.js +1 -38
  101. package/lib/commonjs/vendor/shiki/langs/bash.js.map +1 -1
  102. package/lib/commonjs/vendor/shiki/langs/bat.d.js +1 -5
  103. package/lib/commonjs/vendor/shiki/langs/bat.js +1 -6
  104. package/lib/commonjs/vendor/shiki/langs/bat.js.map +1 -1
  105. package/lib/commonjs/vendor/shiki/langs/batch.d.js +1 -5
  106. package/lib/commonjs/vendor/shiki/langs/batch.js +1 -38
  107. package/lib/commonjs/vendor/shiki/langs/batch.js.map +1 -1
  108. package/lib/commonjs/vendor/shiki/langs/be.d.js +1 -5
  109. package/lib/commonjs/vendor/shiki/langs/be.js +1 -38
  110. package/lib/commonjs/vendor/shiki/langs/be.js.map +1 -1
  111. package/lib/commonjs/vendor/shiki/langs/beancount.d.js +1 -5
  112. package/lib/commonjs/vendor/shiki/langs/beancount.js +1 -6
  113. package/lib/commonjs/vendor/shiki/langs/beancount.js.map +1 -1
  114. package/lib/commonjs/vendor/shiki/langs/berry.d.js +1 -5
  115. package/lib/commonjs/vendor/shiki/langs/berry.js +1 -6
  116. package/lib/commonjs/vendor/shiki/langs/berry.js.map +1 -1
  117. package/lib/commonjs/vendor/shiki/langs/bibtex.d.js +1 -5
  118. package/lib/commonjs/vendor/shiki/langs/bibtex.js +1 -6
  119. package/lib/commonjs/vendor/shiki/langs/bibtex.js.map +1 -1
  120. package/lib/commonjs/vendor/shiki/langs/bicep.d.js +1 -5
  121. package/lib/commonjs/vendor/shiki/langs/bicep.js +1 -6
  122. package/lib/commonjs/vendor/shiki/langs/bicep.js.map +1 -1
  123. package/lib/commonjs/vendor/shiki/langs/blade.d.js +1 -5
  124. package/lib/commonjs/vendor/shiki/langs/blade.js +1 -6
  125. package/lib/commonjs/vendor/shiki/langs/blade.js.map +1 -1
  126. package/lib/commonjs/vendor/shiki/langs/c.d.js +1 -5
  127. package/lib/commonjs/vendor/shiki/langs/c.js +1 -6
  128. package/lib/commonjs/vendor/shiki/langs/c.js.map +1 -1
  129. package/lib/commonjs/vendor/shiki/langs/cadence.d.js +1 -5
  130. package/lib/commonjs/vendor/shiki/langs/cadence.js +1 -6
  131. package/lib/commonjs/vendor/shiki/langs/cadence.js.map +1 -1
  132. package/lib/commonjs/vendor/shiki/langs/cdc.d.js +1 -5
  133. package/lib/commonjs/vendor/shiki/langs/cdc.js +1 -38
  134. package/lib/commonjs/vendor/shiki/langs/cdc.js.map +1 -1
  135. package/lib/commonjs/vendor/shiki/langs/clarity.d.js +1 -5
  136. package/lib/commonjs/vendor/shiki/langs/clarity.js +1 -6
  137. package/lib/commonjs/vendor/shiki/langs/clarity.js.map +1 -1
  138. package/lib/commonjs/vendor/shiki/langs/clj.d.js +1 -5
  139. package/lib/commonjs/vendor/shiki/langs/clj.js +1 -38
  140. package/lib/commonjs/vendor/shiki/langs/clj.js.map +1 -1
  141. package/lib/commonjs/vendor/shiki/langs/clojure.d.js +1 -5
  142. package/lib/commonjs/vendor/shiki/langs/clojure.js +1 -6
  143. package/lib/commonjs/vendor/shiki/langs/clojure.js.map +1 -1
  144. package/lib/commonjs/vendor/shiki/langs/closure-templates.d.js +1 -5
  145. package/lib/commonjs/vendor/shiki/langs/closure-templates.js +1 -50
  146. package/lib/commonjs/vendor/shiki/langs/closure-templates.js.map +1 -1
  147. package/lib/commonjs/vendor/shiki/langs/cmake.d.js +1 -5
  148. package/lib/commonjs/vendor/shiki/langs/cmake.js +1 -6
  149. package/lib/commonjs/vendor/shiki/langs/cmake.js.map +1 -1
  150. package/lib/commonjs/vendor/shiki/langs/cmd.d.js +1 -5
  151. package/lib/commonjs/vendor/shiki/langs/cmd.js +1 -38
  152. package/lib/commonjs/vendor/shiki/langs/cmd.js.map +1 -1
  153. package/lib/commonjs/vendor/shiki/langs/cobol.d.js +1 -5
  154. package/lib/commonjs/vendor/shiki/langs/cobol.js +1 -6
  155. package/lib/commonjs/vendor/shiki/langs/cobol.js.map +1 -1
  156. package/lib/commonjs/vendor/shiki/langs/codeowners.d.js +1 -5
  157. package/lib/commonjs/vendor/shiki/langs/codeowners.js +1 -6
  158. package/lib/commonjs/vendor/shiki/langs/codeowners.js.map +1 -1
  159. package/lib/commonjs/vendor/shiki/langs/codeql.d.js +1 -5
  160. package/lib/commonjs/vendor/shiki/langs/codeql.js +1 -6
  161. package/lib/commonjs/vendor/shiki/langs/codeql.js.map +1 -1
  162. package/lib/commonjs/vendor/shiki/langs/coffee.d.js +1 -5
  163. package/lib/commonjs/vendor/shiki/langs/coffee.js +1 -6
  164. package/lib/commonjs/vendor/shiki/langs/coffee.js.map +1 -1
  165. package/lib/commonjs/vendor/shiki/langs/coffeescript.d.js +1 -5
  166. package/lib/commonjs/vendor/shiki/langs/coffeescript.js +1 -42
  167. package/lib/commonjs/vendor/shiki/langs/coffeescript.js.map +1 -1
  168. package/lib/commonjs/vendor/shiki/langs/common-lisp.d.js +1 -5
  169. package/lib/commonjs/vendor/shiki/langs/common-lisp.js +1 -6
  170. package/lib/commonjs/vendor/shiki/langs/common-lisp.js.map +1 -1
  171. package/lib/commonjs/vendor/shiki/langs/console.d.js +1 -5
  172. package/lib/commonjs/vendor/shiki/langs/console.js +1 -42
  173. package/lib/commonjs/vendor/shiki/langs/console.js.map +1 -1
  174. package/lib/commonjs/vendor/shiki/langs/coq.d.js +1 -5
  175. package/lib/commonjs/vendor/shiki/langs/coq.js +1 -6
  176. package/lib/commonjs/vendor/shiki/langs/coq.js.map +1 -1
  177. package/lib/commonjs/vendor/shiki/langs/cpp-macro.d.js +1 -5
  178. package/lib/commonjs/vendor/shiki/langs/cpp-macro.js +1 -6
  179. package/lib/commonjs/vendor/shiki/langs/cpp-macro.js.map +1 -1
  180. package/lib/commonjs/vendor/shiki/langs/cpp.d.js +1 -5
  181. package/lib/commonjs/vendor/shiki/langs/cpp.js +1 -6
  182. package/lib/commonjs/vendor/shiki/langs/cpp.js.map +1 -1
  183. package/lib/commonjs/vendor/shiki/langs/cql.d.js +1 -5
  184. package/lib/commonjs/vendor/shiki/langs/cql.js +1 -38
  185. package/lib/commonjs/vendor/shiki/langs/cql.js.map +1 -1
  186. package/lib/commonjs/vendor/shiki/langs/crystal.d.js +1 -5
  187. package/lib/commonjs/vendor/shiki/langs/crystal.js +1 -6
  188. package/lib/commonjs/vendor/shiki/langs/crystal.js.map +1 -1
  189. package/lib/commonjs/vendor/shiki/langs/cs.d.js +1 -5
  190. package/lib/commonjs/vendor/shiki/langs/cs.js +1 -38
  191. package/lib/commonjs/vendor/shiki/langs/cs.js.map +1 -1
  192. package/lib/commonjs/vendor/shiki/langs/csharp.d.js +1 -5
  193. package/lib/commonjs/vendor/shiki/langs/csharp.js +1 -6
  194. package/lib/commonjs/vendor/shiki/langs/csharp.js.map +1 -1
  195. package/lib/commonjs/vendor/shiki/langs/css.d.js +1 -5
  196. package/lib/commonjs/vendor/shiki/langs/css.js +1 -6
  197. package/lib/commonjs/vendor/shiki/langs/css.js.map +1 -1
  198. package/lib/commonjs/vendor/shiki/langs/csv.d.js +1 -5
  199. package/lib/commonjs/vendor/shiki/langs/csv.js +1 -6
  200. package/lib/commonjs/vendor/shiki/langs/csv.js.map +1 -1
  201. package/lib/commonjs/vendor/shiki/langs/cue.d.js +1 -5
  202. package/lib/commonjs/vendor/shiki/langs/cue.js +1 -6
  203. package/lib/commonjs/vendor/shiki/langs/cue.js.map +1 -1
  204. package/lib/commonjs/vendor/shiki/langs/cypher.d.js +1 -5
  205. package/lib/commonjs/vendor/shiki/langs/cypher.js +1 -6
  206. package/lib/commonjs/vendor/shiki/langs/cypher.js.map +1 -1
  207. package/lib/commonjs/vendor/shiki/langs/d.d.js +1 -5
  208. package/lib/commonjs/vendor/shiki/langs/d.js +1 -6
  209. package/lib/commonjs/vendor/shiki/langs/d.js.map +1 -1
  210. package/lib/commonjs/vendor/shiki/langs/dart.d.js +1 -5
  211. package/lib/commonjs/vendor/shiki/langs/dart.js +1 -6
  212. package/lib/commonjs/vendor/shiki/langs/dart.js.map +1 -1
  213. package/lib/commonjs/vendor/shiki/langs/dax.d.js +1 -5
  214. package/lib/commonjs/vendor/shiki/langs/dax.js +1 -6
  215. package/lib/commonjs/vendor/shiki/langs/dax.js.map +1 -1
  216. package/lib/commonjs/vendor/shiki/langs/desktop.d.js +1 -5
  217. package/lib/commonjs/vendor/shiki/langs/desktop.js +1 -6
  218. package/lib/commonjs/vendor/shiki/langs/desktop.js.map +1 -1
  219. package/lib/commonjs/vendor/shiki/langs/diff.d.js +1 -5
  220. package/lib/commonjs/vendor/shiki/langs/diff.js +1 -6
  221. package/lib/commonjs/vendor/shiki/langs/diff.js.map +1 -1
  222. package/lib/commonjs/vendor/shiki/langs/docker.d.js +1 -5
  223. package/lib/commonjs/vendor/shiki/langs/docker.js +1 -6
  224. package/lib/commonjs/vendor/shiki/langs/docker.js.map +1 -1
  225. package/lib/commonjs/vendor/shiki/langs/dockerfile.d.js +1 -5
  226. package/lib/commonjs/vendor/shiki/langs/dockerfile.js +1 -38
  227. package/lib/commonjs/vendor/shiki/langs/dockerfile.js.map +1 -1
  228. package/lib/commonjs/vendor/shiki/langs/dotenv.d.js +1 -5
  229. package/lib/commonjs/vendor/shiki/langs/dotenv.js +1 -6
  230. package/lib/commonjs/vendor/shiki/langs/dotenv.js.map +1 -1
  231. package/lib/commonjs/vendor/shiki/langs/dream-maker.d.js +1 -5
  232. package/lib/commonjs/vendor/shiki/langs/dream-maker.js +1 -6
  233. package/lib/commonjs/vendor/shiki/langs/dream-maker.js.map +1 -1
  234. package/lib/commonjs/vendor/shiki/langs/edge.d.js +1 -5
  235. package/lib/commonjs/vendor/shiki/langs/edge.js +1 -6
  236. package/lib/commonjs/vendor/shiki/langs/edge.js.map +1 -1
  237. package/lib/commonjs/vendor/shiki/langs/elisp.d.js +1 -5
  238. package/lib/commonjs/vendor/shiki/langs/elisp.js +1 -3
  239. package/lib/commonjs/vendor/shiki/langs/elisp.js.map +1 -1
  240. package/lib/commonjs/vendor/shiki/langs/elixir.d.js +1 -5
  241. package/lib/commonjs/vendor/shiki/langs/elixir.js +1 -6
  242. package/lib/commonjs/vendor/shiki/langs/elixir.js.map +1 -1
  243. package/lib/commonjs/vendor/shiki/langs/elm.d.js +1 -5
  244. package/lib/commonjs/vendor/shiki/langs/elm.js +1 -6
  245. package/lib/commonjs/vendor/shiki/langs/elm.js.map +1 -1
  246. package/lib/commonjs/vendor/shiki/langs/emacs-lisp.d.js +1 -5
  247. package/lib/commonjs/vendor/shiki/langs/emacs-lisp.js +1 -6
  248. package/lib/commonjs/vendor/shiki/langs/emacs-lisp.js.map +1 -1
  249. package/lib/commonjs/vendor/shiki/langs/erb.d.js +1 -5
  250. package/lib/commonjs/vendor/shiki/langs/erb.js +1 -6
  251. package/lib/commonjs/vendor/shiki/langs/erb.js.map +1 -1
  252. package/lib/commonjs/vendor/shiki/langs/erl.d.js +1 -5
  253. package/lib/commonjs/vendor/shiki/langs/erl.js +1 -38
  254. package/lib/commonjs/vendor/shiki/langs/erl.js.map +1 -1
  255. package/lib/commonjs/vendor/shiki/langs/erlang.d.js +1 -5
  256. package/lib/commonjs/vendor/shiki/langs/erlang.js +1 -6
  257. package/lib/commonjs/vendor/shiki/langs/erlang.js.map +1 -1
  258. package/lib/commonjs/vendor/shiki/langs/es-tag-css.d.js +1 -5
  259. package/lib/commonjs/vendor/shiki/langs/es-tag-css.js +1 -6
  260. package/lib/commonjs/vendor/shiki/langs/es-tag-css.js.map +1 -1
  261. package/lib/commonjs/vendor/shiki/langs/es-tag-glsl.d.js +1 -5
  262. package/lib/commonjs/vendor/shiki/langs/es-tag-glsl.js +1 -6
  263. package/lib/commonjs/vendor/shiki/langs/es-tag-glsl.js.map +1 -1
  264. package/lib/commonjs/vendor/shiki/langs/es-tag-html.d.js +1 -5
  265. package/lib/commonjs/vendor/shiki/langs/es-tag-html.js +1 -6
  266. package/lib/commonjs/vendor/shiki/langs/es-tag-html.js.map +1 -1
  267. package/lib/commonjs/vendor/shiki/langs/es-tag-sql.d.js +1 -5
  268. package/lib/commonjs/vendor/shiki/langs/es-tag-sql.js +1 -6
  269. package/lib/commonjs/vendor/shiki/langs/es-tag-sql.js.map +1 -1
  270. package/lib/commonjs/vendor/shiki/langs/es-tag-xml.d.js +1 -5
  271. package/lib/commonjs/vendor/shiki/langs/es-tag-xml.js +1 -6
  272. package/lib/commonjs/vendor/shiki/langs/es-tag-xml.js.map +1 -1
  273. package/lib/commonjs/vendor/shiki/langs/f.d.js +1 -5
  274. package/lib/commonjs/vendor/shiki/langs/f.js +1 -42
  275. package/lib/commonjs/vendor/shiki/langs/f.js.map +1 -1
  276. package/lib/commonjs/vendor/shiki/langs/f03.d.js +1 -5
  277. package/lib/commonjs/vendor/shiki/langs/f03.js +1 -38
  278. package/lib/commonjs/vendor/shiki/langs/f03.js.map +1 -1
  279. package/lib/commonjs/vendor/shiki/langs/f08.d.js +1 -5
  280. package/lib/commonjs/vendor/shiki/langs/f08.js +1 -38
  281. package/lib/commonjs/vendor/shiki/langs/f08.js.map +1 -1
  282. package/lib/commonjs/vendor/shiki/langs/f18.d.js +1 -5
  283. package/lib/commonjs/vendor/shiki/langs/f18.js +1 -38
  284. package/lib/commonjs/vendor/shiki/langs/f18.js.map +1 -1
  285. package/lib/commonjs/vendor/shiki/langs/f77.d.js +1 -5
  286. package/lib/commonjs/vendor/shiki/langs/f77.js +1 -42
  287. package/lib/commonjs/vendor/shiki/langs/f77.js.map +1 -1
  288. package/lib/commonjs/vendor/shiki/langs/f90.d.js +1 -5
  289. package/lib/commonjs/vendor/shiki/langs/f90.js +1 -38
  290. package/lib/commonjs/vendor/shiki/langs/f90.js.map +1 -1
  291. package/lib/commonjs/vendor/shiki/langs/f95.d.js +1 -5
  292. package/lib/commonjs/vendor/shiki/langs/f95.js +1 -38
  293. package/lib/commonjs/vendor/shiki/langs/f95.js.map +1 -1
  294. package/lib/commonjs/vendor/shiki/langs/fennel.d.js +1 -5
  295. package/lib/commonjs/vendor/shiki/langs/fennel.js +1 -6
  296. package/lib/commonjs/vendor/shiki/langs/fennel.js.map +1 -1
  297. package/lib/commonjs/vendor/shiki/langs/fish.d.js +1 -5
  298. package/lib/commonjs/vendor/shiki/langs/fish.js +1 -6
  299. package/lib/commonjs/vendor/shiki/langs/fish.js.map +1 -1
  300. package/lib/commonjs/vendor/shiki/langs/fluent.d.js +1 -5
  301. package/lib/commonjs/vendor/shiki/langs/fluent.js +1 -6
  302. package/lib/commonjs/vendor/shiki/langs/fluent.js.map +1 -1
  303. package/lib/commonjs/vendor/shiki/langs/for.d.js +1 -5
  304. package/lib/commonjs/vendor/shiki/langs/for.js +1 -42
  305. package/lib/commonjs/vendor/shiki/langs/for.js.map +1 -1
  306. package/lib/commonjs/vendor/shiki/langs/fortran-fixed-form.d.js +1 -5
  307. package/lib/commonjs/vendor/shiki/langs/fortran-fixed-form.js +1 -6
  308. package/lib/commonjs/vendor/shiki/langs/fortran-fixed-form.js.map +1 -1
  309. package/lib/commonjs/vendor/shiki/langs/fortran-free-form.d.js +1 -5
  310. package/lib/commonjs/vendor/shiki/langs/fortran-free-form.js +1 -6
  311. package/lib/commonjs/vendor/shiki/langs/fortran-free-form.js.map +1 -1
  312. package/lib/commonjs/vendor/shiki/langs/fs.d.js +1 -5
  313. package/lib/commonjs/vendor/shiki/langs/fs.js +1 -42
  314. package/lib/commonjs/vendor/shiki/langs/fs.js.map +1 -1
  315. package/lib/commonjs/vendor/shiki/langs/fsharp.d.js +1 -5
  316. package/lib/commonjs/vendor/shiki/langs/fsharp.js +1 -6
  317. package/lib/commonjs/vendor/shiki/langs/fsharp.js.map +1 -1
  318. package/lib/commonjs/vendor/shiki/langs/fsl.d.js +1 -5
  319. package/lib/commonjs/vendor/shiki/langs/fsl.js +1 -38
  320. package/lib/commonjs/vendor/shiki/langs/fsl.js.map +1 -1
  321. package/lib/commonjs/vendor/shiki/langs/ftl.d.js +1 -5
  322. package/lib/commonjs/vendor/shiki/langs/ftl.js +1 -38
  323. package/lib/commonjs/vendor/shiki/langs/ftl.js.map +1 -1
  324. package/lib/commonjs/vendor/shiki/langs/gdresource.d.js +1 -5
  325. package/lib/commonjs/vendor/shiki/langs/gdresource.js +1 -6
  326. package/lib/commonjs/vendor/shiki/langs/gdresource.js.map +1 -1
  327. package/lib/commonjs/vendor/shiki/langs/gdscript.d.js +1 -5
  328. package/lib/commonjs/vendor/shiki/langs/gdscript.js +1 -6
  329. package/lib/commonjs/vendor/shiki/langs/gdscript.js.map +1 -1
  330. package/lib/commonjs/vendor/shiki/langs/gdshader.d.js +1 -5
  331. package/lib/commonjs/vendor/shiki/langs/gdshader.js +1 -6
  332. package/lib/commonjs/vendor/shiki/langs/gdshader.js.map +1 -1
  333. package/lib/commonjs/vendor/shiki/langs/genie.d.js +1 -5
  334. package/lib/commonjs/vendor/shiki/langs/genie.js +1 -6
  335. package/lib/commonjs/vendor/shiki/langs/genie.js.map +1 -1
  336. package/lib/commonjs/vendor/shiki/langs/gherkin.d.js +1 -5
  337. package/lib/commonjs/vendor/shiki/langs/gherkin.js +1 -6
  338. package/lib/commonjs/vendor/shiki/langs/gherkin.js.map +1 -1
  339. package/lib/commonjs/vendor/shiki/langs/git-commit.d.js +1 -5
  340. package/lib/commonjs/vendor/shiki/langs/git-commit.js +1 -6
  341. package/lib/commonjs/vendor/shiki/langs/git-commit.js.map +1 -1
  342. package/lib/commonjs/vendor/shiki/langs/git-rebase.d.js +1 -5
  343. package/lib/commonjs/vendor/shiki/langs/git-rebase.js +1 -6
  344. package/lib/commonjs/vendor/shiki/langs/git-rebase.js.map +1 -1
  345. package/lib/commonjs/vendor/shiki/langs/gjs.d.js +1 -5
  346. package/lib/commonjs/vendor/shiki/langs/gjs.js +1 -7
  347. package/lib/commonjs/vendor/shiki/langs/gjs.js.map +1 -1
  348. package/lib/commonjs/vendor/shiki/langs/gleam.d.js +1 -5
  349. package/lib/commonjs/vendor/shiki/langs/gleam.js +1 -6
  350. package/lib/commonjs/vendor/shiki/langs/gleam.js.map +1 -1
  351. package/lib/commonjs/vendor/shiki/langs/glimmer-js.d.js +1 -5
  352. package/lib/commonjs/vendor/shiki/langs/glimmer-js.js +1 -6
  353. package/lib/commonjs/vendor/shiki/langs/glimmer-js.js.map +1 -1
  354. package/lib/commonjs/vendor/shiki/langs/glimmer-ts.d.js +1 -5
  355. package/lib/commonjs/vendor/shiki/langs/glimmer-ts.js +1 -6
  356. package/lib/commonjs/vendor/shiki/langs/glimmer-ts.js.map +1 -1
  357. package/lib/commonjs/vendor/shiki/langs/glsl.d.js +1 -5
  358. package/lib/commonjs/vendor/shiki/langs/glsl.js +1 -6
  359. package/lib/commonjs/vendor/shiki/langs/glsl.js.map +1 -1
  360. package/lib/commonjs/vendor/shiki/langs/gnuplot.d.js +1 -5
  361. package/lib/commonjs/vendor/shiki/langs/gnuplot.js +1 -6
  362. package/lib/commonjs/vendor/shiki/langs/gnuplot.js.map +1 -1
  363. package/lib/commonjs/vendor/shiki/langs/go.d.js +1 -5
  364. package/lib/commonjs/vendor/shiki/langs/go.js +1 -6
  365. package/lib/commonjs/vendor/shiki/langs/go.js.map +1 -1
  366. package/lib/commonjs/vendor/shiki/langs/gql.d.js +1 -5
  367. package/lib/commonjs/vendor/shiki/langs/gql.js +1 -7
  368. package/lib/commonjs/vendor/shiki/langs/gql.js.map +1 -1
  369. package/lib/commonjs/vendor/shiki/langs/graphql.d.js +1 -5
  370. package/lib/commonjs/vendor/shiki/langs/graphql.js +1 -6
  371. package/lib/commonjs/vendor/shiki/langs/graphql.js.map +1 -1
  372. package/lib/commonjs/vendor/shiki/langs/groovy.d.js +1 -5
  373. package/lib/commonjs/vendor/shiki/langs/groovy.js +1 -6
  374. package/lib/commonjs/vendor/shiki/langs/groovy.js.map +1 -1
  375. package/lib/commonjs/vendor/shiki/langs/gts.d.js +1 -5
  376. package/lib/commonjs/vendor/shiki/langs/gts.js +1 -7
  377. package/lib/commonjs/vendor/shiki/langs/gts.js.map +1 -1
  378. package/lib/commonjs/vendor/shiki/langs/hack.d.js +1 -5
  379. package/lib/commonjs/vendor/shiki/langs/hack.js +1 -6
  380. package/lib/commonjs/vendor/shiki/langs/hack.js.map +1 -1
  381. package/lib/commonjs/vendor/shiki/langs/haml.d.js +1 -5
  382. package/lib/commonjs/vendor/shiki/langs/haml.js +1 -6
  383. package/lib/commonjs/vendor/shiki/langs/haml.js.map +1 -1
  384. package/lib/commonjs/vendor/shiki/langs/handlebars.d.js +1 -5
  385. package/lib/commonjs/vendor/shiki/langs/handlebars.js +1 -6
  386. package/lib/commonjs/vendor/shiki/langs/handlebars.js.map +1 -1
  387. package/lib/commonjs/vendor/shiki/langs/haskell.d.js +1 -5
  388. package/lib/commonjs/vendor/shiki/langs/haskell.js +1 -6
  389. package/lib/commonjs/vendor/shiki/langs/haskell.js.map +1 -1
  390. package/lib/commonjs/vendor/shiki/langs/haxe.d.js +1 -5
  391. package/lib/commonjs/vendor/shiki/langs/haxe.js +1 -6
  392. package/lib/commonjs/vendor/shiki/langs/haxe.js.map +1 -1
  393. package/lib/commonjs/vendor/shiki/langs/hbs.d.js +1 -5
  394. package/lib/commonjs/vendor/shiki/langs/hbs.js +1 -54
  395. package/lib/commonjs/vendor/shiki/langs/hbs.js.map +1 -1
  396. package/lib/commonjs/vendor/shiki/langs/hcl.d.js +1 -5
  397. package/lib/commonjs/vendor/shiki/langs/hcl.js +1 -6
  398. package/lib/commonjs/vendor/shiki/langs/hcl.js.map +1 -1
  399. package/lib/commonjs/vendor/shiki/langs/hjson.d.js +1 -5
  400. package/lib/commonjs/vendor/shiki/langs/hjson.js +1 -6
  401. package/lib/commonjs/vendor/shiki/langs/hjson.js.map +1 -1
  402. package/lib/commonjs/vendor/shiki/langs/hlsl.d.js +1 -5
  403. package/lib/commonjs/vendor/shiki/langs/hlsl.js +1 -6
  404. package/lib/commonjs/vendor/shiki/langs/hlsl.js.map +1 -1
  405. package/lib/commonjs/vendor/shiki/langs/hs.d.js +1 -5
  406. package/lib/commonjs/vendor/shiki/langs/hs.js +1 -38
  407. package/lib/commonjs/vendor/shiki/langs/hs.js.map +1 -1
  408. package/lib/commonjs/vendor/shiki/langs/html-derivative.d.js +1 -5
  409. package/lib/commonjs/vendor/shiki/langs/html-derivative.js +1 -6
  410. package/lib/commonjs/vendor/shiki/langs/html-derivative.js.map +1 -1
  411. package/lib/commonjs/vendor/shiki/langs/html.d.js +1 -5
  412. package/lib/commonjs/vendor/shiki/langs/html.js +1 -6
  413. package/lib/commonjs/vendor/shiki/langs/html.js.map +1 -1
  414. package/lib/commonjs/vendor/shiki/langs/http.d.js +1 -5
  415. package/lib/commonjs/vendor/shiki/langs/http.js +1 -6
  416. package/lib/commonjs/vendor/shiki/langs/http.js.map +1 -1
  417. package/lib/commonjs/vendor/shiki/langs/hxml.d.js +1 -5
  418. package/lib/commonjs/vendor/shiki/langs/hxml.js +1 -6
  419. package/lib/commonjs/vendor/shiki/langs/hxml.js.map +1 -1
  420. package/lib/commonjs/vendor/shiki/langs/hy.d.js +1 -5
  421. package/lib/commonjs/vendor/shiki/langs/hy.js +1 -6
  422. package/lib/commonjs/vendor/shiki/langs/hy.js.map +1 -1
  423. package/lib/commonjs/vendor/shiki/langs/imba.d.js +1 -5
  424. package/lib/commonjs/vendor/shiki/langs/imba.js +1 -6
  425. package/lib/commonjs/vendor/shiki/langs/imba.js.map +1 -1
  426. package/lib/commonjs/vendor/shiki/langs/ini.d.js +1 -5
  427. package/lib/commonjs/vendor/shiki/langs/ini.js +1 -6
  428. package/lib/commonjs/vendor/shiki/langs/ini.js.map +1 -1
  429. package/lib/commonjs/vendor/shiki/langs/jade.d.js +1 -5
  430. package/lib/commonjs/vendor/shiki/langs/jade.js +1 -50
  431. package/lib/commonjs/vendor/shiki/langs/jade.js.map +1 -1
  432. package/lib/commonjs/vendor/shiki/langs/java.d.js +1 -5
  433. package/lib/commonjs/vendor/shiki/langs/java.js +1 -6
  434. package/lib/commonjs/vendor/shiki/langs/java.js.map +1 -1
  435. package/lib/commonjs/vendor/shiki/langs/javascript.d.js +1 -5
  436. package/lib/commonjs/vendor/shiki/langs/javascript.js +1 -6
  437. package/lib/commonjs/vendor/shiki/langs/javascript.js.map +1 -1
  438. package/lib/commonjs/vendor/shiki/langs/jinja-html.d.js +1 -5
  439. package/lib/commonjs/vendor/shiki/langs/jinja-html.js +1 -6
  440. package/lib/commonjs/vendor/shiki/langs/jinja-html.js.map +1 -1
  441. package/lib/commonjs/vendor/shiki/langs/jinja.d.js +1 -5
  442. package/lib/commonjs/vendor/shiki/langs/jinja.js +1 -6
  443. package/lib/commonjs/vendor/shiki/langs/jinja.js.map +1 -1
  444. package/lib/commonjs/vendor/shiki/langs/jison.d.js +1 -5
  445. package/lib/commonjs/vendor/shiki/langs/jison.js +1 -6
  446. package/lib/commonjs/vendor/shiki/langs/jison.js.map +1 -1
  447. package/lib/commonjs/vendor/shiki/langs/jl.d.js +1 -5
  448. package/lib/commonjs/vendor/shiki/langs/jl.js +1 -12
  449. package/lib/commonjs/vendor/shiki/langs/jl.js.map +1 -1
  450. package/lib/commonjs/vendor/shiki/langs/js.d.js +1 -5
  451. package/lib/commonjs/vendor/shiki/langs/js.js +1 -38
  452. package/lib/commonjs/vendor/shiki/langs/js.js.map +1 -1
  453. package/lib/commonjs/vendor/shiki/langs/json.d.js +1 -5
  454. package/lib/commonjs/vendor/shiki/langs/json.js +1 -6
  455. package/lib/commonjs/vendor/shiki/langs/json.js.map +1 -1
  456. package/lib/commonjs/vendor/shiki/langs/json5.d.js +1 -5
  457. package/lib/commonjs/vendor/shiki/langs/json5.js +1 -6
  458. package/lib/commonjs/vendor/shiki/langs/json5.js.map +1 -1
  459. package/lib/commonjs/vendor/shiki/langs/jsonc.d.js +1 -5
  460. package/lib/commonjs/vendor/shiki/langs/jsonc.js +1 -6
  461. package/lib/commonjs/vendor/shiki/langs/jsonc.js.map +1 -1
  462. package/lib/commonjs/vendor/shiki/langs/jsonl.d.js +1 -5
  463. package/lib/commonjs/vendor/shiki/langs/jsonl.js +1 -6
  464. package/lib/commonjs/vendor/shiki/langs/jsonl.js.map +1 -1
  465. package/lib/commonjs/vendor/shiki/langs/jsonnet.d.js +1 -5
  466. package/lib/commonjs/vendor/shiki/langs/jsonnet.js +1 -6
  467. package/lib/commonjs/vendor/shiki/langs/jsonnet.js.map +1 -1
  468. package/lib/commonjs/vendor/shiki/langs/jssm.d.js +1 -5
  469. package/lib/commonjs/vendor/shiki/langs/jssm.js +1 -6
  470. package/lib/commonjs/vendor/shiki/langs/jssm.js.map +1 -1
  471. package/lib/commonjs/vendor/shiki/langs/jsx.d.js +1 -5
  472. package/lib/commonjs/vendor/shiki/langs/jsx.js +1 -6
  473. package/lib/commonjs/vendor/shiki/langs/jsx.js.map +1 -1
  474. package/lib/commonjs/vendor/shiki/langs/julia.d.js +1 -5
  475. package/lib/commonjs/vendor/shiki/langs/julia.js +1 -6
  476. package/lib/commonjs/vendor/shiki/langs/julia.js.map +1 -1
  477. package/lib/commonjs/vendor/shiki/langs/kotlin.d.js +1 -5
  478. package/lib/commonjs/vendor/shiki/langs/kotlin.js +1 -6
  479. package/lib/commonjs/vendor/shiki/langs/kotlin.js.map +1 -1
  480. package/lib/commonjs/vendor/shiki/langs/kql.d.js +1 -5
  481. package/lib/commonjs/vendor/shiki/langs/kql.js +1 -38
  482. package/lib/commonjs/vendor/shiki/langs/kql.js.map +1 -1
  483. package/lib/commonjs/vendor/shiki/langs/kt.d.js +1 -5
  484. package/lib/commonjs/vendor/shiki/langs/kt.js +1 -38
  485. package/lib/commonjs/vendor/shiki/langs/kt.js.map +1 -1
  486. package/lib/commonjs/vendor/shiki/langs/kts.d.js +1 -5
  487. package/lib/commonjs/vendor/shiki/langs/kts.js +1 -38
  488. package/lib/commonjs/vendor/shiki/langs/kts.js.map +1 -1
  489. package/lib/commonjs/vendor/shiki/langs/kusto.d.js +1 -5
  490. package/lib/commonjs/vendor/shiki/langs/kusto.js +1 -6
  491. package/lib/commonjs/vendor/shiki/langs/kusto.js.map +1 -1
  492. package/lib/commonjs/vendor/shiki/langs/latex.d.js +1 -5
  493. package/lib/commonjs/vendor/shiki/langs/latex.js +1 -6
  494. package/lib/commonjs/vendor/shiki/langs/latex.js.map +1 -1
  495. package/lib/commonjs/vendor/shiki/langs/lean.d.js +1 -5
  496. package/lib/commonjs/vendor/shiki/langs/lean.js +1 -6
  497. package/lib/commonjs/vendor/shiki/langs/lean.js.map +1 -1
  498. package/lib/commonjs/vendor/shiki/langs/lean4.d.js +1 -5
  499. package/lib/commonjs/vendor/shiki/langs/lean4.js +1 -38
  500. package/lib/commonjs/vendor/shiki/langs/lean4.js.map +1 -1
  501. package/lib/commonjs/vendor/shiki/langs/less.d.js +1 -5
  502. package/lib/commonjs/vendor/shiki/langs/less.js +1 -6
  503. package/lib/commonjs/vendor/shiki/langs/less.js.map +1 -1
  504. package/lib/commonjs/vendor/shiki/langs/liquid.d.js +1 -5
  505. package/lib/commonjs/vendor/shiki/langs/liquid.js +1 -6
  506. package/lib/commonjs/vendor/shiki/langs/liquid.js.map +1 -1
  507. package/lib/commonjs/vendor/shiki/langs/lisp.d.js +1 -5
  508. package/lib/commonjs/vendor/shiki/langs/lisp.js +1 -38
  509. package/lib/commonjs/vendor/shiki/langs/lisp.js.map +1 -1
  510. package/lib/commonjs/vendor/shiki/langs/lit.d.js +1 -5
  511. package/lib/commonjs/vendor/shiki/langs/lit.js +1 -17
  512. package/lib/commonjs/vendor/shiki/langs/lit.js.map +1 -1
  513. package/lib/commonjs/vendor/shiki/langs/log.d.js +1 -5
  514. package/lib/commonjs/vendor/shiki/langs/log.js +1 -6
  515. package/lib/commonjs/vendor/shiki/langs/log.js.map +1 -1
  516. package/lib/commonjs/vendor/shiki/langs/logo.d.js +1 -5
  517. package/lib/commonjs/vendor/shiki/langs/logo.js +1 -6
  518. package/lib/commonjs/vendor/shiki/langs/logo.js.map +1 -1
  519. package/lib/commonjs/vendor/shiki/langs/lua.d.js +1 -5
  520. package/lib/commonjs/vendor/shiki/langs/lua.js +1 -6
  521. package/lib/commonjs/vendor/shiki/langs/lua.js.map +1 -1
  522. package/lib/commonjs/vendor/shiki/langs/luau.d.js +1 -5
  523. package/lib/commonjs/vendor/shiki/langs/luau.js +1 -6
  524. package/lib/commonjs/vendor/shiki/langs/luau.js.map +1 -1
  525. package/lib/commonjs/vendor/shiki/langs/make.d.js +1 -5
  526. package/lib/commonjs/vendor/shiki/langs/make.js +1 -6
  527. package/lib/commonjs/vendor/shiki/langs/make.js.map +1 -1
  528. package/lib/commonjs/vendor/shiki/langs/makefile.d.js +1 -5
  529. package/lib/commonjs/vendor/shiki/langs/makefile.js +1 -38
  530. package/lib/commonjs/vendor/shiki/langs/makefile.js.map +1 -1
  531. package/lib/commonjs/vendor/shiki/langs/markdown-vue.d.js +1 -5
  532. package/lib/commonjs/vendor/shiki/langs/markdown-vue.js +1 -6
  533. package/lib/commonjs/vendor/shiki/langs/markdown-vue.js.map +1 -1
  534. package/lib/commonjs/vendor/shiki/langs/markdown.d.js +1 -5
  535. package/lib/commonjs/vendor/shiki/langs/markdown.js +1 -6
  536. package/lib/commonjs/vendor/shiki/langs/markdown.js.map +1 -1
  537. package/lib/commonjs/vendor/shiki/langs/marko.d.js +1 -5
  538. package/lib/commonjs/vendor/shiki/langs/marko.js +1 -6
  539. package/lib/commonjs/vendor/shiki/langs/marko.js.map +1 -1
  540. package/lib/commonjs/vendor/shiki/langs/matlab.d.js +1 -5
  541. package/lib/commonjs/vendor/shiki/langs/matlab.js +1 -6
  542. package/lib/commonjs/vendor/shiki/langs/matlab.js.map +1 -1
  543. package/lib/commonjs/vendor/shiki/langs/md.d.js +1 -5
  544. package/lib/commonjs/vendor/shiki/langs/md.js +1 -38
  545. package/lib/commonjs/vendor/shiki/langs/md.js.map +1 -1
  546. package/lib/commonjs/vendor/shiki/langs/mdc.d.js +1 -5
  547. package/lib/commonjs/vendor/shiki/langs/mdc.js +1 -6
  548. package/lib/commonjs/vendor/shiki/langs/mdc.js.map +1 -1
  549. package/lib/commonjs/vendor/shiki/langs/mdx.d.js +1 -5
  550. package/lib/commonjs/vendor/shiki/langs/mdx.js +1 -6
  551. package/lib/commonjs/vendor/shiki/langs/mdx.js.map +1 -1
  552. package/lib/commonjs/vendor/shiki/langs/mediawiki.d.js +1 -5
  553. package/lib/commonjs/vendor/shiki/langs/mediawiki.js +1 -38
  554. package/lib/commonjs/vendor/shiki/langs/mediawiki.js.map +1 -1
  555. package/lib/commonjs/vendor/shiki/langs/mermaid.d.js +1 -5
  556. package/lib/commonjs/vendor/shiki/langs/mermaid.js +1 -6
  557. package/lib/commonjs/vendor/shiki/langs/mermaid.js.map +1 -1
  558. package/lib/commonjs/vendor/shiki/langs/mips.d.js +1 -5
  559. package/lib/commonjs/vendor/shiki/langs/mips.js +1 -38
  560. package/lib/commonjs/vendor/shiki/langs/mips.js.map +1 -1
  561. package/lib/commonjs/vendor/shiki/langs/mipsasm.d.js +1 -5
  562. package/lib/commonjs/vendor/shiki/langs/mipsasm.js +1 -6
  563. package/lib/commonjs/vendor/shiki/langs/mipsasm.js.map +1 -1
  564. package/lib/commonjs/vendor/shiki/langs/mmd.d.js +1 -5
  565. package/lib/commonjs/vendor/shiki/langs/mmd.js +1 -38
  566. package/lib/commonjs/vendor/shiki/langs/mmd.js.map +1 -1
  567. package/lib/commonjs/vendor/shiki/langs/mojo.d.js +1 -5
  568. package/lib/commonjs/vendor/shiki/langs/mojo.js +1 -6
  569. package/lib/commonjs/vendor/shiki/langs/mojo.js.map +1 -1
  570. package/lib/commonjs/vendor/shiki/langs/move.d.js +1 -5
  571. package/lib/commonjs/vendor/shiki/langs/move.js +1 -6
  572. package/lib/commonjs/vendor/shiki/langs/move.js.map +1 -1
  573. package/lib/commonjs/vendor/shiki/langs/nar.d.js +1 -5
  574. package/lib/commonjs/vendor/shiki/langs/nar.js +1 -38
  575. package/lib/commonjs/vendor/shiki/langs/nar.js.map +1 -1
  576. package/lib/commonjs/vendor/shiki/langs/narrat.d.js +1 -5
  577. package/lib/commonjs/vendor/shiki/langs/narrat.js +1 -6
  578. package/lib/commonjs/vendor/shiki/langs/narrat.js.map +1 -1
  579. package/lib/commonjs/vendor/shiki/langs/nextflow.d.js +1 -5
  580. package/lib/commonjs/vendor/shiki/langs/nextflow.js +1 -6
  581. package/lib/commonjs/vendor/shiki/langs/nextflow.js.map +1 -1
  582. package/lib/commonjs/vendor/shiki/langs/nf.d.js +1 -5
  583. package/lib/commonjs/vendor/shiki/langs/nf.js +1 -38
  584. package/lib/commonjs/vendor/shiki/langs/nf.js.map +1 -1
  585. package/lib/commonjs/vendor/shiki/langs/nginx.d.js +1 -5
  586. package/lib/commonjs/vendor/shiki/langs/nginx.js +1 -6
  587. package/lib/commonjs/vendor/shiki/langs/nginx.js.map +1 -1
  588. package/lib/commonjs/vendor/shiki/langs/nim.d.js +1 -5
  589. package/lib/commonjs/vendor/shiki/langs/nim.js +1 -6
  590. package/lib/commonjs/vendor/shiki/langs/nim.js.map +1 -1
  591. package/lib/commonjs/vendor/shiki/langs/nix.d.js +1 -5
  592. package/lib/commonjs/vendor/shiki/langs/nix.js +1 -6
  593. package/lib/commonjs/vendor/shiki/langs/nix.js.map +1 -1
  594. package/lib/commonjs/vendor/shiki/langs/nu.d.js +1 -5
  595. package/lib/commonjs/vendor/shiki/langs/nu.js +1 -38
  596. package/lib/commonjs/vendor/shiki/langs/nu.js.map +1 -1
  597. package/lib/commonjs/vendor/shiki/langs/nushell.d.js +1 -5
  598. package/lib/commonjs/vendor/shiki/langs/nushell.js +1 -6
  599. package/lib/commonjs/vendor/shiki/langs/nushell.js.map +1 -1
  600. package/lib/commonjs/vendor/shiki/langs/objc.d.js +1 -5
  601. package/lib/commonjs/vendor/shiki/langs/objc.js +1 -38
  602. package/lib/commonjs/vendor/shiki/langs/objc.js.map +1 -1
  603. package/lib/commonjs/vendor/shiki/langs/objective-c.d.js +1 -5
  604. package/lib/commonjs/vendor/shiki/langs/objective-c.js +1 -6
  605. package/lib/commonjs/vendor/shiki/langs/objective-c.js.map +1 -1
  606. package/lib/commonjs/vendor/shiki/langs/objective-cpp.d.js +1 -5
  607. package/lib/commonjs/vendor/shiki/langs/objective-cpp.js +1 -6
  608. package/lib/commonjs/vendor/shiki/langs/objective-cpp.js.map +1 -1
  609. package/lib/commonjs/vendor/shiki/langs/ocaml.d.js +1 -5
  610. package/lib/commonjs/vendor/shiki/langs/ocaml.js +1 -6
  611. package/lib/commonjs/vendor/shiki/langs/ocaml.js.map +1 -1
  612. package/lib/commonjs/vendor/shiki/langs/pascal.d.js +1 -5
  613. package/lib/commonjs/vendor/shiki/langs/pascal.js +1 -6
  614. package/lib/commonjs/vendor/shiki/langs/pascal.js.map +1 -1
  615. package/lib/commonjs/vendor/shiki/langs/perl.d.js +1 -5
  616. package/lib/commonjs/vendor/shiki/langs/perl.js +1 -6
  617. package/lib/commonjs/vendor/shiki/langs/perl.js.map +1 -1
  618. package/lib/commonjs/vendor/shiki/langs/perl6.d.js +1 -5
  619. package/lib/commonjs/vendor/shiki/langs/perl6.js +1 -38
  620. package/lib/commonjs/vendor/shiki/langs/perl6.js.map +1 -1
  621. package/lib/commonjs/vendor/shiki/langs/php.d.js +1 -5
  622. package/lib/commonjs/vendor/shiki/langs/php.js +1 -6
  623. package/lib/commonjs/vendor/shiki/langs/php.js.map +1 -1
  624. package/lib/commonjs/vendor/shiki/langs/plsql.d.js +1 -5
  625. package/lib/commonjs/vendor/shiki/langs/plsql.js +1 -6
  626. package/lib/commonjs/vendor/shiki/langs/plsql.js.map +1 -1
  627. package/lib/commonjs/vendor/shiki/langs/po.d.js +1 -5
  628. package/lib/commonjs/vendor/shiki/langs/po.js +1 -6
  629. package/lib/commonjs/vendor/shiki/langs/po.js.map +1 -1
  630. package/lib/commonjs/vendor/shiki/langs/postcss.d.js +1 -5
  631. package/lib/commonjs/vendor/shiki/langs/postcss.js +1 -6
  632. package/lib/commonjs/vendor/shiki/langs/postcss.js.map +1 -1
  633. package/lib/commonjs/vendor/shiki/langs/pot.d.js +1 -5
  634. package/lib/commonjs/vendor/shiki/langs/pot.js +1 -38
  635. package/lib/commonjs/vendor/shiki/langs/pot.js.map +1 -1
  636. package/lib/commonjs/vendor/shiki/langs/potx.d.js +1 -5
  637. package/lib/commonjs/vendor/shiki/langs/potx.js +1 -38
  638. package/lib/commonjs/vendor/shiki/langs/potx.js.map +1 -1
  639. package/lib/commonjs/vendor/shiki/langs/powerquery.d.js +1 -5
  640. package/lib/commonjs/vendor/shiki/langs/powerquery.js +1 -6
  641. package/lib/commonjs/vendor/shiki/langs/powerquery.js.map +1 -1
  642. package/lib/commonjs/vendor/shiki/langs/powershell.d.js +1 -5
  643. package/lib/commonjs/vendor/shiki/langs/powershell.js +1 -6
  644. package/lib/commonjs/vendor/shiki/langs/powershell.js.map +1 -1
  645. package/lib/commonjs/vendor/shiki/langs/prisma.d.js +1 -5
  646. package/lib/commonjs/vendor/shiki/langs/prisma.js +1 -6
  647. package/lib/commonjs/vendor/shiki/langs/prisma.js.map +1 -1
  648. package/lib/commonjs/vendor/shiki/langs/prolog.d.js +1 -5
  649. package/lib/commonjs/vendor/shiki/langs/prolog.js +1 -6
  650. package/lib/commonjs/vendor/shiki/langs/prolog.js.map +1 -1
  651. package/lib/commonjs/vendor/shiki/langs/properties.d.js +1 -5
  652. package/lib/commonjs/vendor/shiki/langs/properties.js +1 -38
  653. package/lib/commonjs/vendor/shiki/langs/properties.js.map +1 -1
  654. package/lib/commonjs/vendor/shiki/langs/proto.d.js +1 -5
  655. package/lib/commonjs/vendor/shiki/langs/proto.js +1 -6
  656. package/lib/commonjs/vendor/shiki/langs/proto.js.map +1 -1
  657. package/lib/commonjs/vendor/shiki/langs/protobuf.d.js +1 -5
  658. package/lib/commonjs/vendor/shiki/langs/protobuf.js +1 -38
  659. package/lib/commonjs/vendor/shiki/langs/protobuf.js.map +1 -1
  660. package/lib/commonjs/vendor/shiki/langs/ps.d.js +1 -5
  661. package/lib/commonjs/vendor/shiki/langs/ps.js +1 -38
  662. package/lib/commonjs/vendor/shiki/langs/ps.js.map +1 -1
  663. package/lib/commonjs/vendor/shiki/langs/ps1.d.js +1 -5
  664. package/lib/commonjs/vendor/shiki/langs/ps1.js +1 -38
  665. package/lib/commonjs/vendor/shiki/langs/ps1.js.map +1 -1
  666. package/lib/commonjs/vendor/shiki/langs/pug.d.js +1 -5
  667. package/lib/commonjs/vendor/shiki/langs/pug.js +1 -6
  668. package/lib/commonjs/vendor/shiki/langs/pug.js.map +1 -1
  669. package/lib/commonjs/vendor/shiki/langs/puppet.d.js +1 -5
  670. package/lib/commonjs/vendor/shiki/langs/puppet.js +1 -6
  671. package/lib/commonjs/vendor/shiki/langs/puppet.js.map +1 -1
  672. package/lib/commonjs/vendor/shiki/langs/purescript.d.js +1 -5
  673. package/lib/commonjs/vendor/shiki/langs/purescript.js +1 -6
  674. package/lib/commonjs/vendor/shiki/langs/purescript.js.map +1 -1
  675. package/lib/commonjs/vendor/shiki/langs/py.d.js +1 -5
  676. package/lib/commonjs/vendor/shiki/langs/py.js +1 -38
  677. package/lib/commonjs/vendor/shiki/langs/py.js.map +1 -1
  678. package/lib/commonjs/vendor/shiki/langs/python.d.js +1 -5
  679. package/lib/commonjs/vendor/shiki/langs/python.js +1 -6
  680. package/lib/commonjs/vendor/shiki/langs/python.js.map +1 -1
  681. package/lib/commonjs/vendor/shiki/langs/ql.d.js +1 -5
  682. package/lib/commonjs/vendor/shiki/langs/ql.js +1 -38
  683. package/lib/commonjs/vendor/shiki/langs/ql.js.map +1 -1
  684. package/lib/commonjs/vendor/shiki/langs/qml.d.js +1 -5
  685. package/lib/commonjs/vendor/shiki/langs/qml.js +1 -6
  686. package/lib/commonjs/vendor/shiki/langs/qml.js.map +1 -1
  687. package/lib/commonjs/vendor/shiki/langs/qmldir.d.js +1 -5
  688. package/lib/commonjs/vendor/shiki/langs/qmldir.js +1 -6
  689. package/lib/commonjs/vendor/shiki/langs/qmldir.js.map +1 -1
  690. package/lib/commonjs/vendor/shiki/langs/qss.d.js +1 -5
  691. package/lib/commonjs/vendor/shiki/langs/qss.js +1 -6
  692. package/lib/commonjs/vendor/shiki/langs/qss.js.map +1 -1
  693. package/lib/commonjs/vendor/shiki/langs/r.d.js +1 -5
  694. package/lib/commonjs/vendor/shiki/langs/r.js +1 -6
  695. package/lib/commonjs/vendor/shiki/langs/r.js.map +1 -1
  696. package/lib/commonjs/vendor/shiki/langs/racket.d.js +1 -5
  697. package/lib/commonjs/vendor/shiki/langs/racket.js +1 -6
  698. package/lib/commonjs/vendor/shiki/langs/racket.js.map +1 -1
  699. package/lib/commonjs/vendor/shiki/langs/raku.d.js +1 -5
  700. package/lib/commonjs/vendor/shiki/langs/raku.js +1 -6
  701. package/lib/commonjs/vendor/shiki/langs/raku.js.map +1 -1
  702. package/lib/commonjs/vendor/shiki/langs/razor.d.js +1 -5
  703. package/lib/commonjs/vendor/shiki/langs/razor.js +1 -6
  704. package/lib/commonjs/vendor/shiki/langs/razor.js.map +1 -1
  705. package/lib/commonjs/vendor/shiki/langs/rb.d.js +1 -5
  706. package/lib/commonjs/vendor/shiki/langs/rb.js +1 -12
  707. package/lib/commonjs/vendor/shiki/langs/rb.js.map +1 -1
  708. package/lib/commonjs/vendor/shiki/langs/reg.d.js +1 -5
  709. package/lib/commonjs/vendor/shiki/langs/reg.js +1 -6
  710. package/lib/commonjs/vendor/shiki/langs/reg.js.map +1 -1
  711. package/lib/commonjs/vendor/shiki/langs/regex.d.js +1 -5
  712. package/lib/commonjs/vendor/shiki/langs/regex.js +1 -38
  713. package/lib/commonjs/vendor/shiki/langs/regex.js.map +1 -1
  714. package/lib/commonjs/vendor/shiki/langs/regexp.d.js +1 -5
  715. package/lib/commonjs/vendor/shiki/langs/regexp.js +1 -6
  716. package/lib/commonjs/vendor/shiki/langs/regexp.js.map +1 -1
  717. package/lib/commonjs/vendor/shiki/langs/rel.d.js +1 -5
  718. package/lib/commonjs/vendor/shiki/langs/rel.js +1 -6
  719. package/lib/commonjs/vendor/shiki/langs/rel.js.map +1 -1
  720. package/lib/commonjs/vendor/shiki/langs/riscv.d.js +1 -5
  721. package/lib/commonjs/vendor/shiki/langs/riscv.js +1 -6
  722. package/lib/commonjs/vendor/shiki/langs/riscv.js.map +1 -1
  723. package/lib/commonjs/vendor/shiki/langs/rs.d.js +1 -5
  724. package/lib/commonjs/vendor/shiki/langs/rs.js +1 -38
  725. package/lib/commonjs/vendor/shiki/langs/rs.js.map +1 -1
  726. package/lib/commonjs/vendor/shiki/langs/rst.d.js +1 -5
  727. package/lib/commonjs/vendor/shiki/langs/rst.js +1 -6
  728. package/lib/commonjs/vendor/shiki/langs/rst.js.map +1 -1
  729. package/lib/commonjs/vendor/shiki/langs/ruby.d.js +1 -5
  730. package/lib/commonjs/vendor/shiki/langs/ruby.js +1 -6
  731. package/lib/commonjs/vendor/shiki/langs/ruby.js.map +1 -1
  732. package/lib/commonjs/vendor/shiki/langs/rust.d.js +1 -5
  733. package/lib/commonjs/vendor/shiki/langs/rust.js +1 -6
  734. package/lib/commonjs/vendor/shiki/langs/rust.js.map +1 -1
  735. package/lib/commonjs/vendor/shiki/langs/sas.d.js +1 -5
  736. package/lib/commonjs/vendor/shiki/langs/sas.js +1 -6
  737. package/lib/commonjs/vendor/shiki/langs/sas.js.map +1 -1
  738. package/lib/commonjs/vendor/shiki/langs/sass.d.js +1 -5
  739. package/lib/commonjs/vendor/shiki/langs/sass.js +1 -6
  740. package/lib/commonjs/vendor/shiki/langs/sass.js.map +1 -1
  741. package/lib/commonjs/vendor/shiki/langs/scala.d.js +1 -5
  742. package/lib/commonjs/vendor/shiki/langs/scala.js +1 -6
  743. package/lib/commonjs/vendor/shiki/langs/scala.js.map +1 -1
  744. package/lib/commonjs/vendor/shiki/langs/scheme.d.js +1 -5
  745. package/lib/commonjs/vendor/shiki/langs/scheme.js +1 -6
  746. package/lib/commonjs/vendor/shiki/langs/scheme.js.map +1 -1
  747. package/lib/commonjs/vendor/shiki/langs/scss.d.js +1 -5
  748. package/lib/commonjs/vendor/shiki/langs/scss.js +1 -6
  749. package/lib/commonjs/vendor/shiki/langs/scss.js.map +1 -1
  750. package/lib/commonjs/vendor/shiki/langs/sh.d.js +1 -5
  751. package/lib/commonjs/vendor/shiki/langs/sh.js +1 -38
  752. package/lib/commonjs/vendor/shiki/langs/sh.js.map +1 -1
  753. package/lib/commonjs/vendor/shiki/langs/shader.d.js +1 -5
  754. package/lib/commonjs/vendor/shiki/langs/shader.js +1 -42
  755. package/lib/commonjs/vendor/shiki/langs/shader.js.map +1 -1
  756. package/lib/commonjs/vendor/shiki/langs/shaderlab.d.js +1 -5
  757. package/lib/commonjs/vendor/shiki/langs/shaderlab.js +1 -6
  758. package/lib/commonjs/vendor/shiki/langs/shaderlab.js.map +1 -1
  759. package/lib/commonjs/vendor/shiki/langs/shell.d.js +1 -5
  760. package/lib/commonjs/vendor/shiki/langs/shell.js +1 -38
  761. package/lib/commonjs/vendor/shiki/langs/shell.js.map +1 -1
  762. package/lib/commonjs/vendor/shiki/langs/shellscript.d.js +1 -5
  763. package/lib/commonjs/vendor/shiki/langs/shellscript.js +1 -6
  764. package/lib/commonjs/vendor/shiki/langs/shellscript.js.map +1 -1
  765. package/lib/commonjs/vendor/shiki/langs/shellsession.d.js +1 -5
  766. package/lib/commonjs/vendor/shiki/langs/shellsession.js +1 -6
  767. package/lib/commonjs/vendor/shiki/langs/shellsession.js.map +1 -1
  768. package/lib/commonjs/vendor/shiki/langs/smalltalk.d.js +1 -5
  769. package/lib/commonjs/vendor/shiki/langs/smalltalk.js +1 -6
  770. package/lib/commonjs/vendor/shiki/langs/smalltalk.js.map +1 -1
  771. package/lib/commonjs/vendor/shiki/langs/solidity.d.js +1 -5
  772. package/lib/commonjs/vendor/shiki/langs/solidity.js +1 -6
  773. package/lib/commonjs/vendor/shiki/langs/solidity.js.map +1 -1
  774. package/lib/commonjs/vendor/shiki/langs/soy.d.js +1 -5
  775. package/lib/commonjs/vendor/shiki/langs/soy.js +1 -6
  776. package/lib/commonjs/vendor/shiki/langs/soy.js.map +1 -1
  777. package/lib/commonjs/vendor/shiki/langs/sparql.d.js +1 -5
  778. package/lib/commonjs/vendor/shiki/langs/sparql.js +1 -6
  779. package/lib/commonjs/vendor/shiki/langs/sparql.js.map +1 -1
  780. package/lib/commonjs/vendor/shiki/langs/spl.d.js +1 -5
  781. package/lib/commonjs/vendor/shiki/langs/spl.js +1 -38
  782. package/lib/commonjs/vendor/shiki/langs/spl.js.map +1 -1
  783. package/lib/commonjs/vendor/shiki/langs/splunk.d.js +1 -5
  784. package/lib/commonjs/vendor/shiki/langs/splunk.js +1 -6
  785. package/lib/commonjs/vendor/shiki/langs/splunk.js.map +1 -1
  786. package/lib/commonjs/vendor/shiki/langs/sql.d.js +1 -5
  787. package/lib/commonjs/vendor/shiki/langs/sql.js +1 -6
  788. package/lib/commonjs/vendor/shiki/langs/sql.js.map +1 -1
  789. package/lib/commonjs/vendor/shiki/langs/ssh-config.d.js +1 -5
  790. package/lib/commonjs/vendor/shiki/langs/ssh-config.js +1 -6
  791. package/lib/commonjs/vendor/shiki/langs/ssh-config.js.map +1 -1
  792. package/lib/commonjs/vendor/shiki/langs/stata.d.js +1 -5
  793. package/lib/commonjs/vendor/shiki/langs/stata.js +1 -6
  794. package/lib/commonjs/vendor/shiki/langs/stata.js.map +1 -1
  795. package/lib/commonjs/vendor/shiki/langs/styl.d.js +1 -5
  796. package/lib/commonjs/vendor/shiki/langs/styl.js +1 -38
  797. package/lib/commonjs/vendor/shiki/langs/styl.js.map +1 -1
  798. package/lib/commonjs/vendor/shiki/langs/stylus.d.js +1 -5
  799. package/lib/commonjs/vendor/shiki/langs/stylus.js +1 -6
  800. package/lib/commonjs/vendor/shiki/langs/stylus.js.map +1 -1
  801. package/lib/commonjs/vendor/shiki/langs/svelte.d.js +1 -5
  802. package/lib/commonjs/vendor/shiki/langs/svelte.js +1 -6
  803. package/lib/commonjs/vendor/shiki/langs/svelte.js.map +1 -1
  804. package/lib/commonjs/vendor/shiki/langs/swift.d.js +1 -5
  805. package/lib/commonjs/vendor/shiki/langs/swift.js +1 -6
  806. package/lib/commonjs/vendor/shiki/langs/swift.js.map +1 -1
  807. package/lib/commonjs/vendor/shiki/langs/system-verilog.d.js +1 -5
  808. package/lib/commonjs/vendor/shiki/langs/system-verilog.js +1 -6
  809. package/lib/commonjs/vendor/shiki/langs/system-verilog.js.map +1 -1
  810. package/lib/commonjs/vendor/shiki/langs/systemd.d.js +1 -5
  811. package/lib/commonjs/vendor/shiki/langs/systemd.js +1 -6
  812. package/lib/commonjs/vendor/shiki/langs/systemd.js.map +1 -1
  813. package/lib/commonjs/vendor/shiki/langs/tasl.d.js +1 -5
  814. package/lib/commonjs/vendor/shiki/langs/tasl.js +1 -6
  815. package/lib/commonjs/vendor/shiki/langs/tasl.js.map +1 -1
  816. package/lib/commonjs/vendor/shiki/langs/tcl.d.js +1 -5
  817. package/lib/commonjs/vendor/shiki/langs/tcl.js +1 -6
  818. package/lib/commonjs/vendor/shiki/langs/tcl.js.map +1 -1
  819. package/lib/commonjs/vendor/shiki/langs/templ.d.js +1 -5
  820. package/lib/commonjs/vendor/shiki/langs/templ.js +1 -6
  821. package/lib/commonjs/vendor/shiki/langs/templ.js.map +1 -1
  822. package/lib/commonjs/vendor/shiki/langs/terraform.d.js +1 -5
  823. package/lib/commonjs/vendor/shiki/langs/terraform.js +1 -6
  824. package/lib/commonjs/vendor/shiki/langs/terraform.js.map +1 -1
  825. package/lib/commonjs/vendor/shiki/langs/tex.d.js +1 -5
  826. package/lib/commonjs/vendor/shiki/langs/tex.js +1 -6
  827. package/lib/commonjs/vendor/shiki/langs/tex.js.map +1 -1
  828. package/lib/commonjs/vendor/shiki/langs/tf.d.js +1 -5
  829. package/lib/commonjs/vendor/shiki/langs/tf.js +1 -38
  830. package/lib/commonjs/vendor/shiki/langs/tf.js.map +1 -1
  831. package/lib/commonjs/vendor/shiki/langs/tfvars.d.js +1 -5
  832. package/lib/commonjs/vendor/shiki/langs/tfvars.js +1 -38
  833. package/lib/commonjs/vendor/shiki/langs/tfvars.js.map +1 -1
  834. package/lib/commonjs/vendor/shiki/langs/toml.d.js +1 -5
  835. package/lib/commonjs/vendor/shiki/langs/toml.js +1 -6
  836. package/lib/commonjs/vendor/shiki/langs/toml.js.map +1 -1
  837. package/lib/commonjs/vendor/shiki/langs/ts-tags.d.js +1 -5
  838. package/lib/commonjs/vendor/shiki/langs/ts-tags.js +1 -6
  839. package/lib/commonjs/vendor/shiki/langs/ts-tags.js.map +1 -1
  840. package/lib/commonjs/vendor/shiki/langs/ts.d.js +1 -5
  841. package/lib/commonjs/vendor/shiki/langs/ts.js +1 -38
  842. package/lib/commonjs/vendor/shiki/langs/ts.js.map +1 -1
  843. package/lib/commonjs/vendor/shiki/langs/tsp.d.js +1 -5
  844. package/lib/commonjs/vendor/shiki/langs/tsp.js +1 -38
  845. package/lib/commonjs/vendor/shiki/langs/tsp.js.map +1 -1
  846. package/lib/commonjs/vendor/shiki/langs/tsv.d.js +1 -5
  847. package/lib/commonjs/vendor/shiki/langs/tsv.js +1 -6
  848. package/lib/commonjs/vendor/shiki/langs/tsv.js.map +1 -1
  849. package/lib/commonjs/vendor/shiki/langs/tsx.d.js +1 -5
  850. package/lib/commonjs/vendor/shiki/langs/tsx.js +1 -6
  851. package/lib/commonjs/vendor/shiki/langs/tsx.js.map +1 -1
  852. package/lib/commonjs/vendor/shiki/langs/turtle.d.js +1 -5
  853. package/lib/commonjs/vendor/shiki/langs/turtle.js +1 -6
  854. package/lib/commonjs/vendor/shiki/langs/turtle.js.map +1 -1
  855. package/lib/commonjs/vendor/shiki/langs/twig.d.js +1 -5
  856. package/lib/commonjs/vendor/shiki/langs/twig.js +1 -6
  857. package/lib/commonjs/vendor/shiki/langs/twig.js.map +1 -1
  858. package/lib/commonjs/vendor/shiki/langs/typ.d.js +1 -5
  859. package/lib/commonjs/vendor/shiki/langs/typ.js +1 -38
  860. package/lib/commonjs/vendor/shiki/langs/typ.js.map +1 -1
  861. package/lib/commonjs/vendor/shiki/langs/typescript.d.js +1 -5
  862. package/lib/commonjs/vendor/shiki/langs/typescript.js +1 -6
  863. package/lib/commonjs/vendor/shiki/langs/typescript.js.map +1 -1
  864. package/lib/commonjs/vendor/shiki/langs/typespec.d.js +1 -5
  865. package/lib/commonjs/vendor/shiki/langs/typespec.js +1 -6
  866. package/lib/commonjs/vendor/shiki/langs/typespec.js.map +1 -1
  867. package/lib/commonjs/vendor/shiki/langs/typst.d.js +1 -5
  868. package/lib/commonjs/vendor/shiki/langs/typst.js +1 -6
  869. package/lib/commonjs/vendor/shiki/langs/typst.js.map +1 -1
  870. package/lib/commonjs/vendor/shiki/langs/v.d.js +1 -5
  871. package/lib/commonjs/vendor/shiki/langs/v.js +1 -6
  872. package/lib/commonjs/vendor/shiki/langs/v.js.map +1 -1
  873. package/lib/commonjs/vendor/shiki/langs/vala.d.js +1 -5
  874. package/lib/commonjs/vendor/shiki/langs/vala.js +1 -6
  875. package/lib/commonjs/vendor/shiki/langs/vala.js.map +1 -1
  876. package/lib/commonjs/vendor/shiki/langs/vb.d.js +1 -5
  877. package/lib/commonjs/vendor/shiki/langs/vb.js +1 -6
  878. package/lib/commonjs/vendor/shiki/langs/vb.js.map +1 -1
  879. package/lib/commonjs/vendor/shiki/langs/verilog.d.js +1 -5
  880. package/lib/commonjs/vendor/shiki/langs/verilog.js +1 -6
  881. package/lib/commonjs/vendor/shiki/langs/verilog.js.map +1 -1
  882. package/lib/commonjs/vendor/shiki/langs/vhdl.d.js +1 -5
  883. package/lib/commonjs/vendor/shiki/langs/vhdl.js +1 -6
  884. package/lib/commonjs/vendor/shiki/langs/vhdl.js.map +1 -1
  885. package/lib/commonjs/vendor/shiki/langs/vim.d.js +1 -5
  886. package/lib/commonjs/vendor/shiki/langs/vim.js +1 -38
  887. package/lib/commonjs/vendor/shiki/langs/vim.js.map +1 -1
  888. package/lib/commonjs/vendor/shiki/langs/viml.d.js +1 -5
  889. package/lib/commonjs/vendor/shiki/langs/viml.js +1 -6
  890. package/lib/commonjs/vendor/shiki/langs/viml.js.map +1 -1
  891. package/lib/commonjs/vendor/shiki/langs/vimscript.d.js +1 -5
  892. package/lib/commonjs/vendor/shiki/langs/vimscript.js +1 -38
  893. package/lib/commonjs/vendor/shiki/langs/vimscript.js.map +1 -1
  894. package/lib/commonjs/vendor/shiki/langs/vue-directives.d.js +1 -5
  895. package/lib/commonjs/vendor/shiki/langs/vue-directives.js +1 -6
  896. package/lib/commonjs/vendor/shiki/langs/vue-directives.js.map +1 -1
  897. package/lib/commonjs/vendor/shiki/langs/vue-html.d.js +1 -5
  898. package/lib/commonjs/vendor/shiki/langs/vue-html.js +1 -6
  899. package/lib/commonjs/vendor/shiki/langs/vue-html.js.map +1 -1
  900. package/lib/commonjs/vendor/shiki/langs/vue-interpolations.d.js +1 -5
  901. package/lib/commonjs/vendor/shiki/langs/vue-interpolations.js +1 -6
  902. package/lib/commonjs/vendor/shiki/langs/vue-interpolations.js.map +1 -1
  903. package/lib/commonjs/vendor/shiki/langs/vue-sfc-style-variable-injection.d.js +1 -5
  904. package/lib/commonjs/vendor/shiki/langs/vue-sfc-style-variable-injection.js +1 -6
  905. package/lib/commonjs/vendor/shiki/langs/vue-sfc-style-variable-injection.js.map +1 -1
  906. package/lib/commonjs/vendor/shiki/langs/vue.d.js +1 -5
  907. package/lib/commonjs/vendor/shiki/langs/vue.js +1 -6
  908. package/lib/commonjs/vendor/shiki/langs/vue.js.map +1 -1
  909. package/lib/commonjs/vendor/shiki/langs/vy.d.js +1 -5
  910. package/lib/commonjs/vendor/shiki/langs/vy.js +1 -38
  911. package/lib/commonjs/vendor/shiki/langs/vy.js.map +1 -1
  912. package/lib/commonjs/vendor/shiki/langs/vyper.d.js +1 -5
  913. package/lib/commonjs/vendor/shiki/langs/vyper.js +1 -6
  914. package/lib/commonjs/vendor/shiki/langs/vyper.js.map +1 -1
  915. package/lib/commonjs/vendor/shiki/langs/wasm.d.js +1 -5
  916. package/lib/commonjs/vendor/shiki/langs/wasm.js +1 -6
  917. package/lib/commonjs/vendor/shiki/langs/wasm.js.map +1 -1
  918. package/lib/commonjs/vendor/shiki/langs/wenyan.d.js +1 -5
  919. package/lib/commonjs/vendor/shiki/langs/wenyan.js +1 -6
  920. package/lib/commonjs/vendor/shiki/langs/wenyan.js.map +1 -1
  921. package/lib/commonjs/vendor/shiki/langs/wgsl.d.js +1 -5
  922. package/lib/commonjs/vendor/shiki/langs/wgsl.js +1 -6
  923. package/lib/commonjs/vendor/shiki/langs/wgsl.js.map +1 -1
  924. package/lib/commonjs/vendor/shiki/langs/wiki.d.js +1 -5
  925. package/lib/commonjs/vendor/shiki/langs/wiki.js +1 -38
  926. package/lib/commonjs/vendor/shiki/langs/wiki.js.map +1 -1
  927. package/lib/commonjs/vendor/shiki/langs/wikitext.d.js +1 -5
  928. package/lib/commonjs/vendor/shiki/langs/wikitext.js +1 -6
  929. package/lib/commonjs/vendor/shiki/langs/wikitext.js.map +1 -1
  930. package/lib/commonjs/vendor/shiki/langs/wl.d.js +1 -5
  931. package/lib/commonjs/vendor/shiki/langs/wl.js +1 -38
  932. package/lib/commonjs/vendor/shiki/langs/wl.js.map +1 -1
  933. package/lib/commonjs/vendor/shiki/langs/wolfram.d.js +1 -5
  934. package/lib/commonjs/vendor/shiki/langs/wolfram.js +1 -6
  935. package/lib/commonjs/vendor/shiki/langs/wolfram.js.map +1 -1
  936. package/lib/commonjs/vendor/shiki/langs/xml.d.js +1 -5
  937. package/lib/commonjs/vendor/shiki/langs/xml.js +1 -6
  938. package/lib/commonjs/vendor/shiki/langs/xml.js.map +1 -1
  939. package/lib/commonjs/vendor/shiki/langs/xsl.d.js +1 -5
  940. package/lib/commonjs/vendor/shiki/langs/xsl.js +1 -6
  941. package/lib/commonjs/vendor/shiki/langs/xsl.js.map +1 -1
  942. package/lib/commonjs/vendor/shiki/langs/yaml.d.js +1 -5
  943. package/lib/commonjs/vendor/shiki/langs/yaml.js +1 -6
  944. package/lib/commonjs/vendor/shiki/langs/yaml.js.map +1 -1
  945. package/lib/commonjs/vendor/shiki/langs/yml.d.js +1 -5
  946. package/lib/commonjs/vendor/shiki/langs/yml.js +1 -38
  947. package/lib/commonjs/vendor/shiki/langs/yml.js.map +1 -1
  948. package/lib/commonjs/vendor/shiki/langs/zenscript.d.js +1 -5
  949. package/lib/commonjs/vendor/shiki/langs/zenscript.js +1 -6
  950. package/lib/commonjs/vendor/shiki/langs/zenscript.js.map +1 -1
  951. package/lib/commonjs/vendor/shiki/langs/zig.d.js +1 -5
  952. package/lib/commonjs/vendor/shiki/langs/zig.js +1 -6
  953. package/lib/commonjs/vendor/shiki/langs/zig.js.map +1 -1
  954. package/lib/commonjs/vendor/shiki/langs/zsh.d.js +1 -5
  955. package/lib/commonjs/vendor/shiki/langs/zsh.js +1 -38
  956. package/lib/commonjs/vendor/shiki/langs/zsh.js.map +1 -1
  957. package/lib/commonjs/vendor/shiki/manifest.json +365 -365
  958. package/lib/commonjs/vendor/shiki/themes/andromeeda.d.js +1 -5
  959. package/lib/commonjs/vendor/shiki/themes/andromeeda.js +1 -222
  960. package/lib/commonjs/vendor/shiki/themes/andromeeda.js.map +1 -1
  961. package/lib/commonjs/vendor/shiki/themes/aurora-x.d.js +1 -5
  962. package/lib/commonjs/vendor/shiki/themes/aurora-x.js +1 -429
  963. package/lib/commonjs/vendor/shiki/themes/aurora-x.js.map +1 -1
  964. package/lib/commonjs/vendor/shiki/themes/ayu-dark.d.js +1 -5
  965. package/lib/commonjs/vendor/shiki/themes/ayu-dark.js +1 -573
  966. package/lib/commonjs/vendor/shiki/themes/ayu-dark.js.map +1 -1
  967. package/lib/commonjs/vendor/shiki/themes/catppuccin-frappe.d.js +1 -5
  968. package/lib/commonjs/vendor/shiki/themes/catppuccin-frappe.js +1 -1552
  969. package/lib/commonjs/vendor/shiki/themes/catppuccin-frappe.js.map +1 -1
  970. package/lib/commonjs/vendor/shiki/themes/catppuccin-latte.d.js +1 -5
  971. package/lib/commonjs/vendor/shiki/themes/catppuccin-latte.js +1 -1552
  972. package/lib/commonjs/vendor/shiki/themes/catppuccin-latte.js.map +1 -1
  973. package/lib/commonjs/vendor/shiki/themes/catppuccin-macchiato.d.js +1 -5
  974. package/lib/commonjs/vendor/shiki/themes/catppuccin-macchiato.js +1 -1552
  975. package/lib/commonjs/vendor/shiki/themes/catppuccin-macchiato.js.map +1 -1
  976. package/lib/commonjs/vendor/shiki/themes/catppuccin-mocha.d.js +1 -5
  977. package/lib/commonjs/vendor/shiki/themes/catppuccin-mocha.js +1 -1552
  978. package/lib/commonjs/vendor/shiki/themes/catppuccin-mocha.js.map +1 -1
  979. package/lib/commonjs/vendor/shiki/themes/dark-plus.d.js +1 -5
  980. package/lib/commonjs/vendor/shiki/themes/dark-plus.js +1 -372
  981. package/lib/commonjs/vendor/shiki/themes/dark-plus.js.map +1 -1
  982. package/lib/commonjs/vendor/shiki/themes/dracula-soft.d.js +1 -5
  983. package/lib/commonjs/vendor/shiki/themes/dracula-soft.js +1 -658
  984. package/lib/commonjs/vendor/shiki/themes/dracula-soft.js.map +1 -1
  985. package/lib/commonjs/vendor/shiki/themes/dracula.d.js +1 -5
  986. package/lib/commonjs/vendor/shiki/themes/dracula.js +1 -658
  987. package/lib/commonjs/vendor/shiki/themes/dracula.js.map +1 -1
  988. package/lib/commonjs/vendor/shiki/themes/everforest-dark.d.js +1 -5
  989. package/lib/commonjs/vendor/shiki/themes/everforest-dark.js +1 -1885
  990. package/lib/commonjs/vendor/shiki/themes/everforest-dark.js.map +1 -1
  991. package/lib/commonjs/vendor/shiki/themes/everforest-light.d.js +1 -5
  992. package/lib/commonjs/vendor/shiki/themes/everforest-light.js +1 -1885
  993. package/lib/commonjs/vendor/shiki/themes/everforest-light.js.map +1 -1
  994. package/lib/commonjs/vendor/shiki/themes/github-dark-default.d.js +1 -5
  995. package/lib/commonjs/vendor/shiki/themes/github-dark-default.js +1 -517
  996. package/lib/commonjs/vendor/shiki/themes/github-dark-default.js.map +1 -1
  997. package/lib/commonjs/vendor/shiki/themes/github-dark-dimmed.d.js +1 -5
  998. package/lib/commonjs/vendor/shiki/themes/github-dark-dimmed.js +1 -517
  999. package/lib/commonjs/vendor/shiki/themes/github-dark-dimmed.js.map +1 -1
  1000. package/lib/commonjs/vendor/shiki/themes/github-dark-high-contrast.d.js +1 -5
  1001. package/lib/commonjs/vendor/shiki/themes/github-dark-high-contrast.js +1 -521
  1002. package/lib/commonjs/vendor/shiki/themes/github-dark-high-contrast.js.map +1 -1
  1003. package/lib/commonjs/vendor/shiki/themes/github-dark.d.js +1 -5
  1004. package/lib/commonjs/vendor/shiki/themes/github-dark.js +1 -440
  1005. package/lib/commonjs/vendor/shiki/themes/github-dark.js.map +1 -1
  1006. package/lib/commonjs/vendor/shiki/themes/github-light-default.d.js +1 -5
  1007. package/lib/commonjs/vendor/shiki/themes/github-light-default.js +1 -513
  1008. package/lib/commonjs/vendor/shiki/themes/github-light-default.js.map +1 -1
  1009. package/lib/commonjs/vendor/shiki/themes/github-light-high-contrast.d.js +1 -5
  1010. package/lib/commonjs/vendor/shiki/themes/github-light-high-contrast.js +1 -516
  1011. package/lib/commonjs/vendor/shiki/themes/github-light-high-contrast.js.map +1 -1
  1012. package/lib/commonjs/vendor/shiki/themes/github-light.d.js +1 -5
  1013. package/lib/commonjs/vendor/shiki/themes/github-light.js +1 -436
  1014. package/lib/commonjs/vendor/shiki/themes/github-light.js.map +1 -1
  1015. package/lib/commonjs/vendor/shiki/themes/houston.d.js +1 -5
  1016. package/lib/commonjs/vendor/shiki/themes/houston.js +1 -1502
  1017. package/lib/commonjs/vendor/shiki/themes/houston.js.map +1 -1
  1018. package/lib/commonjs/vendor/shiki/themes/kanagawa-dragon.d.js +1 -5
  1019. package/lib/commonjs/vendor/shiki/themes/kanagawa-dragon.js +1 -577
  1020. package/lib/commonjs/vendor/shiki/themes/kanagawa-dragon.js.map +1 -1
  1021. package/lib/commonjs/vendor/shiki/themes/kanagawa-lotus.d.js +1 -5
  1022. package/lib/commonjs/vendor/shiki/themes/kanagawa-lotus.js +1 -577
  1023. package/lib/commonjs/vendor/shiki/themes/kanagawa-lotus.js.map +1 -1
  1024. package/lib/commonjs/vendor/shiki/themes/kanagawa-wave.d.js +1 -5
  1025. package/lib/commonjs/vendor/shiki/themes/kanagawa-wave.js +1 -577
  1026. package/lib/commonjs/vendor/shiki/themes/kanagawa-wave.js.map +1 -1
  1027. package/lib/commonjs/vendor/shiki/themes/laserwave.d.js +1 -5
  1028. package/lib/commonjs/vendor/shiki/themes/laserwave.js +1 -190
  1029. package/lib/commonjs/vendor/shiki/themes/laserwave.js.map +1 -1
  1030. package/lib/commonjs/vendor/shiki/themes/light-plus.d.js +1 -5
  1031. package/lib/commonjs/vendor/shiki/themes/light-plus.js +1 -372
  1032. package/lib/commonjs/vendor/shiki/themes/light-plus.js.map +1 -1
  1033. package/lib/commonjs/vendor/shiki/themes/material-theme-darker.d.js +1 -5
  1034. package/lib/commonjs/vendor/shiki/themes/material-theme-darker.js +1 -648
  1035. package/lib/commonjs/vendor/shiki/themes/material-theme-darker.js.map +1 -1
  1036. package/lib/commonjs/vendor/shiki/themes/material-theme-lighter.d.js +1 -5
  1037. package/lib/commonjs/vendor/shiki/themes/material-theme-lighter.js +1 -648
  1038. package/lib/commonjs/vendor/shiki/themes/material-theme-lighter.js.map +1 -1
  1039. package/lib/commonjs/vendor/shiki/themes/material-theme-ocean.d.js +1 -5
  1040. package/lib/commonjs/vendor/shiki/themes/material-theme-ocean.js +1 -648
  1041. package/lib/commonjs/vendor/shiki/themes/material-theme-ocean.js.map +1 -1
  1042. package/lib/commonjs/vendor/shiki/themes/material-theme-palenight.d.js +1 -5
  1043. package/lib/commonjs/vendor/shiki/themes/material-theme-palenight.js +1 -648
  1044. package/lib/commonjs/vendor/shiki/themes/material-theme-palenight.js.map +1 -1
  1045. package/lib/commonjs/vendor/shiki/themes/material-theme.d.js +1 -5
  1046. package/lib/commonjs/vendor/shiki/themes/material-theme.js +1 -648
  1047. package/lib/commonjs/vendor/shiki/themes/material-theme.js.map +1 -1
  1048. package/lib/commonjs/vendor/shiki/themes/min-dark.d.js +1 -5
  1049. package/lib/commonjs/vendor/shiki/themes/min-dark.js +1 -214
  1050. package/lib/commonjs/vendor/shiki/themes/min-dark.js.map +1 -1
  1051. package/lib/commonjs/vendor/shiki/themes/min-light.d.js +1 -5
  1052. package/lib/commonjs/vendor/shiki/themes/min-light.js +1 -230
  1053. package/lib/commonjs/vendor/shiki/themes/min-light.js.map +1 -1
  1054. package/lib/commonjs/vendor/shiki/themes/monokai.d.js +1 -5
  1055. package/lib/commonjs/vendor/shiki/themes/monokai.js +1 -382
  1056. package/lib/commonjs/vendor/shiki/themes/monokai.js.map +1 -1
  1057. package/lib/commonjs/vendor/shiki/themes/night-owl.d.js +1 -5
  1058. package/lib/commonjs/vendor/shiki/themes/night-owl.js +1 -1224
  1059. package/lib/commonjs/vendor/shiki/themes/night-owl.js.map +1 -1
  1060. package/lib/commonjs/vendor/shiki/themes/nord.d.js +1 -5
  1061. package/lib/commonjs/vendor/shiki/themes/nord.js +1 -1027
  1062. package/lib/commonjs/vendor/shiki/themes/nord.js.map +1 -1
  1063. package/lib/commonjs/vendor/shiki/themes/one-dark-pro.d.js +1 -5
  1064. package/lib/commonjs/vendor/shiki/themes/one-dark-pro.js +1 -1564
  1065. package/lib/commonjs/vendor/shiki/themes/one-dark-pro.js.map +1 -1
  1066. package/lib/commonjs/vendor/shiki/themes/one-light.d.js +1 -5
  1067. package/lib/commonjs/vendor/shiki/themes/one-light.js +1 -1151
  1068. package/lib/commonjs/vendor/shiki/themes/one-light.js.map +1 -1
  1069. package/lib/commonjs/vendor/shiki/themes/plastic.d.js +1 -5
  1070. package/lib/commonjs/vendor/shiki/themes/plastic.js +1 -267
  1071. package/lib/commonjs/vendor/shiki/themes/plastic.js.map +1 -1
  1072. package/lib/commonjs/vendor/shiki/themes/poimandres.d.js +1 -5
  1073. package/lib/commonjs/vendor/shiki/themes/poimandres.js +1 -977
  1074. package/lib/commonjs/vendor/shiki/themes/poimandres.js.map +1 -1
  1075. package/lib/commonjs/vendor/shiki/themes/red.d.js +1 -5
  1076. package/lib/commonjs/vendor/shiki/themes/red.js +1 -296
  1077. package/lib/commonjs/vendor/shiki/themes/red.js.map +1 -1
  1078. package/lib/commonjs/vendor/shiki/themes/rose-pine-dawn.d.js +1 -5
  1079. package/lib/commonjs/vendor/shiki/themes/rose-pine-dawn.js +1 -648
  1080. package/lib/commonjs/vendor/shiki/themes/rose-pine-dawn.js.map +1 -1
  1081. package/lib/commonjs/vendor/shiki/themes/rose-pine-moon.d.js +1 -5
  1082. package/lib/commonjs/vendor/shiki/themes/rose-pine-moon.js +1 -648
  1083. package/lib/commonjs/vendor/shiki/themes/rose-pine-moon.js.map +1 -1
  1084. package/lib/commonjs/vendor/shiki/themes/rose-pine.d.js +1 -5
  1085. package/lib/commonjs/vendor/shiki/themes/rose-pine.js +1 -648
  1086. package/lib/commonjs/vendor/shiki/themes/rose-pine.js.map +1 -1
  1087. package/lib/commonjs/vendor/shiki/themes/slack-dark.d.js +1 -5
  1088. package/lib/commonjs/vendor/shiki/themes/slack-dark.js +1 -394
  1089. package/lib/commonjs/vendor/shiki/themes/slack-dark.js.map +1 -1
  1090. package/lib/commonjs/vendor/shiki/themes/slack-ochin.d.js +1 -5
  1091. package/lib/commonjs/vendor/shiki/themes/slack-ochin.js +1 -394
  1092. package/lib/commonjs/vendor/shiki/themes/slack-ochin.js.map +1 -1
  1093. package/lib/commonjs/vendor/shiki/themes/snazzy-light.d.js +1 -5
  1094. package/lib/commonjs/vendor/shiki/themes/snazzy-light.js +1 -945
  1095. package/lib/commonjs/vendor/shiki/themes/snazzy-light.js.map +1 -1
  1096. package/lib/commonjs/vendor/shiki/themes/solarized-dark.d.js +1 -5
  1097. package/lib/commonjs/vendor/shiki/themes/solarized-dark.js +1 -313
  1098. package/lib/commonjs/vendor/shiki/themes/solarized-dark.js.map +1 -1
  1099. package/lib/commonjs/vendor/shiki/themes/solarized-light.d.js +1 -5
  1100. package/lib/commonjs/vendor/shiki/themes/solarized-light.js +1 -305
  1101. package/lib/commonjs/vendor/shiki/themes/solarized-light.js.map +1 -1
  1102. package/lib/commonjs/vendor/shiki/themes/synthwave-84.d.js +1 -5
  1103. package/lib/commonjs/vendor/shiki/themes/synthwave-84.js +1 -35
  1104. package/lib/commonjs/vendor/shiki/themes/synthwave-84.js.map +1 -1
  1105. package/lib/commonjs/vendor/shiki/themes/tokyo-night.d.js +1 -5
  1106. package/lib/commonjs/vendor/shiki/themes/tokyo-night.js +1 -951
  1107. package/lib/commonjs/vendor/shiki/themes/tokyo-night.js.map +1 -1
  1108. package/lib/commonjs/vendor/shiki/themes/vesper.d.js +1 -5
  1109. package/lib/commonjs/vendor/shiki/themes/vesper.js +1 -380
  1110. package/lib/commonjs/vendor/shiki/themes/vesper.js.map +1 -1
  1111. package/lib/commonjs/vendor/shiki/themes/vitesse-black.d.js +1 -5
  1112. package/lib/commonjs/vendor/shiki/themes/vitesse-black.js +1 -504
  1113. package/lib/commonjs/vendor/shiki/themes/vitesse-black.js.map +1 -1
  1114. package/lib/commonjs/vendor/shiki/themes/vitesse-dark.d.js +1 -5
  1115. package/lib/commonjs/vendor/shiki/themes/vitesse-dark.js +1 -504
  1116. package/lib/commonjs/vendor/shiki/themes/vitesse-dark.js.map +1 -1
  1117. package/lib/commonjs/vendor/shiki/themes/vitesse-light.d.js +1 -5
  1118. package/lib/commonjs/vendor/shiki/themes/vitesse-light.js +1 -502
  1119. package/lib/commonjs/vendor/shiki/themes/vitesse-light.js.map +1 -1
  1120. package/lib/typescript/components/syntax/SyntaxHighlighter.d.ts.map +1 -1
  1121. package/lib/typescript/syntax/highlighter/index.d.ts +1 -1
  1122. package/lib/typescript/syntax/highlighter/index.d.ts.map +1 -1
  1123. package/package.json +12 -2
  1124. package/src/components/syntax/SyntaxHighlighter.tsx +2 -2
  1125. package/src/syntax/highlighter/index.ts +2 -1
  1126. package/src/vendor/shiki/index.d.ts +10 -1
  1127. package/src/vendor/shiki/index.js +14 -3
  1128. package/src/vendor/shiki/manifest.json +365 -365
  1129. package/.babelrc +0 -13
  1130. package/eslint.config.mjs +0 -6
  1131. package/scripts/build.js +0 -259
  1132. package/tsconfig.json +0 -29
@@ -1,39 +1,2 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var __defProp = Object.defineProperty;
7
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
8
- var __getOwnPropNames = Object.getOwnPropertyNames;
9
- var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __export = (target, all) => {
11
- for (var name in all) __defProp(target, name, {
12
- get: all[name],
13
- enumerable: true
14
- });
15
- };
16
- var __copyProps = (to, from, except, desc) => {
17
- if (from && typeof from === "object" || typeof from === "function") {
18
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
19
- get: () => from[key],
20
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
21
- });
22
- }
23
- return to;
24
- };
25
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
26
- value: true
27
- }), mod);
28
-
29
- // node_modules/shiki/dist/langs/f18.mjs
30
- var f18_exports = {};
31
- __export(f18_exports, {
32
- default: () => fortran_free_form_default
33
- });
34
- module.exports = __toCommonJS(f18_exports);
35
-
36
- // node_modules/shiki/dist/langs/fortran-free-form.mjs
37
- var lang = Object.freeze(JSON.parse(`{"displayName":"Fortran (Free Form)","fileTypes":["f90","F90","f95","F95","f03","F03","f08","F08","f18","F18","fpp","FPP",".pf",".PF"],"firstLineMatch":"(?i)-[*]- mode: fortran free -[*]-","injections":{"source.fortran.free - ( string | comment | meta.preprocessor )":{"patterns":[{"include":"#line-continuation-operator"},{"include":"#preprocessor"}]},"string.quoted.double.fortran":{"patterns":[{"include":"#string-line-continuation-operator"}]},"string.quoted.single.fortran":{"patterns":[{"include":"#string-line-continuation-operator"}]}},"name":"fortran-free-form","patterns":[{"include":"#preprocessor"},{"include":"#comments"},{"include":"#constants"},{"include":"#operators"},{"include":"#array-constructor"},{"include":"#parentheses"},{"include":"#include-statement"},{"include":"#import-statement"},{"include":"#block-data-definition"},{"include":"#function-definition"},{"include":"#module-definition"},{"include":"#program-definition"},{"include":"#submodule-definition"},{"include":"#subroutine-definition"},{"include":"#procedure-definition"},{"include":"#derived-type-definition"},{"include":"#enum-block-construct"},{"include":"#interface-block-constructs"},{"include":"#procedure-specification-statement"},{"include":"#type-specification-statements"},{"include":"#specification-statements"},{"include":"#control-constructs"},{"include":"#control-statements"},{"include":"#execution-statements"},{"include":"#intrinsic-functions"},{"include":"#variable"}],"repository":{"IO-item-list":{"begin":"(?i)(?=\\\\s*[a-z0-9\\"'])","comment":"Name list.","contentName":"meta.name-list.fortran","end":"(?=[);!\\\\n])","patterns":[{"include":"#constants"},{"include":"#operators"},{"include":"#intrinsic-functions"},{"include":"#array-constructor"},{"include":"#parentheses"},{"include":"#brackets"},{"include":"#assignment-keyword"},{"include":"#operator-keyword"},{"include":"#variable"}]},"IO-keywords":{"begin":"(?i)\\\\G\\\\s*\\\\b(?:(read)|(write))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.generic-spec.read.fortran"},"2":{"name":"keyword.control.generic-spec.write.fortran"},"3":{"name":"punctuation.parentheses.left.fortran"}},"comment":"IO generic specification.","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"captures":{"1":{"name":"keyword.control.generic-spec.formatted.fortran"},"2":{"name":"keyword.control.generic-spec.unformatted.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(?:(formatted)|(unformatted))\\\\b"},{"include":"#invalid-word"}]},"IO-statements":{"patterns":[{"begin":"(?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"]}`));
38
- var fortran_free_form_default = [lang];
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=function __export(target,all){for(var name in all)__defProp(target,name,{get:all[name],enumerable:true});};var __copyProps=function __copyProps(to,from,except,desc){if(from&&typeof from==="object"||typeof from==="function"){var _loop=function _loop(key){if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:function get(){return from[key];},enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});};for(var key of __getOwnPropNames(from)){_loop(key);}}return to;};var __toCommonJS=function __toCommonJS(mod){return __copyProps(__defProp({},"__esModule",{value:true}),mod);};var f18_exports={};__export(f18_exports,{default:function _default(){return fortran_free_form_default;}});module.exports=__toCommonJS(f18_exports);var lang=Object.freeze(JSON.parse(`{"displayName":"Fortran (Free Form)","fileTypes":["f90","F90","f95","F95","f03","F03","f08","F08","f18","F18","fpp","FPP",".pf",".PF"],"firstLineMatch":"(?i)-[*]- mode: fortran free -[*]-","injections":{"source.fortran.free - ( string | comment | meta.preprocessor )":{"patterns":[{"include":"#line-continuation-operator"},{"include":"#preprocessor"}]},"string.quoted.double.fortran":{"patterns":[{"include":"#string-line-continuation-operator"}]},"string.quoted.single.fortran":{"patterns":[{"include":"#string-line-continuation-operator"}]}},"name":"fortran-free-form","patterns":[{"include":"#preprocessor"},{"include":"#comments"},{"include":"#constants"},{"include":"#operators"},{"include":"#array-constructor"},{"include":"#parentheses"},{"include":"#include-statement"},{"include":"#import-statement"},{"include":"#block-data-definition"},{"include":"#function-definition"},{"include":"#module-definition"},{"include":"#program-definition"},{"include":"#submodule-definition"},{"include":"#subroutine-definition"},{"include":"#procedure-definition"},{"include":"#derived-type-definition"},{"include":"#enum-block-construct"},{"include":"#interface-block-constructs"},{"include":"#procedure-specification-statement"},{"include":"#type-specification-statements"},{"include":"#specification-statements"},{"include":"#control-constructs"},{"include":"#control-statements"},{"include":"#execution-statements"},{"include":"#intrinsic-functions"},{"include":"#variable"}],"repository":{"IO-item-list":{"begin":"(?i)(?=\\\\s*[a-z0-9\\"'])","comment":"Name list.","contentName":"meta.name-list.fortran","end":"(?=[);!\\\\n])","patterns":[{"include":"#constants"},{"include":"#operators"},{"include":"#intrinsic-functions"},{"include":"#array-constructor"},{"include":"#parentheses"},{"include":"#brackets"},{"include":"#assignment-keyword"},{"include":"#operator-keyword"},{"include":"#variable"}]},"IO-keywords":{"begin":"(?i)\\\\G\\\\s*\\\\b(?:(read)|(write))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.generic-spec.read.fortran"},"2":{"name":"keyword.control.generic-spec.write.fortran"},"3":{"name":"punctuation.parentheses.left.fortran"}},"comment":"IO generic specification.","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"captures":{"1":{"name":"keyword.control.generic-spec.formatted.fortran"},"2":{"name":"keyword.control.generic-spec.unformatted.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(?:(formatted)|(unformatted))\\\\b"},{"include":"#invalid-word"}]},"IO-statements":{"patterns":[{"begin":"(?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"]}`));var fortran_free_form_default=[lang];
39
2
  //# sourceMappingURL=f18.js.map