tm-grammars 1.22.3 → 1.22.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/NOTICE +1 -1
  2. package/README.md +165 -165
  3. package/grammars/abap.json +29 -29
  4. package/grammars/actionscript-3.json +10 -10
  5. package/grammars/ada.json +6 -6
  6. package/grammars/angular-expression.json +29 -29
  7. package/grammars/angular-let-declaration.json +1 -1
  8. package/grammars/angular-ts.json +257 -257
  9. package/grammars/apex.json +72 -72
  10. package/grammars/apl.json +1 -1
  11. package/grammars/applescript.json +5 -5
  12. package/grammars/ara.json +3 -3
  13. package/grammars/asciidoc.json +4 -4
  14. package/grammars/asm.json +23 -23
  15. package/grammars/astro.json +3 -3
  16. package/grammars/awk.json +2 -2
  17. package/grammars/ballerina.json +94 -94
  18. package/grammars/bat.json +2 -2
  19. package/grammars/beancount.json +13 -13
  20. package/grammars/berry.json +6 -6
  21. package/grammars/bibtex.json +2 -2
  22. package/grammars/bicep.json +6 -6
  23. package/grammars/blade.json +73 -73
  24. package/grammars/c.json +11 -11
  25. package/grammars/cadence.json +6 -6
  26. package/grammars/cairo.json +5 -5
  27. package/grammars/clarity.json +16 -16
  28. package/grammars/clojure.json +14 -14
  29. package/grammars/cobol.json +33 -33
  30. package/grammars/codeql.json +6 -6
  31. package/grammars/coffee.json +17 -17
  32. package/grammars/common-lisp.json +48 -48
  33. package/grammars/coq.json +1 -1
  34. package/grammars/cpp-macro.json +112 -112
  35. package/grammars/cpp.json +187 -187
  36. package/grammars/crystal.json +22 -22
  37. package/grammars/csharp.json +110 -110
  38. package/grammars/css.json +23 -23
  39. package/grammars/cue.json +33 -33
  40. package/grammars/cypher.json +1 -1
  41. package/grammars/d.json +4 -4
  42. package/grammars/dart.json +6 -6
  43. package/grammars/dax.json +2 -2
  44. package/grammars/diff.json +1 -1
  45. package/grammars/dotenv.json +2 -2
  46. package/grammars/dream-maker.json +3 -3
  47. package/grammars/edge.json +1 -1
  48. package/grammars/elixir.json +15 -15
  49. package/grammars/elm.json +30 -30
  50. package/grammars/emacs-lisp.json +3 -3
  51. package/grammars/erlang.json +2 -2
  52. package/grammars/es-tag-css.json +1 -1
  53. package/grammars/es-tag-glsl.json +1 -1
  54. package/grammars/es-tag-html.json +1 -1
  55. package/grammars/es-tag-sql.json +1 -1
  56. package/grammars/es-tag-xml.json +1 -1
  57. package/grammars/fennel.json +3 -3
  58. package/grammars/fish.json +1 -1
  59. package/grammars/fluent.json +1 -1
  60. package/grammars/fortran-free-form.json +57 -57
  61. package/grammars/fsharp.json +62 -62
  62. package/grammars/gdresource.json +6 -6
  63. package/grammars/gdscript.json +8 -8
  64. package/grammars/gdshader.json +1 -1
  65. package/grammars/genie.json +1 -1
  66. package/grammars/git-commit.json +1 -1
  67. package/grammars/gleam.json +9 -9
  68. package/grammars/glimmer-js.json +6 -6
  69. package/grammars/glimmer-ts.json +6 -6
  70. package/grammars/gnuplot.json +6 -6
  71. package/grammars/go.json +41 -41
  72. package/grammars/graphql.json +1 -1
  73. package/grammars/groovy.json +12 -12
  74. package/grammars/hack.json +19 -19
  75. package/grammars/haml.json +4 -4
  76. package/grammars/handlebars.json +2 -2
  77. package/grammars/haskell.json +17 -17
  78. package/grammars/haxe.json +17 -17
  79. package/grammars/hcl.json +24 -24
  80. package/grammars/hjson.json +7 -7
  81. package/grammars/hlsl.json +8 -8
  82. package/grammars/html.json +3 -3
  83. package/grammars/http.json +2 -2
  84. package/grammars/hy.json +8 -8
  85. package/grammars/imba.json +98 -98
  86. package/grammars/java.json +14 -14
  87. package/grammars/javascript.json +264 -264
  88. package/grammars/jinja.json +8 -8
  89. package/grammars/jison.json +7 -7
  90. package/grammars/json.json +1 -1
  91. package/grammars/json5.json +1 -1
  92. package/grammars/jsonc.json +1 -1
  93. package/grammars/jsonl.json +1 -1
  94. package/grammars/jsonnet.json +1 -1
  95. package/grammars/jssm.json +2 -2
  96. package/grammars/jsx.json +264 -264
  97. package/grammars/julia.json +22 -22
  98. package/grammars/kotlin.json +2 -2
  99. package/grammars/kusto.json +1 -1
  100. package/grammars/latex.json +9 -9
  101. package/grammars/lean.json +3 -3
  102. package/grammars/less.json +13 -13
  103. package/grammars/liquid.json +5 -5
  104. package/grammars/log.json +5 -5
  105. package/grammars/logo.json +1 -1
  106. package/grammars/lua.json +25 -25
  107. package/grammars/luau.json +19 -19
  108. package/grammars/make.json +1 -1
  109. package/grammars/markdown.json +8 -8
  110. package/grammars/marko.json +6 -6
  111. package/grammars/matlab.json +12 -12
  112. package/grammars/mdc.json +3 -3
  113. package/grammars/mdx.json +25 -25
  114. package/grammars/mermaid.json +31 -31
  115. package/grammars/mipsasm.json +3 -3
  116. package/grammars/mojo.json +46 -46
  117. package/grammars/move.json +5 -5
  118. package/grammars/nextflow.json +1 -1
  119. package/grammars/nginx.json +10 -10
  120. package/grammars/nim.json +8 -8
  121. package/grammars/nix.json +34 -34
  122. package/grammars/nushell.json +3 -3
  123. package/grammars/objective-c.json +8 -8
  124. package/grammars/objective-cpp.json +14 -14
  125. package/grammars/ocaml.json +94 -94
  126. package/grammars/perl.json +34 -34
  127. package/grammars/php.json +87 -87
  128. package/grammars/polar.json +6 -6
  129. package/grammars/postcss.json +3 -3
  130. package/grammars/powerquery.json +1 -1
  131. package/grammars/powershell.json +5 -5
  132. package/grammars/prisma.json +3 -3
  133. package/grammars/prolog.json +6 -6
  134. package/grammars/proto.json +3 -3
  135. package/grammars/pug.json +4 -4
  136. package/grammars/puppet.json +11 -11
  137. package/grammars/purescript.json +5 -5
  138. package/grammars/python.json +44 -44
  139. package/grammars/qml.json +4 -4
  140. package/grammars/r.json +10 -10
  141. package/grammars/racket.json +19 -19
  142. package/grammars/raku.json +2 -2
  143. package/grammars/razor.json +24 -24
  144. package/grammars/reg.json +2 -2
  145. package/grammars/regexp.json +3 -3
  146. package/grammars/rel.json +4 -4
  147. package/grammars/riscv.json +5 -5
  148. package/grammars/rst.json +1 -1
  149. package/grammars/ruby.json +3 -3
  150. package/grammars/rust.json +1 -1
  151. package/grammars/sas.json +2 -2
  152. package/grammars/sass.json +5 -5
  153. package/grammars/scala.json +43 -43
  154. package/grammars/scheme.json +8 -8
  155. package/grammars/scss.json +7 -7
  156. package/grammars/shaderlab.json +3 -3
  157. package/grammars/shellscript.json +24 -24
  158. package/grammars/smalltalk.json +6 -6
  159. package/grammars/solidity.json +5 -5
  160. package/grammars/soy.json +1 -1
  161. package/grammars/sparql.json +1 -1
  162. package/grammars/splunk.json +3 -3
  163. package/grammars/sql.json +2 -2
  164. package/grammars/ssh-config.json +2 -2
  165. package/grammars/stata.json +33 -33
  166. package/grammars/stylus.json +6 -6
  167. package/grammars/svelte.json +8 -8
  168. package/grammars/swift.json +27 -27
  169. package/grammars/system-verilog.json +11 -11
  170. package/grammars/systemd.json +5 -5
  171. package/grammars/talonscript.json +1 -1
  172. package/grammars/tcl.json +2 -2
  173. package/grammars/templ.json +2 -2
  174. package/grammars/terraform.json +23 -23
  175. package/grammars/tex.json +3 -3
  176. package/grammars/toml.json +5 -5
  177. package/grammars/tsx.json +264 -264
  178. package/grammars/turtle.json +1 -1
  179. package/grammars/twig.json +23 -23
  180. package/grammars/typescript.json +257 -257
  181. package/grammars/typespec.json +30 -30
  182. package/grammars/typst.json +13 -13
  183. package/grammars/v.json +16 -16
  184. package/grammars/vala.json +1 -1
  185. package/grammars/vb.json +2 -2
  186. package/grammars/verilog.json +5 -5
  187. package/grammars/vhdl.json +14 -14
  188. package/grammars/viml.json +11 -11
  189. package/grammars/vue-html.json +2 -2
  190. package/grammars/vue.json +1 -1
  191. package/grammars/vyper.json +44 -44
  192. package/grammars/wasm.json +2 -2
  193. package/grammars/wgsl.json +3 -3
  194. package/grammars/wikitext.json +9 -9
  195. package/grammars/wolfram.json +331 -331
  196. package/grammars/xml.json +1 -1
  197. package/grammars/yaml.json +3 -3
  198. package/grammars/zenscript.json +2 -2
  199. package/grammars/zig.json +3 -3
  200. package/index.js +196 -196
  201. package/package.json +1 -1
@@ -129,7 +129,7 @@
129
129
  "begin": "(?i)(?=\\s*[a-z0-9\"'])",
130
130
  "comment": "Name list.",
131
131
  "contentName": "meta.name-list.fortran",
132
- "end": "(?=[);!\\n])",
132
+ "end": "(?=[\\);!\\n])",
133
133
  "patterns": [
134
134
  {
135
135
  "include": "#constants"
@@ -200,7 +200,7 @@
200
200
  "IO-statements": {
201
201
  "patterns": [
202
202
  {
203
- "begin": "(?i)\\b(?:(backspace)|(close)|(endfile)|(format)|(inquire)|(open)|(read)|(rewind)|(write))\\s*(?=\\()",
203
+ "begin": "(?ix)\\b(?:(backspace)|(close)|(endfile)|(format)|(inquire)|(open)|(read)|(rewind)|(write))\\s*(?=\\()",
204
204
  "beginCaptures": {
205
205
  "1": {
206
206
  "name": "keyword.control.backspace.fortran"
@@ -406,7 +406,7 @@
406
406
  }
407
407
  },
408
408
  "comment": "Introduced in the Fortran 1977 standard.",
409
- "match": "(-)|(\\+)|\\/(?!\\/|=|\\\\)|(\\*\\*)|(\\*)"
409
+ "match": "(\\-)|(\\+)|\\/(?!\\/|\\=|\\\\)|(\\*\\*)|(\\*)"
410
410
  },
411
411
  "array-constructor": {
412
412
  "begin": "(?=\\s*(\\[|\\(\\/))",
@@ -511,7 +511,7 @@
511
511
  },
512
512
  "assignment-operator": {
513
513
  "comment": "Introduced in the Fortran 1977 standard.",
514
- "match": "(?<!\\/|=|<|>)(=)(?!=|>)",
514
+ "match": "(?<!\\/|\\=|\\<|\\>)(\\=)(?!\\=|\\>)",
515
515
  "name": "keyword.operator.assignment.fortran"
516
516
  },
517
517
  "associate-construct": {
@@ -545,7 +545,7 @@
545
545
  "match": "(?i)\\G\\s*\\b(asynchronous)\\b"
546
546
  },
547
547
  "attribute-specification-statement": {
548
- "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*\\[)",
548
+ "begin": "(?ix)(?=\\b(?:allocatable|asynchronous|contiguous |external|intrinsic|optional|parameter|pointer|private|protected|public|save|target|value|volatile)\\b |(bind|dimension|intent)\\s*\\( |(codimension)\\s*\\[)",
549
549
  "end": "(?=[;!\\n])",
550
550
  "name": "meta.statement.attribute-specification.fortran",
551
551
  "patterns": [
@@ -655,7 +655,7 @@
655
655
  "name": "entity.name.block-data.fortran"
656
656
  }
657
657
  },
658
- "end": "(?i)\\b(?:(end\\s*block\\s*data)(?:\\s+(\\2))?|(end))\\b(?:\\s*(\\S((?!\\n).)*))?",
658
+ "end": "(?ix)\\b(?:(end\\s*block\\s*data)(?:\\s+(\\2))?|(end))\\b (?:\\s*(\\S((?!\\n).)*))?",
659
659
  "endCaptures": {
660
660
  "1": {
661
661
  "name": "keyword.control.end-block-data.fortran"
@@ -728,7 +728,7 @@
728
728
  "name": "meta.statement.control.call.fortran",
729
729
  "patterns": [
730
730
  {
731
- "begin": "(?i)\\G\\s*([a-z]\\w*)(%)([a-z]\\w*)\\b\\s*(?=\\()",
731
+ "begin": "(?ix)\\G\\s*([a-z]\\w*)(%)([a-z]\\w*)\\b\\s*(?=\\()",
732
732
  "beginCaptures": {
733
733
  "1": {
734
734
  "name": "variable.other.fortran"
@@ -1054,7 +1054,7 @@
1054
1054
  "name": "keyword.operator.minus.exponent.hexadecimal.cpp"
1055
1055
  }
1056
1056
  },
1057
- "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*)?$)"
1057
+ "match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([pP])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?((?:\\w(?<![0-9a-fA-FpP])\\w*)?$)"
1058
1058
  },
1059
1059
  {
1060
1060
  "captures": {
@@ -1110,7 +1110,7 @@
1110
1110
  ]
1111
1111
  }
1112
1112
  },
1113
- "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*)?$)"
1113
+ "match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([eE])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?((?:\\w(?<![0-9eE])\\w*)?$)"
1114
1114
  },
1115
1115
  {
1116
1116
  "captures": {
@@ -1136,7 +1136,7 @@
1136
1136
  "name": "keyword.other.unit.user-defined.cpp"
1137
1137
  }
1138
1138
  },
1139
- "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*)?$)"
1139
+ "match": "(\\G0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9])\\w*)?$)"
1140
1140
  },
1141
1141
  {
1142
1142
  "captures": {
@@ -1162,7 +1162,7 @@
1162
1162
  "name": "keyword.other.unit.user-defined.cpp"
1163
1163
  }
1164
1164
  },
1165
- "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*)?$)"
1165
+ "match": "(\\G0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9])\\w*)?$)"
1166
1166
  },
1167
1167
  {
1168
1168
  "captures": {
@@ -1206,7 +1206,7 @@
1206
1206
  "name": "keyword.other.unit.user-defined.cpp"
1207
1207
  }
1208
1208
  },
1209
- "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*)?$)"
1209
+ "match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([pP])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9a-fA-FpP])\\w*)?$)"
1210
1210
  },
1211
1211
  {
1212
1212
  "captures": {
@@ -1247,7 +1247,7 @@
1247
1247
  "name": "keyword.other.unit.user-defined.cpp"
1248
1248
  }
1249
1249
  },
1250
- "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*)?$)"
1250
+ "match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([eE])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9eE])\\w*)?$)"
1251
1251
  },
1252
1252
  {
1253
1253
  "match": "(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])+",
@@ -1412,7 +1412,7 @@
1412
1412
  }
1413
1413
  },
1414
1414
  "comment": "Derived type parameter.",
1415
- "match": "(?i)\\b(integer)\\s*(,)\\s*(kind|len)\\s*(?:(::)\\s*([a-z]\\w*)?)?\\s*(?=[;!\\n])"
1415
+ "match": "(?ix)\\b(integer)\\s*(,)\\s*(kind|len)\\s*(?:(::)\\s*([a-z]\\w*)?)?\\s*(?=[;!\\n])"
1416
1416
  },
1417
1417
  "derived-type-component-procedure-specification": {
1418
1418
  "begin": "(?i)(?=\\b(?:procedure)\\b)",
@@ -1468,7 +1468,7 @@
1468
1468
  ]
1469
1469
  },
1470
1470
  "derived-type-component-type-specification": {
1471
- "begin": "(?i)(?=\\b(?:character|class|complex|double\\s*precision|double\\s*complex|integer|logical|real|type)\\b(?![^:'\";!\\n]*\\bfunction\\b))",
1471
+ "begin": "(?ix)(?=\\b(?:character|class|complex|double\\s*precision|double\\s*complex|integer|logical|real|type)\\b(?![^:'\";!\\n]*\\bfunction\\b))",
1472
1472
  "comment": "Introduced in the Fortran 1995 standard.",
1473
1473
  "end": "(?=[;!\\n])",
1474
1474
  "name": "meta.specification.derived-type.fortran",
@@ -1699,7 +1699,7 @@
1699
1699
  ]
1700
1700
  },
1701
1701
  "derived-type-definition": {
1702
- "begin": "(?i)\\b(type)\\b(?!\\s*(\\(|is\\b|=))",
1702
+ "begin": "(?i)\\b(type)\\b(?!\\s*(\\(|is\\b|\\=))",
1703
1703
  "beginCaptures": {
1704
1704
  "1": {
1705
1705
  "name": "keyword.control.type.fortran"
@@ -1964,7 +1964,7 @@
1964
1964
  }
1965
1965
  },
1966
1966
  "comment": "dummy variable",
1967
- "match": "(?i)(?:^|(?<=[&,(]))\\s*([a-z]\\w*)"
1967
+ "match": "(?i)(?:^|(?<=[&,\\(]))\\s*([a-z]\\w*)"
1968
1968
  },
1969
1969
  "dummy-variable-list": {
1970
1970
  "begin": "\\G\\s*(\\()",
@@ -2074,7 +2074,7 @@
2074
2074
  "include": "#comments"
2075
2075
  },
2076
2076
  {
2077
- "begin": "(?i)\\b(enumerator)\\b",
2077
+ "begin": "(?ix)\\b(enumerator)\\b",
2078
2078
  "beginCaptures": {
2079
2079
  "1": {
2080
2080
  "name": "keyword.other.enumerator.fortran"
@@ -2395,7 +2395,7 @@
2395
2395
  }
2396
2396
  },
2397
2397
  "comment": "Function body.",
2398
- "end": "(?i)\\s*\\b(?:(end\\s*function)(?:\\s+([a-z_]\\w*))?|(end))\\b\\s*([^;!\\n]+)?(?=[;!\\n])",
2398
+ "end": "(?ix)\\s*\\b(?:(end\\s*function)(?:\\s+([a-z_]\\w*))?|(end))\\b \\s*([^;!\\n]+)?(?=[;!\\n])",
2399
2399
  "endCaptures": {
2400
2400
  "1": {
2401
2401
  "name": "keyword.other.endfunction.fortran"
@@ -2473,7 +2473,7 @@
2473
2473
  "name": "meta.interface.generic.fortran",
2474
2474
  "patterns": [
2475
2475
  {
2476
- "begin": "(?i)\\G\\s*\\b(assignment)\\s*(\\()\\s*(?:(=)|(\\S.*))\\s*(\\))",
2476
+ "begin": "(?ix)\\G\\s*\\b(assignment)\\s* (\\()\\s*(?:(\\=)|(\\S.*))\\s*(\\))",
2477
2477
  "beginCaptures": {
2478
2478
  "1": {
2479
2479
  "name": "keyword.other.assignment.fortran"
@@ -2492,7 +2492,7 @@
2492
2492
  }
2493
2493
  },
2494
2494
  "comment": "Assignment generic interface.",
2495
- "end": "(?i)\\b(end\\s*interface)\\b(?:\\s*\\b(\\1)\\b\\s*(\\()\\s*(?:(\\3)|(\\S.*))\\s*(\\)))?",
2495
+ "end": "(?ix)\\b(end\\s*interface)\\b (?:\\s*\\b(\\1)\\b\\s*(\\()\\s*(?:(\\3)|(\\S.*))\\s*(\\)))?",
2496
2496
  "endCaptures": {
2497
2497
  "1": {
2498
2498
  "name": "keyword.control.endinterface.fortran"
@@ -2523,7 +2523,7 @@
2523
2523
  ]
2524
2524
  },
2525
2525
  {
2526
- "begin": "(?i)\\G\\s*\\b(operator)\\s*(\\()\\s*(?:(\\.[a-z]+\\.|==|\\/=|>=|>|<|<=|-|\\+|\\/|\\/\\/|\\*\\*|\\*)|(\\S.*))\\s*(\\))",
2526
+ "begin": "(?ix)\\G\\s*\\b(operator)\\s* (\\()\\s*(?: (\\.[a-z]+\\.|\\=\\=|\\/\\=|\\>\\=|\\>|\\<|\\<\\=|\\-|\\+|\\/|\\/\\/|\\*\\*|\\*) |(\\S.*) )\\s*(\\))",
2527
2527
  "beginCaptures": {
2528
2528
  "1": {
2529
2529
  "name": "keyword.other.operator.fortran"
@@ -2542,7 +2542,7 @@
2542
2542
  }
2543
2543
  },
2544
2544
  "comment": "Operator generic interface.",
2545
- "end": "(?i)\\b(end\\s*interface)\\b(?:\\s*\\b(\\1)\\b\\s*(\\()\\s*(?:(\\3)|(\\S.*))\\s*(\\)))?",
2545
+ "end": "(?ix)\\b(end\\s*interface)\\b (?:\\s*\\b(\\1)\\b\\s*(\\()\\s*(?:(\\3)|(\\S.*))\\s*(\\)))?",
2546
2546
  "endCaptures": {
2547
2547
  "1": {
2548
2548
  "name": "keyword.control.endinterface.fortran"
@@ -2573,7 +2573,7 @@
2573
2573
  ]
2574
2574
  },
2575
2575
  {
2576
- "begin": "(?i)\\G\\s*\\b(?:(read)|(write))\\s*(\\()\\s*(?:(formatted)|(unformatted)|(\\S.*))\\s*(\\))",
2576
+ "begin": "(?ix)\\G\\s*\\b(?:(read)|(write))\\s* (\\()\\s*(?:(formatted)|(unformatted)|(\\S.*))\\s*(\\))",
2577
2577
  "beginCaptures": {
2578
2578
  "1": {
2579
2579
  "name": "keyword.other.read.fortran"
@@ -2598,7 +2598,7 @@
2598
2598
  }
2599
2599
  },
2600
2600
  "comment": "Read/Write generic interface.",
2601
- "end": "(?i)\\b(end\\s*interface)\\b(?:\\s*\\b(?:(\\2)|(\\3))\\b\\s*(\\()\\s*(?:(\\4)|(\\5)|(\\S.*))\\s*(\\)))?",
2601
+ "end": "(?ix)\\b(end\\s*interface)\\b(?:\\s*\\b(?:(\\2)|(\\3))\\b\\s* (\\()\\s*(?:(\\4)|(\\5)|(\\S.*))\\s*(\\)))?",
2602
2602
  "endCaptures": {
2603
2603
  "1": {
2604
2604
  "name": "keyword.control.endinterface.fortran"
@@ -3041,7 +3041,7 @@
3041
3041
  "intrinsic-functions": {
3042
3042
  "patterns": [
3043
3043
  {
3044
- "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*(?=\\()",
3044
+ "begin": "(?ix)\\b(acosh|asinh|atanh|bge|bgt|ble|blt|dshiftl|dshiftr| findloc|hypot|iall|iany|image_index|iparity|is_contiguous|lcobound| leadz|mask[lr]|merge_bits|norm2|num_images|parity|popcnt|poppar| shift[alr]|storage_size|this_image|trailz|ucobound)\\s*(?=\\()",
3045
3045
  "beginCaptures": {
3046
3046
  "1": {
3047
3047
  "name": "support.function.intrinsic.fortran"
@@ -3064,7 +3064,7 @@
3064
3064
  ]
3065
3065
  },
3066
3066
  {
3067
- "begin": "(?i)\\b(bessel_[jy][01n]|erf(c(_scaled)?)?|gamma|log_gamma)\\s*(?=\\()",
3067
+ "begin": "(?ix)\\b(bessel_[jy][01n]|erf(c(_scaled)?)?|gamma|log_gamma)\\s*(?=\\()",
3068
3068
  "beginCaptures": {
3069
3069
  "1": {
3070
3070
  "name": "support.function.intrinsic.fortran"
@@ -3087,7 +3087,7 @@
3087
3087
  ]
3088
3088
  },
3089
3089
  {
3090
- "begin": "(?i)\\b(command_argument_count|extends_type_of|is_iostat_end|is_iostat_eor|new_line|same_type_as|selected_char_kind)\\s*(?=\\()",
3090
+ "begin": "(?ix)\\b(command_argument_count|extends_type_of|is_iostat_end| is_iostat_eor|new_line|same_type_as|selected_char_kind)\\s*(?=\\()",
3091
3091
  "beginCaptures": {
3092
3092
  "1": {
3093
3093
  "name": "support.function.intrinsic.fortran"
@@ -3110,7 +3110,7 @@
3110
3110
  ]
3111
3111
  },
3112
3112
  {
3113
- "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*(?=\\()",
3113
+ "begin": "(?ix)\\b(ieee_( class|copy_sign|is_(finite|nan|negative|normal)|logb|next_after|rem| rint|scalb|selected_real_kind| support_(datatype|denormal|divide|inf|io|nan|rounding|sqrt|standard|underflow_control)| unordered|value))\\s*(?=\\()",
3114
3114
  "beginCaptures": {
3115
3115
  "1": {
3116
3116
  "name": "support.function.intrinsic.fortran"
@@ -3133,7 +3133,7 @@
3133
3133
  ]
3134
3134
  },
3135
3135
  {
3136
- "begin": "(?i)\\b(ieee_support_(flag|halting))\\s*(?=\\()",
3136
+ "begin": "(?ix)\\b(ieee_support_(flag|halting))\\s*(?=\\()",
3137
3137
  "beginCaptures": {
3138
3138
  "1": {
3139
3139
  "name": "support.function.intrinsic.fortran"
@@ -3156,7 +3156,7 @@
3156
3156
  ]
3157
3157
  },
3158
3158
  {
3159
- "begin": "(?i)\\b(c_(associated|funloc|loc|sizeof))\\s*(?=\\()",
3159
+ "begin": "(?ix)\\b(c_(associated|funloc|loc|sizeof))\\s*(?=\\()",
3160
3160
  "beginCaptures": {
3161
3161
  "1": {
3162
3162
  "name": "support.function.intrinsic.fortran"
@@ -3176,7 +3176,7 @@
3176
3176
  ]
3177
3177
  },
3178
3178
  {
3179
- "begin": "(?i)\\b(compiler_(options|version))\\s*(?=\\()",
3179
+ "begin": "(?ix)\\b(compiler_(options|version))\\s*(?=\\()",
3180
3180
  "beginCaptures": {
3181
3181
  "1": {
3182
3182
  "name": "support.function.intrinsic.fortran"
@@ -3199,7 +3199,7 @@
3199
3199
  ]
3200
3200
  },
3201
3201
  {
3202
- "begin": "(?i)\\b(null)\\s*(?=\\()",
3202
+ "begin": "(?ix)\\b(null)\\s*(?=\\()",
3203
3203
  "beginCaptures": {
3204
3204
  "1": {
3205
3205
  "name": "support.function.intrinsic.fortran"
@@ -3222,7 +3222,7 @@
3222
3222
  ]
3223
3223
  },
3224
3224
  {
3225
- "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*(?=\\()",
3225
+ "begin": "(?ix)\\b(achar|adjustl|adjustr|all|allocated|associated|any|bit_size|btest|ceiling|count|cshift|digits|dot_product|eoshift|epsilon|exponent|floor|fraction|huge|iachar|iand|ibclr|ibits|ibset|ieor|ior|ishftc?| kind|lbound|len_trim|logical|matmul|maxexponent|maxloc|maxval|merge|minexponent|minloc|minval|modulo|nearest|not|pack|precision|present|product|radix|range|repeat|reshape|rrspacing|scale|scan|selected_(int|real)_kind|set_exponent|shape|size|spacing|spread|sum|tiny|transfer|transpose|trim|ubound|unpack|verify)\\s*(?=\\()",
3226
3226
  "beginCaptures": {
3227
3227
  "1": {
3228
3228
  "name": "support.function.intrinsic.fortran"
@@ -3245,7 +3245,7 @@
3245
3245
  ]
3246
3246
  },
3247
3247
  {
3248
- "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*(?=\\()",
3248
+ "begin": "(?ix)\\b([icd]?abs|acos|[ad]int|[ad]nint|aimag|amax[01]| amin[01]|d?asin|d?atan|d?atan2|char|conjg|[cd]?cos|d?cosh|cmplx|dble| i?dim|dmax1|dmin1|dprod|[cd]?exp|float|ichar|idint|ifix|index|int|len| lge|lgt|lle|llt|[acd]?log|[ad]?log10|max[01]?|min[01]?|[ad]?mod| (id)?nint|real|[di]?sign|[cd]?sin|d?sinh|sngl|[cd]?sqrt|d?tan|d?tanh) \\s*(?=\\()",
3249
3249
  "beginCaptures": {
3250
3250
  "1": {
3251
3251
  "name": "support.function.intrinsic.fortran"
@@ -3272,7 +3272,7 @@
3272
3272
  "intrinsic-subroutines": {
3273
3273
  "patterns": [
3274
3274
  {
3275
- "begin": "(?i)\\G\\s*\\b(date_and_time|mvbits|random_number|random_seed|system_clock)\\s*(?=\\()",
3275
+ "begin": "(?ix)\\G\\s*\\b(date_and_time|mvbits|random_number|random_seed| system_clock)\\s*(?=\\()",
3276
3276
  "beginCaptures": {
3277
3277
  "1": {
3278
3278
  "name": "entity.name.function.subroutine.fortran"
@@ -3387,7 +3387,7 @@
3387
3387
  ]
3388
3388
  },
3389
3389
  {
3390
- "begin": "(?i)\\G\\s*\\b(execute_command_line|get_command|get_command_argument|get_environment_variable|move_alloc)\\s*(?=\\()",
3390
+ "begin": "(?ix)\\G\\s*\\b(execute_command_line|get_command| get_command_argument|get_environment_variable|move_alloc)\\s*(?=\\()",
3391
3391
  "beginCaptures": {
3392
3392
  "1": {
3393
3393
  "name": "entity.name.function.subroutine.fortran"
@@ -3504,12 +3504,12 @@
3504
3504
  "patterns": [
3505
3505
  {
3506
3506
  "comment": "Introduced in the Fortran 1977 standard.",
3507
- "match": "(?i)(\\s*\\.(and|eq|eqv|le|lt|ge|gt|ne|neqv|not|or)\\.)",
3507
+ "match": "(?ix)(\\s*\\.(and|eq|eqv|le|lt|ge|gt|ne|neqv|not|or)\\.)",
3508
3508
  "name": "keyword.logical.fortran"
3509
3509
  },
3510
3510
  {
3511
3511
  "comment": "Introduced in the Fortran 1990 standard.",
3512
- "match": "(==|\\/=|>=|(?<!=)>|<=|<)",
3512
+ "match": "(\\=\\=|\\/\\=|\\>\\=|(?<!\\=)\\>|\\<\\=|\\<)",
3513
3513
  "name": "keyword.logical.fortran.modern"
3514
3514
  }
3515
3515
  ]
@@ -3563,10 +3563,10 @@
3563
3563
  }
3564
3564
  },
3565
3565
  "comment": "Introduced in the Fortran 1990 standard.",
3566
- "match": "(?i)\\s*\\b(module)\\b(?=\\s*(?:[;!\\n]|[^'\";!\\n]*\\b(?:function|procedure|subroutine)\\b))"
3566
+ "match": "(?ix)\\s*\\b(module)\\b(?=\\s*(?:[;!\\n]| [^'\";!\\n]*\\b(?:function|procedure|subroutine)\\b))"
3567
3567
  },
3568
3568
  "module-definition": {
3569
- "begin": "(?i)(?=\\b(module)\\b)(?![^'\";!\\n]*\\b(?:function|procedure|subroutine)\\b)",
3569
+ "begin": "(?ix)(?=\\b(module)\\b)(?![^'\";!\\n]* \\b(?:function|procedure|subroutine)\\b)",
3570
3570
  "comment": "Introduced in the Fortran 1990 standard.",
3571
3571
  "end": "(?=[;!\\n])",
3572
3572
  "name": "meta.module.fortran",
@@ -3588,7 +3588,7 @@
3588
3588
  }
3589
3589
  },
3590
3590
  "comment": "Module body.",
3591
- "end": "(?i)\\b(?:(end\\s*module)(?:\\s+([a-z_]\\w*))?|(end))\\b\\s*([^;!\\n]+)?(?=[;!\\n])",
3591
+ "end": "(?ix)\\b(?:(end\\s*module)(?:\\s+([a-z_]\\w*))?|(end))\\b \\s*([^;!\\n]+)?(?=[;!\\n])",
3592
3592
  "endCaptures": {
3593
3593
  "1": {
3594
3594
  "name": "keyword.other.endmodule.fortran"
@@ -3639,7 +3639,7 @@
3639
3639
  "begin": "(?i)(?=\\s*[a-z])",
3640
3640
  "comment": "Name list.",
3641
3641
  "contentName": "meta.name-list.fortran",
3642
- "end": "(?=[);!\\n])",
3642
+ "end": "(?=[\\);!\\n])",
3643
3643
  "patterns": [
3644
3644
  {
3645
3645
  "include": "#constants"
@@ -3672,7 +3672,7 @@
3672
3672
  },
3673
3673
  "named-control-constructs": {
3674
3674
  "applyEndPatternLast": 1,
3675
- "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)",
3675
+ "begin": "(?ix)([a-z]\\w*)\\s*(:)(?=\\s*(?:associate|block(?!\\s*data)|critical|do|forall|if|select\\s*case|select\\s*type|select\\s*rank|where)\\b)",
3676
3676
  "comment": "Introduced in the Fortran 1990 standard.",
3677
3677
  "contentName": "meta.named-construct.fortran.modern",
3678
3678
  "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])",
@@ -3758,7 +3758,7 @@
3758
3758
  },
3759
3759
  "numeric-constant": {
3760
3760
  "comment": "Numeric constants",
3761
- "match": "(?i)[+\\-]?(\\b\\d+\\.?\\d*|\\.\\d+)(_\\w+|d[+\\-]?\\d+|e[+\\-]?\\d+(_\\w+)?)?(?![a-z_])",
3761
+ "match": "(?ix)[\\+\\-]?(\\b\\d+\\.?\\d*|\\.\\d+) (_\\w+|d[\\+\\-]?\\d+|e[\\+\\-]?\\d+(_\\w+)?)?(?![a-z_])",
3762
3762
  "name": "constant.numeric.fortran"
3763
3763
  },
3764
3764
  "numeric-type": {
@@ -3826,7 +3826,7 @@
3826
3826
  "name": "constant.numeric.fortran"
3827
3827
  }
3828
3828
  },
3829
- "match": "(?i)\\b(?:(complex)|(double\\s*precision)|(double\\s*complex)|(integer)|(real)|(dimension))\\b(?:\\s*(\\*)\\s*(\\d*))?"
3829
+ "match": "(?ix)\\b(?:(complex)|(double\\s*precision)|(double\\s*complex)|(integer)|(real)|(dimension))\\b(?:\\s*(\\*)\\s*(\\d*))?"
3830
3830
  }
3831
3831
  ]
3832
3832
  },
@@ -4038,7 +4038,7 @@
4038
4038
  },
4039
4039
  "pointer-operators": {
4040
4040
  "comment": "Introduced in the Fortran 1990 standard.",
4041
- "match": "(=>)",
4041
+ "match": "(\\=\\>)",
4042
4042
  "name": "keyword.other.point.fortran"
4043
4043
  },
4044
4044
  "preprocessor": {
@@ -4075,11 +4075,11 @@
4075
4075
  }
4076
4076
  },
4077
4077
  "comment": "division regex is different than in main fortran",
4078
- "match": "(-)|(\\+)|(\\/)|(\\*)"
4078
+ "match": "(\\-)|(\\+)|(\\/)|(\\*)"
4079
4079
  },
4080
4080
  "preprocessor-assignment-operator": {
4081
4081
  "comment": "assignments with = are not allowed",
4082
- "match": "(?<!=)(=)(?!=)",
4082
+ "match": "(?<!\\=)(\\=)(?!\\=)",
4083
4083
  "name": "keyword.operator.assignment.preprocessor.fortran"
4084
4084
  },
4085
4085
  "preprocessor-comments": {
@@ -4381,7 +4381,7 @@
4381
4381
  }
4382
4382
  },
4383
4383
  "comment": "and:&&, bitand:&, or:||, bitor:|, not eq:!=, not:!, xor:^, compl:~",
4384
- "match": "(&&)|(==)|(!=)|(\\|\\|)|(<=)|(>=)|(<)|(>)|(~)|(\\^)|(&)|(!)|(\\|)",
4384
+ "match": "(&&)|(==)|(\\!=)|(\\|\\|)|(\\<\\=)|(\\>=)|(\\<)|(\\>)|(~)|(\\^)|(&)|(\\!)|(\\|)",
4385
4385
  "name": "keyword.operator.logical.preprocessor.fortran"
4386
4386
  },
4387
4387
  "preprocessor-operators": {
@@ -4498,7 +4498,7 @@
4498
4498
  "match": "(?i)\\s*\\b(private)\\b"
4499
4499
  },
4500
4500
  "procedure-call-dummy-variable": {
4501
- "match": "(?i)\\s*([a-z]\\w*)(?=\\s*=)(?!\\s*==)",
4501
+ "match": "(?i)\\s*([a-z]\\w*)(?=\\s*\\=)(?!\\s*\\=\\=)",
4502
4502
  "name": "variable.parameter.dummy-variable.fortran.modern"
4503
4503
  },
4504
4504
  "procedure-definition": {
@@ -4524,7 +4524,7 @@
4524
4524
  }
4525
4525
  },
4526
4526
  "comment": "Procedure body.",
4527
- "end": "(?i)\\s*\\b(?:(end\\s*procedure)(?:\\s+([a-z_]\\w*))?|(end))\\b\\s*([^;!\\n]+)?(?=[;!\\n])",
4527
+ "end": "(?ix)\\s*\\b(?:(end\\s*procedure)(?:\\s+([a-z_]\\w*))?|(end))\\b \\s*([^;!\\n]+)?(?=[;!\\n])",
4528
4528
  "endCaptures": {
4529
4529
  "1": {
4530
4530
  "name": "keyword.other.endprocedure.fortran"
@@ -4739,7 +4739,7 @@
4739
4739
  }
4740
4740
  },
4741
4741
  "comment": "Program body.",
4742
- "end": "(?i)\\b(?:(end\\s*program)(?:\\s+([a-z_]\\w*))?|(end))\\b\\s*([^;!\\n]+)?(?=[;!\\n])",
4742
+ "end": "(?ix)\\b(?:(end\\s*program)(?:\\s+([a-z_]\\w*))?|(end))\\b\\s*([^;!\\n]+)?(?=[;!\\n])",
4743
4743
  "endCaptures": {
4744
4744
  "1": {
4745
4745
  "name": "keyword.control.endprogram.fortran"
@@ -5210,7 +5210,7 @@
5210
5210
  }
5211
5211
  },
5212
5212
  "comment": "Submodule body.",
5213
- "end": "(?i)\\s*\\b(?:(end\\s*submodule)(?:\\s+([a-z_]\\w*))?|(end))\\b\\s*([^;!\\n]+)?(?=[;!\\n])",
5213
+ "end": "(?ix)\\s*\\b(?:(end\\s*submodule)(?:\\s+([a-z_]\\w*))?|(end))\\b \\s*([^;!\\n]+)?(?=[;!\\n])",
5214
5214
  "endCaptures": {
5215
5215
  "1": {
5216
5216
  "name": "keyword.other.endsubmodule.fortran"
@@ -5303,7 +5303,7 @@
5303
5303
  }
5304
5304
  },
5305
5305
  "comment": "Subroutine body.",
5306
- "end": "(?i)\\b(?:(end\\s*subroutine)(?:\\s+([a-z_]\\w*))?|(end))\\b\\s*([^;!\\n]+)?(?=[;!\\n])",
5306
+ "end": "(?ix)\\b(?:(end\\s*subroutine)(?:\\s+([a-z_]\\w*))?|(end))\\b \\s*([^;!\\n]+)?(?=[;!\\n])",
5307
5307
  "endCaptures": {
5308
5308
  "1": {
5309
5309
  "name": "keyword.other.endsubroutine.fortran"
@@ -5424,9 +5424,9 @@
5424
5424
  "match": "(?i)\\s*\\b(target)\\b"
5425
5425
  },
5426
5426
  "type-specification-statements": {
5427
- "begin": "(?i)(?=\\b(?:character|class|complex|double\\s*precision|double\\s*complex|integer|logical|real|type|dimension)\\b(?![^'\";!\\n:]*\\bfunction\\b))",
5427
+ "begin": "(?ix)(?=\\b(?:character|class|complex|double\\s*precision|double\\s*complex|integer|logical|real|type|dimension)\\b(?![^'\";!\\n:]*\\bfunction\\b))",
5428
5428
  "comment": "Supported types for function and escape :: if function is used as a variable name (which is bad practice).",
5429
- "end": "(?=[);!\\n])",
5429
+ "end": "(?=[\\);!\\n])",
5430
5430
  "name": "meta.specification.type.fortran",
5431
5431
  "patterns": [
5432
5432
  {