tm-grammars 1.22.19 → 1.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE +286 -1
- package/README.md +241 -239
- package/grammars/abap.json +36 -36
- package/grammars/actionscript-3.json +29 -29
- package/grammars/ada.json +78 -78
- package/grammars/angular-expression.json +62 -62
- package/grammars/angular-html.json +0 -1
- package/grammars/angular-inline-style.json +3 -3
- package/grammars/angular-inline-template.json +2 -2
- package/grammars/angular-template-blocks.json +3 -3
- package/grammars/angular-template.json +1 -1
- package/grammars/angular-ts.json +251 -251
- package/grammars/apache.json +31 -31
- package/grammars/apex.json +108 -108
- package/grammars/apl.json +18 -18
- package/grammars/applescript.json +11 -11
- package/grammars/ara.json +13 -13
- package/grammars/asciidoc.json +234 -234
- package/grammars/asm.json +90 -90
- package/grammars/astro.json +25 -25
- package/grammars/awk.json +8 -8
- package/grammars/ballerina.json +150 -150
- package/grammars/bat.json +28 -28
- package/grammars/beancount.json +33 -33
- package/grammars/berry.json +11 -11
- package/grammars/bibtex.json +12 -12
- package/grammars/bicep.json +12 -12
- package/grammars/blade.json +183 -183
- package/grammars/bsl.json +58 -58
- package/grammars/c.json +162 -162
- package/grammars/cadence.json +20 -20
- package/grammars/cairo.json +10 -10
- package/grammars/clarity.json +20 -20
- package/grammars/clojure.json +25 -25
- package/grammars/cmake.json +3 -3
- package/grammars/cobol.json +91 -91
- package/grammars/codeql.json +154 -154
- package/grammars/coffee.json +45 -45
- package/grammars/common-lisp.json +50 -50
- package/grammars/coq.json +10 -10
- package/grammars/cpp-macro.json +410 -410
- package/grammars/cpp.json +641 -641
- package/grammars/crystal.json +68 -68
- package/grammars/csharp.json +196 -196
- package/grammars/css.json +83 -83
- package/grammars/csv.json +1 -1
- package/grammars/cue.json +55 -55
- package/grammars/cypher.json +11 -11
- package/grammars/d.json +127 -32
- package/grammars/dart.json +18 -18
- package/grammars/dax.json +9 -9
- package/grammars/desktop.json +9 -9
- package/grammars/diff.json +3 -3
- package/grammars/dotenv.json +3 -3
- package/grammars/dream-maker.json +20 -20
- package/grammars/edge.json +8 -8
- package/grammars/elixir.json +44 -44
- package/grammars/elm.json +23 -23
- package/grammars/emacs-lisp.json +76 -76
- package/grammars/erb.json +2 -2
- package/grammars/erlang.json +29 -29
- package/grammars/es-tag-css.json +3 -3
- package/grammars/es-tag-glsl.json +3 -3
- package/grammars/es-tag-html.json +3 -3
- package/grammars/es-tag-sql.json +2 -2
- package/grammars/es-tag-xml.json +2 -2
- package/grammars/fennel.json +8 -8
- package/grammars/fish.json +10 -10
- package/grammars/fluent.json +10 -10
- package/grammars/fortran-fixed-form.json +1 -1
- package/grammars/fortran-free-form.json +106 -106
- package/grammars/fsharp.json +70 -70
- package/grammars/gdresource.json +15 -15
- package/grammars/gdscript.json +31 -27
- package/grammars/gdshader.json +18 -18
- package/grammars/genie.json +6 -6
- package/grammars/gherkin.json +1 -1
- package/grammars/git-commit.json +1 -1
- package/grammars/git-rebase.json +1 -1
- package/grammars/gleam.json +11 -11
- package/grammars/glimmer-js.json +35 -35
- package/grammars/glimmer-ts.json +35 -35
- package/grammars/glsl.json +4 -4
- package/grammars/gnuplot.json +41 -41
- package/grammars/go.json +155 -155
- package/grammars/graphql.json +20 -20
- package/grammars/groovy.json +44 -44
- package/grammars/hack.json +74 -74
- package/grammars/haml.json +24 -24
- package/grammars/handlebars.json +25 -25
- package/grammars/haskell.json +99 -99
- package/grammars/haxe.json +51 -51
- package/grammars/hcl.json +43 -43
- package/grammars/hjson.json +29 -29
- package/grammars/hlsl.json +15 -15
- package/grammars/html-derivative.json +0 -1
- package/grammars/html.json +28 -29
- package/grammars/http.json +17 -17
- package/grammars/hxml.json +3 -3
- package/grammars/hy.json +10 -10
- package/grammars/imba.json +168 -173
- package/grammars/ini.json +2 -2
- package/grammars/java.json +54 -54
- package/grammars/javascript.json +262 -262
- package/grammars/jinja-html.json +3 -3
- package/grammars/jinja.json +15 -15
- package/grammars/jison.json +18 -18
- package/grammars/json.json +6 -6
- package/grammars/json5.json +12 -12
- package/grammars/jsonc.json +6 -6
- package/grammars/jsonl.json +6 -6
- package/grammars/jsonnet.json +15 -15
- package/grammars/jssm.json +4 -4
- package/grammars/jsx.json +262 -262
- package/grammars/julia.json +45 -45
- package/grammars/kotlin.json +15 -15
- package/grammars/kusto.json +13 -13
- package/grammars/latex.json +260 -260
- package/grammars/lean.json +12 -12
- package/grammars/less.json +91 -91
- package/grammars/liquid.json +96 -62
- package/grammars/llvm.json +122 -0
- package/grammars/log.json +22 -22
- package/grammars/logo.json +2 -2
- package/grammars/lua.json +34 -34
- package/grammars/luau.json +20 -20
- package/grammars/make.json +22 -22
- package/grammars/markdown-vue.json +1 -1
- package/grammars/markdown.json +83 -83
- package/grammars/marko.json +19 -19
- package/grammars/matlab.json +29 -29
- package/grammars/mdc.json +17 -17
- package/grammars/mdx.json +278 -278
- package/grammars/mermaid.json +97 -97
- package/grammars/mipsasm.json +2 -2
- package/grammars/mojo.json +122 -122
- package/grammars/move.json +35 -35
- package/grammars/narrat.json +10 -10
- package/grammars/nextflow.json +11 -11
- package/grammars/nginx.json +45 -45
- package/grammars/nim.json +44 -44
- package/grammars/nix.json +71 -71
- package/grammars/nushell.json +36 -36
- package/grammars/objective-c.json +129 -129
- package/grammars/objective-cpp.json +245 -245
- package/grammars/ocaml.json +229 -229
- package/grammars/pascal.json +4 -4
- package/grammars/perl.json +64 -64
- package/grammars/php.json +199 -199
- package/grammars/plsql.json +10 -10
- package/grammars/po.json +4 -4
- package/grammars/polar.json +13 -13
- package/grammars/postcss.json +31 -31
- package/grammars/powerquery.json +10 -10
- package/grammars/powershell.json +54 -54
- package/grammars/prisma.json +13 -13
- package/grammars/prolog.json +3 -3
- package/grammars/proto.json +11 -11
- package/grammars/pug.json +30 -30
- package/grammars/puppet.json +35 -35
- package/grammars/purescript.json +843 -467
- package/grammars/python.json +126 -126
- package/grammars/qml.json +18 -18
- package/grammars/qss.json +7 -7
- package/grammars/r.json +17 -17
- package/grammars/racket.json +58 -58
- package/grammars/raku.json +15 -15
- package/grammars/razor.json +30 -30
- package/grammars/reg.json +3 -3
- package/grammars/regexp.json +15 -15
- package/grammars/rel.json +4 -4
- package/grammars/riscv.json +15 -15
- package/grammars/rst.json +26 -26
- package/grammars/ruby.json +103 -106
- package/grammars/rust.json +13 -13
- package/grammars/sas.json +9 -9
- package/grammars/sass.json +35 -35
- package/grammars/scala.json +75 -75
- package/grammars/scheme.json +16 -16
- package/grammars/scss.json +68 -68
- package/grammars/sdbl.json +18 -18
- package/grammars/shaderlab.json +8 -8
- package/grammars/shellscript.json +111 -111
- package/grammars/shellsession.json +1 -1
- package/grammars/smalltalk.json +5 -5
- package/grammars/solidity.json +20 -20
- package/grammars/soy.json +30 -30
- package/grammars/sparql.json +1 -1
- package/grammars/splunk.json +6 -6
- package/grammars/sql.json +8 -8
- package/grammars/ssh-config.json +2 -2
- package/grammars/stata.json +90 -90
- package/grammars/stylus.json +48 -48
- package/grammars/svelte.json +35 -25
- package/grammars/swift.json +114 -114
- package/grammars/system-verilog.json +25 -25
- package/grammars/systemd.json +16 -16
- package/grammars/talonscript.json +12 -12
- package/grammars/tasl.json +10 -10
- package/grammars/tcl.json +11 -11
- package/grammars/templ.json +34 -34
- package/grammars/terraform.json +42 -42
- package/grammars/tex.json +14 -14
- package/grammars/toml.json +15 -15
- package/grammars/tsx.json +262 -262
- package/grammars/turtle.json +2 -2
- package/grammars/twig.json +37 -37
- package/grammars/typescript.json +251 -251
- package/grammars/typespec.json +54 -273
- package/grammars/typst.json +34 -34
- package/grammars/v.json +32 -32
- package/grammars/vala.json +6 -6
- package/grammars/vb.json +7 -7
- package/grammars/verilog.json +4 -4
- package/grammars/vhdl.json +10 -10
- package/grammars/viml.json +22 -22
- package/grammars/vue-html.json +10 -10
- package/grammars/vue-sfc-style-variable-injection.json +1 -1
- package/grammars/vue.json +65 -65
- package/grammars/vyper.json +126 -126
- package/grammars/wasm.json +26 -26
- package/grammars/wenyan.json +7 -7
- package/grammars/wgsl.json +9 -9
- package/grammars/wikitext.json +66 -66
- package/grammars/wit.json +1409 -0
- package/grammars/wolfram.json +446 -446
- package/grammars/xml.json +11 -11
- package/grammars/xsl.json +1 -1
- package/grammars/yaml.json +24 -24
- package/grammars/zenscript.json +8 -8
- package/grammars/zig.json +11 -11
- package/index.d.ts +7 -0
- package/index.js +1003 -283
- package/package.json +1 -1
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
".pf",
|
|
17
17
|
".PF"
|
|
18
18
|
],
|
|
19
|
-
"firstLineMatch": "(?i)
|
|
19
|
+
"firstLineMatch": "(?i)-\\*- mode: fortran free -\\*-",
|
|
20
20
|
"injections": {
|
|
21
21
|
"source.fortran.free - ( string | comment | meta.preprocessor )": {
|
|
22
22
|
"patterns": [
|
|
@@ -128,7 +128,7 @@
|
|
|
128
128
|
"IO-item-list": {
|
|
129
129
|
"begin": "(?i)(?=\\s*[a-z0-9\"'])",
|
|
130
130
|
"contentName": "meta.name-list.fortran",
|
|
131
|
-
"end": "(?=[
|
|
131
|
+
"end": "(?=[);!\\n])",
|
|
132
132
|
"patterns": [
|
|
133
133
|
{
|
|
134
134
|
"include": "#constants"
|
|
@@ -198,7 +198,7 @@
|
|
|
198
198
|
"IO-statements": {
|
|
199
199
|
"patterns": [
|
|
200
200
|
{
|
|
201
|
-
"begin": "(?
|
|
201
|
+
"begin": "(?i)\\b(?:(backspace)|(close)|(endfile)|(format)|(inquire)|(open)|(read)|(rewind)|(write))\\s*(?=\\()",
|
|
202
202
|
"beginCaptures": {
|
|
203
203
|
"1": {
|
|
204
204
|
"name": "keyword.control.backspace.fortran"
|
|
@@ -395,10 +395,10 @@
|
|
|
395
395
|
"name": "keyword.operator.multiplication.fortran"
|
|
396
396
|
}
|
|
397
397
|
},
|
|
398
|
-
"match": "(
|
|
398
|
+
"match": "(-)|(\\+)|/(?![/=\\\\])|(\\*\\*)|(\\*)"
|
|
399
399
|
},
|
|
400
400
|
"array-constructor": {
|
|
401
|
-
"begin": "(?=\\s*(\\[|\\(
|
|
401
|
+
"begin": "(?=\\s*(\\[|\\(/))",
|
|
402
402
|
"end": "(?<!\\G)",
|
|
403
403
|
"name": "meta.contructor.array",
|
|
404
404
|
"patterns": [
|
|
@@ -406,13 +406,13 @@
|
|
|
406
406
|
"include": "#brackets"
|
|
407
407
|
},
|
|
408
408
|
{
|
|
409
|
-
"begin": "\\s*(\\(
|
|
409
|
+
"begin": "\\s*(\\(/)",
|
|
410
410
|
"beginCaptures": {
|
|
411
411
|
"1": {
|
|
412
412
|
"name": "punctuation.bracket.left.fortran"
|
|
413
413
|
}
|
|
414
414
|
},
|
|
415
|
-
"end": "(
|
|
415
|
+
"end": "(/\\))",
|
|
416
416
|
"endCaptures": {
|
|
417
417
|
"1": {
|
|
418
418
|
"name": "punctuation.bracket.left.fortran"
|
|
@@ -497,7 +497,7 @@
|
|
|
497
497
|
]
|
|
498
498
|
},
|
|
499
499
|
"assignment-operator": {
|
|
500
|
-
"match": "(
|
|
500
|
+
"match": "(?<![/=<>])(=)(?![=>])",
|
|
501
501
|
"name": "keyword.operator.assignment.fortran"
|
|
502
502
|
},
|
|
503
503
|
"associate-construct": {
|
|
@@ -529,7 +529,7 @@
|
|
|
529
529
|
"match": "(?i)\\G\\s*\\b(asynchronous)\\b"
|
|
530
530
|
},
|
|
531
531
|
"attribute-specification-statement": {
|
|
532
|
-
"begin": "(?
|
|
532
|
+
"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*\\[)",
|
|
533
533
|
"end": "(?=[;!\\n])",
|
|
534
534
|
"name": "meta.statement.attribute-specification.fortran",
|
|
535
535
|
"patterns": [
|
|
@@ -637,7 +637,7 @@
|
|
|
637
637
|
"name": "entity.name.block-data.fortran"
|
|
638
638
|
}
|
|
639
639
|
},
|
|
640
|
-
"end": "(?
|
|
640
|
+
"end": "(?i)\\b(?:(end\\s*block\\s*data)(?:\\s+(\\2))?|(end))\\b(?:\\s*(\\S((?!\\n).)*))?",
|
|
641
641
|
"endCaptures": {
|
|
642
642
|
"1": {
|
|
643
643
|
"name": "keyword.control.end-block-data.fortran"
|
|
@@ -666,7 +666,7 @@
|
|
|
666
666
|
"name": "punctuation.bracket.left.fortran"
|
|
667
667
|
}
|
|
668
668
|
},
|
|
669
|
-
"end": "(
|
|
669
|
+
"end": "(])",
|
|
670
670
|
"endCaptures": {
|
|
671
671
|
"1": {
|
|
672
672
|
"name": "punctuation.bracket.left.fortran"
|
|
@@ -709,7 +709,7 @@
|
|
|
709
709
|
"name": "meta.statement.control.call.fortran",
|
|
710
710
|
"patterns": [
|
|
711
711
|
{
|
|
712
|
-
"begin": "(?
|
|
712
|
+
"begin": "(?i)\\G\\s*([a-z]\\w*)(%)([a-z]\\w*)\\b\\s*(?=\\()",
|
|
713
713
|
"beginCaptures": {
|
|
714
714
|
"1": {
|
|
715
715
|
"name": "variable.other.fortran"
|
|
@@ -978,7 +978,7 @@
|
|
|
978
978
|
"name": "constant.numeric.exponent.hexadecimal.cpp",
|
|
979
979
|
"patterns": [
|
|
980
980
|
{
|
|
981
|
-
"match": "(
|
|
981
|
+
"match": "(?<=\\h)'(?=\\h)",
|
|
982
982
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
983
983
|
}
|
|
984
984
|
]
|
|
@@ -993,7 +993,7 @@
|
|
|
993
993
|
"name": "constant.numeric.hexadecimal.cpp",
|
|
994
994
|
"patterns": [
|
|
995
995
|
{
|
|
996
|
-
"match": "(
|
|
996
|
+
"match": "(?<=\\h)'(?=\\h)",
|
|
997
997
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
998
998
|
}
|
|
999
999
|
]
|
|
@@ -1008,7 +1008,7 @@
|
|
|
1008
1008
|
"name": "constant.numeric.hexadecimal.cpp",
|
|
1009
1009
|
"patterns": [
|
|
1010
1010
|
{
|
|
1011
|
-
"match": "(
|
|
1011
|
+
"match": "(?<=\\h)'(?=\\h)",
|
|
1012
1012
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
1013
1013
|
}
|
|
1014
1014
|
]
|
|
@@ -1026,7 +1026,7 @@
|
|
|
1026
1026
|
"name": "keyword.operator.minus.exponent.hexadecimal.cpp"
|
|
1027
1027
|
}
|
|
1028
1028
|
},
|
|
1029
|
-
"match": "(\\G0[xX])(
|
|
1029
|
+
"match": "(\\G0[xX])(\\h(?:\\h|((?<=\\h)'(?=\\h)))*)?((?:(?<=\\h)\\.|\\.(?=\\h)))(\\h(?:\\h|((?<=\\h)'(?=\\h)))*)?(?:(?<!')([pP])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)'(?=\\h))*))?([lLfF](?!\\w))?((?:\\w(?<![pP\\h])\\w*)?$)"
|
|
1030
1030
|
},
|
|
1031
1031
|
{
|
|
1032
1032
|
"captures": {
|
|
@@ -1034,7 +1034,7 @@
|
|
|
1034
1034
|
"name": "constant.numeric.decimal.cpp",
|
|
1035
1035
|
"patterns": [
|
|
1036
1036
|
{
|
|
1037
|
-
"match": "(
|
|
1037
|
+
"match": "(?<=\\h)'(?=\\h)",
|
|
1038
1038
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
1039
1039
|
}
|
|
1040
1040
|
]
|
|
@@ -1055,7 +1055,7 @@
|
|
|
1055
1055
|
"name": "constant.numeric.decimal.cpp",
|
|
1056
1056
|
"patterns": [
|
|
1057
1057
|
{
|
|
1058
|
-
"match": "(
|
|
1058
|
+
"match": "(?<=\\h)'(?=\\h)",
|
|
1059
1059
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
1060
1060
|
}
|
|
1061
1061
|
]
|
|
@@ -1076,13 +1076,13 @@
|
|
|
1076
1076
|
"name": "constant.numeric.exponent.decimal.cpp",
|
|
1077
1077
|
"patterns": [
|
|
1078
1078
|
{
|
|
1079
|
-
"match": "(
|
|
1079
|
+
"match": "(?<=\\h)'(?=\\h)",
|
|
1080
1080
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
1081
1081
|
}
|
|
1082
1082
|
]
|
|
1083
1083
|
}
|
|
1084
1084
|
},
|
|
1085
|
-
"match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((
|
|
1085
|
+
"match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=\\h)'(?=\\h)))*)?((?:(?<=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?<=\\h)'(?=\\h)))*)?(?:(?<!')([eE])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)'(?=\\h))*))?([lLfF](?!\\w))?((?:\\w(?<![0-9eE])\\w*)?$)"
|
|
1086
1086
|
},
|
|
1087
1087
|
{
|
|
1088
1088
|
"captures": {
|
|
@@ -1093,7 +1093,7 @@
|
|
|
1093
1093
|
"name": "constant.numeric.binary.cpp",
|
|
1094
1094
|
"patterns": [
|
|
1095
1095
|
{
|
|
1096
|
-
"match": "(
|
|
1096
|
+
"match": "(?<=\\h)'(?=\\h)",
|
|
1097
1097
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
1098
1098
|
}
|
|
1099
1099
|
]
|
|
@@ -1108,7 +1108,7 @@
|
|
|
1108
1108
|
"name": "keyword.other.unit.user-defined.cpp"
|
|
1109
1109
|
}
|
|
1110
1110
|
},
|
|
1111
|
-
"match": "(\\G0[bB])([01](?:[01]|((
|
|
1111
|
+
"match": "(\\G0[bB])([01](?:[01]|((?<=\\h)'(?=\\h)))*)((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?!\\w))?((?:\\w(?<![0-9])\\w*)?$)"
|
|
1112
1112
|
},
|
|
1113
1113
|
{
|
|
1114
1114
|
"captures": {
|
|
@@ -1119,7 +1119,7 @@
|
|
|
1119
1119
|
"name": "constant.numeric.octal.cpp",
|
|
1120
1120
|
"patterns": [
|
|
1121
1121
|
{
|
|
1122
|
-
"match": "(
|
|
1122
|
+
"match": "(?<=\\h)'(?=\\h)",
|
|
1123
1123
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
1124
1124
|
}
|
|
1125
1125
|
]
|
|
@@ -1134,7 +1134,7 @@
|
|
|
1134
1134
|
"name": "keyword.other.unit.user-defined.cpp"
|
|
1135
1135
|
}
|
|
1136
1136
|
},
|
|
1137
|
-
"match": "(\\G0)((?:[0-7]|((
|
|
1137
|
+
"match": "(\\G0)((?:[0-7]|((?<=\\h)'(?=\\h)))+)((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?!\\w))?((?:\\w(?<![0-9])\\w*)?$)"
|
|
1138
1138
|
},
|
|
1139
1139
|
{
|
|
1140
1140
|
"captures": {
|
|
@@ -1145,7 +1145,7 @@
|
|
|
1145
1145
|
"name": "constant.numeric.hexadecimal.cpp",
|
|
1146
1146
|
"patterns": [
|
|
1147
1147
|
{
|
|
1148
|
-
"match": "(
|
|
1148
|
+
"match": "(?<=\\h)'(?=\\h)",
|
|
1149
1149
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
1150
1150
|
}
|
|
1151
1151
|
]
|
|
@@ -1166,7 +1166,7 @@
|
|
|
1166
1166
|
"name": "constant.numeric.exponent.hexadecimal.cpp",
|
|
1167
1167
|
"patterns": [
|
|
1168
1168
|
{
|
|
1169
|
-
"match": "(
|
|
1169
|
+
"match": "(?<=\\h)'(?=\\h)",
|
|
1170
1170
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
1171
1171
|
}
|
|
1172
1172
|
]
|
|
@@ -1178,7 +1178,7 @@
|
|
|
1178
1178
|
"name": "keyword.other.unit.user-defined.cpp"
|
|
1179
1179
|
}
|
|
1180
1180
|
},
|
|
1181
|
-
"match": "(\\G0[xX])(
|
|
1181
|
+
"match": "(\\G0[xX])(\\h(?:\\h|((?<=\\h)'(?=\\h)))*)(?:(?<!')([pP])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)'(?=\\h))*))?((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?!\\w))?((?:\\w(?<![pP\\h])\\w*)?$)"
|
|
1182
1182
|
},
|
|
1183
1183
|
{
|
|
1184
1184
|
"captures": {
|
|
@@ -1186,7 +1186,7 @@
|
|
|
1186
1186
|
"name": "constant.numeric.decimal.cpp",
|
|
1187
1187
|
"patterns": [
|
|
1188
1188
|
{
|
|
1189
|
-
"match": "(
|
|
1189
|
+
"match": "(?<=\\h)'(?=\\h)",
|
|
1190
1190
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
1191
1191
|
}
|
|
1192
1192
|
]
|
|
@@ -1207,7 +1207,7 @@
|
|
|
1207
1207
|
"name": "constant.numeric.exponent.decimal.cpp",
|
|
1208
1208
|
"patterns": [
|
|
1209
1209
|
{
|
|
1210
|
-
"match": "(
|
|
1210
|
+
"match": "(?<=\\h)'(?=\\h)",
|
|
1211
1211
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
1212
1212
|
}
|
|
1213
1213
|
]
|
|
@@ -1219,10 +1219,10 @@
|
|
|
1219
1219
|
"name": "keyword.other.unit.user-defined.cpp"
|
|
1220
1220
|
}
|
|
1221
1221
|
},
|
|
1222
|
-
"match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((
|
|
1222
|
+
"match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=\\h)'(?=\\h)))*)(?:(?<!')([eE])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)'(?=\\h))*))?((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?!\\w))?((?:\\w(?<![0-9eE])\\w*)?$)"
|
|
1223
1223
|
},
|
|
1224
1224
|
{
|
|
1225
|
-
"match": "(?:
|
|
1225
|
+
"match": "(?:[0-9a-zA-Z_.']|(?<=[eEpP])[+\\-])+",
|
|
1226
1226
|
"name": "invalid.illegal.constant.numeric.cpp"
|
|
1227
1227
|
}
|
|
1228
1228
|
]
|
|
@@ -1230,7 +1230,7 @@
|
|
|
1230
1230
|
]
|
|
1231
1231
|
}
|
|
1232
1232
|
},
|
|
1233
|
-
"match": "(?<!\\w)\\.?\\d(?:
|
|
1233
|
+
"match": "(?<!\\w)\\.?\\d(?:[0-9a-zA-Z_.']|(?<=[eEpP])[+\\-])*"
|
|
1234
1234
|
},
|
|
1235
1235
|
"critical-construct": {
|
|
1236
1236
|
"begin": "(?i)\\b(critical)\\b",
|
|
@@ -1377,10 +1377,10 @@
|
|
|
1377
1377
|
"name": "entity.name.derived-type.parameter.fortran"
|
|
1378
1378
|
}
|
|
1379
1379
|
},
|
|
1380
|
-
"match": "(?
|
|
1380
|
+
"match": "(?i)\\b(integer)\\s*(,)\\s*(kind|len)\\s*(?:(::)\\s*([a-z]\\w*)?)?\\s*(?=[;!\\n])"
|
|
1381
1381
|
},
|
|
1382
1382
|
"derived-type-component-procedure-specification": {
|
|
1383
|
-
"begin": "(?i)(?=\\
|
|
1383
|
+
"begin": "(?i)(?=\\bprocedure\\b)",
|
|
1384
1384
|
"end": "(?=[;!\\n])",
|
|
1385
1385
|
"name": "meta.specification.procedure.fortran",
|
|
1386
1386
|
"patterns": [
|
|
@@ -1431,7 +1431,7 @@
|
|
|
1431
1431
|
]
|
|
1432
1432
|
},
|
|
1433
1433
|
"derived-type-component-type-specification": {
|
|
1434
|
-
"begin": "(?
|
|
1434
|
+
"begin": "(?i)(?=\\b(?:character|class|complex|double\\s*precision|double\\s*complex|integer|logical|real|type)\\b(?![^:'\";!\\n]*\\bfunction\\b))",
|
|
1435
1435
|
"end": "(?=[;!\\n])",
|
|
1436
1436
|
"name": "meta.specification.derived-type.fortran",
|
|
1437
1437
|
"patterns": [
|
|
@@ -1491,7 +1491,7 @@
|
|
|
1491
1491
|
]
|
|
1492
1492
|
},
|
|
1493
1493
|
"derived-type-contains-attribute-specification": {
|
|
1494
|
-
"begin": "(?i)(?=\\
|
|
1494
|
+
"begin": "(?i)(?=\\bprivate\\b)",
|
|
1495
1495
|
"end": "(?=[;!\\n])",
|
|
1496
1496
|
"name": "meta.statement.attribute-specification.fortran",
|
|
1497
1497
|
"patterns": [
|
|
@@ -1560,7 +1560,7 @@
|
|
|
1560
1560
|
"name": "punctuation.comma.fortran"
|
|
1561
1561
|
}
|
|
1562
1562
|
},
|
|
1563
|
-
"end": "(?=::|[
|
|
1563
|
+
"end": "(?=::|[,\\&;!\\n])",
|
|
1564
1564
|
"patterns": [
|
|
1565
1565
|
{
|
|
1566
1566
|
"include": "#access-attribute"
|
|
@@ -1597,7 +1597,7 @@
|
|
|
1597
1597
|
]
|
|
1598
1598
|
},
|
|
1599
1599
|
"derived-type-contains-procedure-specification": {
|
|
1600
|
-
"begin": "(?i)(?=\\
|
|
1600
|
+
"begin": "(?i)(?=\\bprocedure\\b)",
|
|
1601
1601
|
"end": "(?=[;!\\n])",
|
|
1602
1602
|
"name": "meta.specification.procedure.fortran",
|
|
1603
1603
|
"patterns": [
|
|
@@ -1621,7 +1621,7 @@
|
|
|
1621
1621
|
"name": "punctuation.comma.fortran"
|
|
1622
1622
|
}
|
|
1623
1623
|
},
|
|
1624
|
-
"end": "(?=::|[
|
|
1624
|
+
"end": "(?=::|[,\\&;!\\n])",
|
|
1625
1625
|
"name": "meta.something.fortran",
|
|
1626
1626
|
"patterns": [
|
|
1627
1627
|
{
|
|
@@ -1652,7 +1652,7 @@
|
|
|
1652
1652
|
]
|
|
1653
1653
|
},
|
|
1654
1654
|
"derived-type-definition": {
|
|
1655
|
-
"begin": "(?i)\\b(type)\\b(?!\\s*(\\(|is\\b
|
|
1655
|
+
"begin": "(?i)\\b(type)\\b(?!\\s*(\\(|is\\b|=))",
|
|
1656
1656
|
"beginCaptures": {
|
|
1657
1657
|
"1": {
|
|
1658
1658
|
"name": "keyword.control.type.fortran"
|
|
@@ -1784,7 +1784,7 @@
|
|
|
1784
1784
|
"name": "keyword.other.selector.fortran"
|
|
1785
1785
|
}
|
|
1786
1786
|
},
|
|
1787
|
-
"match": "\\s*(
|
|
1787
|
+
"match": "\\s*(%)"
|
|
1788
1788
|
},
|
|
1789
1789
|
"dimension-attribute": {
|
|
1790
1790
|
"begin": "(?i)\\s*\\b(dimension)(?=\\s*\\()",
|
|
@@ -1906,7 +1906,7 @@
|
|
|
1906
1906
|
"name": "variable.parameter.fortran"
|
|
1907
1907
|
}
|
|
1908
1908
|
},
|
|
1909
|
-
"match": "(?i)(?:^|(?<=[
|
|
1909
|
+
"match": "(?i)(?:^|(?<=[\\&,(]))\\s*([a-z]\\w*)"
|
|
1910
1910
|
},
|
|
1911
1911
|
"dummy-variable-list": {
|
|
1912
1912
|
"begin": "\\G\\s*(\\()",
|
|
@@ -2013,7 +2013,7 @@
|
|
|
2013
2013
|
"include": "#comments"
|
|
2014
2014
|
},
|
|
2015
2015
|
{
|
|
2016
|
-
"begin": "(?
|
|
2016
|
+
"begin": "(?i)\\b(enumerator)\\b",
|
|
2017
2017
|
"beginCaptures": {
|
|
2018
2018
|
"1": {
|
|
2019
2019
|
"name": "keyword.other.enumerator.fortran"
|
|
@@ -2099,7 +2099,7 @@
|
|
|
2099
2099
|
]
|
|
2100
2100
|
},
|
|
2101
2101
|
"event-statement": {
|
|
2102
|
-
"begin": "(?i)\\b(event post|
|
|
2102
|
+
"begin": "(?i)\\b(event (?:post|wait))\\s*(?=\\()",
|
|
2103
2103
|
"beginCaptures": {
|
|
2104
2104
|
"1": {
|
|
2105
2105
|
"name": "keyword.control.event.fortran"
|
|
@@ -2320,7 +2320,7 @@
|
|
|
2320
2320
|
"name": "entity.name.function.fortran"
|
|
2321
2321
|
}
|
|
2322
2322
|
},
|
|
2323
|
-
"end": "(?
|
|
2323
|
+
"end": "(?i)\\s*\\b(?:(end\\s*function)(?:\\s+([a-z_]\\w*))?|(end))\\b\\s*([^;!\\n]+)?(?=[;!\\n])",
|
|
2324
2324
|
"endCaptures": {
|
|
2325
2325
|
"1": {
|
|
2326
2326
|
"name": "keyword.other.endfunction.fortran"
|
|
@@ -2353,8 +2353,8 @@
|
|
|
2353
2353
|
]
|
|
2354
2354
|
},
|
|
2355
2355
|
{
|
|
2356
|
-
"begin": "(?i)(?!\\
|
|
2357
|
-
"end": "(?i)(?=\\
|
|
2356
|
+
"begin": "(?i)(?!\\bend(?:\\s*[;!\\n]|\\s*function\\b))",
|
|
2357
|
+
"end": "(?i)(?=\\bend(?:\\s*[;!\\n]|\\s*function\\b))",
|
|
2358
2358
|
"name": "meta.block.specification.function.fortran",
|
|
2359
2359
|
"patterns": [
|
|
2360
2360
|
{
|
|
@@ -2364,7 +2364,7 @@
|
|
|
2364
2364
|
"name": "keyword.control.contains.fortran"
|
|
2365
2365
|
}
|
|
2366
2366
|
},
|
|
2367
|
-
"end": "(?i)(?=(
|
|
2367
|
+
"end": "(?i)(?=end(?:\\s*[;!\\n]|\\s*function\\b))",
|
|
2368
2368
|
"name": "meta.block.contains.fortran",
|
|
2369
2369
|
"patterns": [
|
|
2370
2370
|
{
|
|
@@ -2394,7 +2394,7 @@
|
|
|
2394
2394
|
"name": "meta.interface.generic.fortran",
|
|
2395
2395
|
"patterns": [
|
|
2396
2396
|
{
|
|
2397
|
-
"begin": "(?
|
|
2397
|
+
"begin": "(?i)\\G\\s*\\b(assignment)\\s*(\\()\\s*(?:(=)|(\\S.*))\\s*(\\))",
|
|
2398
2398
|
"beginCaptures": {
|
|
2399
2399
|
"1": {
|
|
2400
2400
|
"name": "keyword.other.assignment.fortran"
|
|
@@ -2412,7 +2412,7 @@
|
|
|
2412
2412
|
"name": "punctuation.parentheses.right.fortran"
|
|
2413
2413
|
}
|
|
2414
2414
|
},
|
|
2415
|
-
"end": "(?
|
|
2415
|
+
"end": "(?i)\\b(end\\s*interface)\\b(?:\\s*\\b(\\1)\\b\\s*(\\()\\s*(?:(\\3)|(\\S.*))\\s*(\\)))?",
|
|
2416
2416
|
"endCaptures": {
|
|
2417
2417
|
"1": {
|
|
2418
2418
|
"name": "keyword.control.endinterface.fortran"
|
|
@@ -2443,7 +2443,7 @@
|
|
|
2443
2443
|
]
|
|
2444
2444
|
},
|
|
2445
2445
|
{
|
|
2446
|
-
"begin": "(?
|
|
2446
|
+
"begin": "(?i)\\G\\s*\\b(operator)\\s*(\\()\\s*(?:(\\.[a-z]+\\.|==|/=|>=|[><]|<=|[\\-+/]|//|\\*\\*|\\*)|(\\S.*))\\s*(\\))",
|
|
2447
2447
|
"beginCaptures": {
|
|
2448
2448
|
"1": {
|
|
2449
2449
|
"name": "keyword.other.operator.fortran"
|
|
@@ -2461,7 +2461,7 @@
|
|
|
2461
2461
|
"name": "punctuation.parentheses.right.fortran"
|
|
2462
2462
|
}
|
|
2463
2463
|
},
|
|
2464
|
-
"end": "(?
|
|
2464
|
+
"end": "(?i)\\b(end\\s*interface)\\b(?:\\s*\\b(\\1)\\b\\s*(\\()\\s*(?:(\\3)|(\\S.*))\\s*(\\)))?",
|
|
2465
2465
|
"endCaptures": {
|
|
2466
2466
|
"1": {
|
|
2467
2467
|
"name": "keyword.control.endinterface.fortran"
|
|
@@ -2492,7 +2492,7 @@
|
|
|
2492
2492
|
]
|
|
2493
2493
|
},
|
|
2494
2494
|
{
|
|
2495
|
-
"begin": "(?
|
|
2495
|
+
"begin": "(?i)\\G\\s*\\b(?:(read)|(write))\\s*(\\()\\s*(?:(formatted)|(unformatted)|(\\S.*))\\s*(\\))",
|
|
2496
2496
|
"beginCaptures": {
|
|
2497
2497
|
"1": {
|
|
2498
2498
|
"name": "keyword.other.read.fortran"
|
|
@@ -2516,7 +2516,7 @@
|
|
|
2516
2516
|
"name": "punctuation.parentheses.right.fortran"
|
|
2517
2517
|
}
|
|
2518
2518
|
},
|
|
2519
|
-
"end": "(?
|
|
2519
|
+
"end": "(?i)\\b(end\\s*interface)\\b(?:\\s*\\b(?:(\\2)|(\\3))\\b\\s*(\\()\\s*(?:(\\4)|(\\5)|(\\S.*))\\s*(\\)))?",
|
|
2520
2520
|
"endCaptures": {
|
|
2521
2521
|
"1": {
|
|
2522
2522
|
"name": "keyword.control.endinterface.fortran"
|
|
@@ -2661,7 +2661,7 @@
|
|
|
2661
2661
|
"end": "(?i)(?=\\b(end\\s*if)\\b)",
|
|
2662
2662
|
"patterns": [
|
|
2663
2663
|
{
|
|
2664
|
-
"begin": "(?!(\\s*(
|
|
2664
|
+
"begin": "(?!(\\s*([;!\\n])))",
|
|
2665
2665
|
"end": "(?=[;!\\n])",
|
|
2666
2666
|
"patterns": [
|
|
2667
2667
|
{
|
|
@@ -2945,7 +2945,7 @@
|
|
|
2945
2945
|
"intrinsic-functions": {
|
|
2946
2946
|
"patterns": [
|
|
2947
2947
|
{
|
|
2948
|
-
"begin": "(?
|
|
2948
|
+
"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*(?=\\()",
|
|
2949
2949
|
"beginCaptures": {
|
|
2950
2950
|
"1": {
|
|
2951
2951
|
"name": "support.function.intrinsic.fortran"
|
|
@@ -2967,7 +2967,7 @@
|
|
|
2967
2967
|
]
|
|
2968
2968
|
},
|
|
2969
2969
|
{
|
|
2970
|
-
"begin": "(?
|
|
2970
|
+
"begin": "(?i)\\b(bessel_[jy][01n]|erf(c(_scaled)?)?|gamma|log_gamma)\\s*(?=\\()",
|
|
2971
2971
|
"beginCaptures": {
|
|
2972
2972
|
"1": {
|
|
2973
2973
|
"name": "support.function.intrinsic.fortran"
|
|
@@ -2989,7 +2989,7 @@
|
|
|
2989
2989
|
]
|
|
2990
2990
|
},
|
|
2991
2991
|
{
|
|
2992
|
-
"begin": "(?
|
|
2992
|
+
"begin": "(?i)\\b(command_argument_count|extends_type_of|is_iostat_end|is_iostat_eor|new_line|same_type_as|selected_char_kind)\\s*(?=\\()",
|
|
2993
2993
|
"beginCaptures": {
|
|
2994
2994
|
"1": {
|
|
2995
2995
|
"name": "support.function.intrinsic.fortran"
|
|
@@ -3011,7 +3011,7 @@
|
|
|
3011
3011
|
]
|
|
3012
3012
|
},
|
|
3013
3013
|
{
|
|
3014
|
-
"begin": "(?
|
|
3014
|
+
"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*(?=\\()",
|
|
3015
3015
|
"beginCaptures": {
|
|
3016
3016
|
"1": {
|
|
3017
3017
|
"name": "support.function.intrinsic.fortran"
|
|
@@ -3033,7 +3033,7 @@
|
|
|
3033
3033
|
]
|
|
3034
3034
|
},
|
|
3035
3035
|
{
|
|
3036
|
-
"begin": "(?
|
|
3036
|
+
"begin": "(?i)\\b(ieee_support_(flag|halting))\\s*(?=\\()",
|
|
3037
3037
|
"beginCaptures": {
|
|
3038
3038
|
"1": {
|
|
3039
3039
|
"name": "support.function.intrinsic.fortran"
|
|
@@ -3055,7 +3055,7 @@
|
|
|
3055
3055
|
]
|
|
3056
3056
|
},
|
|
3057
3057
|
{
|
|
3058
|
-
"begin": "(?
|
|
3058
|
+
"begin": "(?i)\\b(c_(associated|funloc|loc|sizeof))\\s*(?=\\()",
|
|
3059
3059
|
"beginCaptures": {
|
|
3060
3060
|
"1": {
|
|
3061
3061
|
"name": "support.function.intrinsic.fortran"
|
|
@@ -3074,7 +3074,7 @@
|
|
|
3074
3074
|
]
|
|
3075
3075
|
},
|
|
3076
3076
|
{
|
|
3077
|
-
"begin": "(?
|
|
3077
|
+
"begin": "(?i)\\b(compiler_(options|version))\\s*(?=\\()",
|
|
3078
3078
|
"beginCaptures": {
|
|
3079
3079
|
"1": {
|
|
3080
3080
|
"name": "support.function.intrinsic.fortran"
|
|
@@ -3096,7 +3096,7 @@
|
|
|
3096
3096
|
]
|
|
3097
3097
|
},
|
|
3098
3098
|
{
|
|
3099
|
-
"begin": "(?
|
|
3099
|
+
"begin": "(?i)\\b(null)\\s*(?=\\()",
|
|
3100
3100
|
"beginCaptures": {
|
|
3101
3101
|
"1": {
|
|
3102
3102
|
"name": "support.function.intrinsic.fortran"
|
|
@@ -3118,7 +3118,7 @@
|
|
|
3118
3118
|
]
|
|
3119
3119
|
},
|
|
3120
3120
|
{
|
|
3121
|
-
"begin": "(?
|
|
3121
|
+
"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*(?=\\()",
|
|
3122
3122
|
"beginCaptures": {
|
|
3123
3123
|
"1": {
|
|
3124
3124
|
"name": "support.function.intrinsic.fortran"
|
|
@@ -3140,7 +3140,7 @@
|
|
|
3140
3140
|
]
|
|
3141
3141
|
},
|
|
3142
3142
|
{
|
|
3143
|
-
"begin": "(?
|
|
3143
|
+
"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*(?=\\()",
|
|
3144
3144
|
"beginCaptures": {
|
|
3145
3145
|
"1": {
|
|
3146
3146
|
"name": "support.function.intrinsic.fortran"
|
|
@@ -3166,7 +3166,7 @@
|
|
|
3166
3166
|
"intrinsic-subroutines": {
|
|
3167
3167
|
"patterns": [
|
|
3168
3168
|
{
|
|
3169
|
-
"begin": "(?
|
|
3169
|
+
"begin": "(?i)\\G\\s*\\b(date_and_time|mvbits|random_number|random_seed|system_clock)\\s*(?=\\()",
|
|
3170
3170
|
"beginCaptures": {
|
|
3171
3171
|
"1": {
|
|
3172
3172
|
"name": "entity.name.function.subroutine.fortran"
|
|
@@ -3254,7 +3254,7 @@
|
|
|
3254
3254
|
]
|
|
3255
3255
|
},
|
|
3256
3256
|
{
|
|
3257
|
-
"begin": "(?i)\\G\\s*\\b(c_f_(
|
|
3257
|
+
"begin": "(?i)\\G\\s*\\b(c_f_(p(?:ointer|rocpointer)))\\s*(?=\\()",
|
|
3258
3258
|
"beginCaptures": {
|
|
3259
3259
|
"1": {
|
|
3260
3260
|
"name": "entity.name.function.subroutine.fortran"
|
|
@@ -3276,7 +3276,7 @@
|
|
|
3276
3276
|
]
|
|
3277
3277
|
},
|
|
3278
3278
|
{
|
|
3279
|
-
"begin": "(?
|
|
3279
|
+
"begin": "(?i)\\G\\s*\\b(execute_command_line|get_command|get_command_argument|get_environment_variable|move_alloc)\\s*(?=\\()",
|
|
3280
3280
|
"beginCaptures": {
|
|
3281
3281
|
"1": {
|
|
3282
3282
|
"name": "entity.name.function.subroutine.fortran"
|
|
@@ -3388,11 +3388,11 @@
|
|
|
3388
3388
|
"logical-operators": {
|
|
3389
3389
|
"patterns": [
|
|
3390
3390
|
{
|
|
3391
|
-
"match": "(?
|
|
3391
|
+
"match": "(?i)(\\s*\\.(and|eq|eqv|le|lt|ge|gt|ne|neqv|not|or)\\.)",
|
|
3392
3392
|
"name": "keyword.logical.fortran"
|
|
3393
3393
|
},
|
|
3394
3394
|
{
|
|
3395
|
-
"match": "(
|
|
3395
|
+
"match": "(==|/=|>=|(?<!=)>|<=|<)",
|
|
3396
3396
|
"name": "keyword.logical.fortran.modern"
|
|
3397
3397
|
}
|
|
3398
3398
|
]
|
|
@@ -3444,10 +3444,10 @@
|
|
|
3444
3444
|
"name": "storage.modifier.module.fortran"
|
|
3445
3445
|
}
|
|
3446
3446
|
},
|
|
3447
|
-
"match": "(?
|
|
3447
|
+
"match": "(?i)\\s*\\b(module)\\b(?=\\s*(?:[;!\\n]|[^'\";!\\n]*\\b(?:function|procedure|subroutine)\\b))"
|
|
3448
3448
|
},
|
|
3449
3449
|
"module-definition": {
|
|
3450
|
-
"begin": "(?
|
|
3450
|
+
"begin": "(?i)(?=\\b(module)\\b)(?![^'\";!\\n]*\\b(?:function|procedure|subroutine)\\b)",
|
|
3451
3451
|
"end": "(?=[;!\\n])",
|
|
3452
3452
|
"name": "meta.module.fortran",
|
|
3453
3453
|
"patterns": [
|
|
@@ -3467,7 +3467,7 @@
|
|
|
3467
3467
|
"name": "entity.name.class.module.fortran"
|
|
3468
3468
|
}
|
|
3469
3469
|
},
|
|
3470
|
-
"end": "(?
|
|
3470
|
+
"end": "(?i)\\b(?:(end\\s*module)(?:\\s+([a-z_]\\w*))?|(end))\\b\\s*([^;!\\n]+)?(?=[;!\\n])",
|
|
3471
3471
|
"endCaptures": {
|
|
3472
3472
|
"1": {
|
|
3473
3473
|
"name": "keyword.other.endmodule.fortran"
|
|
@@ -3485,7 +3485,7 @@
|
|
|
3485
3485
|
"patterns": [
|
|
3486
3486
|
{
|
|
3487
3487
|
"begin": "\\G",
|
|
3488
|
-
"end": "(?i)(?=\\
|
|
3488
|
+
"end": "(?i)(?=\\bend(?:\\s*[;!\\n]|\\s*module\\b))",
|
|
3489
3489
|
"name": "meta.block.specification.module.fortran",
|
|
3490
3490
|
"patterns": [
|
|
3491
3491
|
{
|
|
@@ -3495,7 +3495,7 @@
|
|
|
3495
3495
|
"name": "keyword.control.contains.fortran"
|
|
3496
3496
|
}
|
|
3497
3497
|
},
|
|
3498
|
-
"end": "(?i)(?=\\s*(
|
|
3498
|
+
"end": "(?i)(?=\\s*end(?:\\s*[;!\\n]|\\s*module\\b))",
|
|
3499
3499
|
"name": "meta.block.contains.fortran",
|
|
3500
3500
|
"patterns": [
|
|
3501
3501
|
{
|
|
@@ -3515,7 +3515,7 @@
|
|
|
3515
3515
|
"name-list": {
|
|
3516
3516
|
"begin": "(?i)(?=\\s*[a-z])",
|
|
3517
3517
|
"contentName": "meta.name-list.fortran",
|
|
3518
|
-
"end": "(?=[
|
|
3518
|
+
"end": "(?=[);!\\n])",
|
|
3519
3519
|
"patterns": [
|
|
3520
3520
|
{
|
|
3521
3521
|
"include": "#constants"
|
|
@@ -3548,7 +3548,7 @@
|
|
|
3548
3548
|
},
|
|
3549
3549
|
"named-control-constructs": {
|
|
3550
3550
|
"applyEndPatternLast": 1,
|
|
3551
|
-
"begin": "(?
|
|
3551
|
+
"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)",
|
|
3552
3552
|
"contentName": "meta.named-construct.fortran.modern",
|
|
3553
3553
|
"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])",
|
|
3554
3554
|
"endCaptures": {
|
|
@@ -3627,7 +3627,7 @@
|
|
|
3627
3627
|
]
|
|
3628
3628
|
},
|
|
3629
3629
|
"numeric-constant": {
|
|
3630
|
-
"match": "(?
|
|
3630
|
+
"match": "(?i)[+\\-]?(\\b\\d+\\.?\\d*|\\.\\d+)(_\\w+|d[+\\-]?\\d+|e[+\\-]?\\d+(_\\w+)?)?(?![a-z_])",
|
|
3631
3631
|
"name": "constant.numeric.fortran"
|
|
3632
3632
|
},
|
|
3633
3633
|
"numeric-type": {
|
|
@@ -3694,7 +3694,7 @@
|
|
|
3694
3694
|
"name": "constant.numeric.fortran"
|
|
3695
3695
|
}
|
|
3696
3696
|
},
|
|
3697
|
-
"match": "(?
|
|
3697
|
+
"match": "(?i)\\b(?:(complex)|(double\\s*precision)|(double\\s*complex)|(integer)|(real)|(dimension))\\b(?:\\s*(\\*)\\s*(\\d*))?"
|
|
3698
3698
|
}
|
|
3699
3699
|
]
|
|
3700
3700
|
},
|
|
@@ -3897,7 +3897,7 @@
|
|
|
3897
3897
|
"match": "(?i)\\s*\\b(pointer)\\b"
|
|
3898
3898
|
},
|
|
3899
3899
|
"pointer-operators": {
|
|
3900
|
-
"match": "(
|
|
3900
|
+
"match": "(=>)",
|
|
3901
3901
|
"name": "keyword.other.point.fortran"
|
|
3902
3902
|
},
|
|
3903
3903
|
"preprocessor": {
|
|
@@ -3933,10 +3933,10 @@
|
|
|
3933
3933
|
"name": "keyword.operator.multiplication.fortran"
|
|
3934
3934
|
}
|
|
3935
3935
|
},
|
|
3936
|
-
"match": "(
|
|
3936
|
+
"match": "(-)|(\\+)|(/)|(\\*)"
|
|
3937
3937
|
},
|
|
3938
3938
|
"preprocessor-assignment-operator": {
|
|
3939
|
-
"match": "(
|
|
3939
|
+
"match": "(?<!=)(=)(?!=)",
|
|
3940
3940
|
"name": "keyword.operator.assignment.preprocessor.fortran"
|
|
3941
3941
|
},
|
|
3942
3942
|
"preprocessor-comments": {
|
|
@@ -4237,7 +4237,7 @@
|
|
|
4237
4237
|
"name": "keyword.operator.logical.preprocessor.complementary.fortran"
|
|
4238
4238
|
}
|
|
4239
4239
|
},
|
|
4240
|
-
"match": "(&&)|(==)|(
|
|
4240
|
+
"match": "(&&)|(==)|(!=)|(\\|\\|)|(<=)|(>=)|(<)|(>)|(~)|(\\^)|(&)|(!)|(\\|)",
|
|
4241
4241
|
"name": "keyword.operator.logical.preprocessor.fortran"
|
|
4242
4242
|
},
|
|
4243
4243
|
"preprocessor-operators": {
|
|
@@ -4351,7 +4351,7 @@
|
|
|
4351
4351
|
"match": "(?i)\\s*\\b(private)\\b"
|
|
4352
4352
|
},
|
|
4353
4353
|
"procedure-call-dummy-variable": {
|
|
4354
|
-
"match": "(?i)\\s*([a-z]\\w*)(?=\\s
|
|
4354
|
+
"match": "(?i)\\s*([a-z]\\w*)(?=\\s*=)(?!\\s*==)",
|
|
4355
4355
|
"name": "variable.parameter.dummy-variable.fortran.modern"
|
|
4356
4356
|
},
|
|
4357
4357
|
"procedure-definition": {
|
|
@@ -4375,7 +4375,7 @@
|
|
|
4375
4375
|
"name": "entity.name.function.procedure.fortran"
|
|
4376
4376
|
}
|
|
4377
4377
|
},
|
|
4378
|
-
"end": "(?
|
|
4378
|
+
"end": "(?i)\\s*\\b(?:(end\\s*procedure)(?:\\s+([a-z_]\\w*))?|(end))\\b\\s*([^;!\\n]+)?(?=[;!\\n])",
|
|
4379
4379
|
"endCaptures": {
|
|
4380
4380
|
"1": {
|
|
4381
4381
|
"name": "keyword.other.endprocedure.fortran"
|
|
@@ -4418,7 +4418,7 @@
|
|
|
4418
4418
|
"name": "keyword.control.contains.fortran"
|
|
4419
4419
|
}
|
|
4420
4420
|
},
|
|
4421
|
-
"end": "(?i)(?=\\s*(
|
|
4421
|
+
"end": "(?i)(?=\\s*end(?:\\s*[;!\\n]|\\s*procedure\\b))",
|
|
4422
4422
|
"name": "meta.block.contains.fortran",
|
|
4423
4423
|
"patterns": [
|
|
4424
4424
|
{
|
|
@@ -4465,7 +4465,7 @@
|
|
|
4465
4465
|
]
|
|
4466
4466
|
},
|
|
4467
4467
|
"procedure-specification-statement": {
|
|
4468
|
-
"begin": "(?i)(?=\\
|
|
4468
|
+
"begin": "(?i)(?=\\bprocedure\\b)",
|
|
4469
4469
|
"end": "(?=[;!\\n])",
|
|
4470
4470
|
"name": "meta.specification.procedure.fortran",
|
|
4471
4471
|
"patterns": [
|
|
@@ -4489,7 +4489,7 @@
|
|
|
4489
4489
|
"name": "punctuation.comma.fortran"
|
|
4490
4490
|
}
|
|
4491
4491
|
},
|
|
4492
|
-
"end": "(?=::|[
|
|
4492
|
+
"end": "(?=::|[,\\&;!\\n])",
|
|
4493
4493
|
"patterns": [
|
|
4494
4494
|
{
|
|
4495
4495
|
"include": "#access-attribute"
|
|
@@ -4580,7 +4580,7 @@
|
|
|
4580
4580
|
"name": "entity.name.program.fortran"
|
|
4581
4581
|
}
|
|
4582
4582
|
},
|
|
4583
|
-
"end": "(?
|
|
4583
|
+
"end": "(?i)\\b(?:(end\\s*program)(?:\\s+([a-z_]\\w*))?|(end))\\b\\s*([^;!\\n]+)?(?=[;!\\n])",
|
|
4584
4584
|
"endCaptures": {
|
|
4585
4585
|
"1": {
|
|
4586
4586
|
"name": "keyword.control.endprogram.fortran"
|
|
@@ -4598,7 +4598,7 @@
|
|
|
4598
4598
|
"patterns": [
|
|
4599
4599
|
{
|
|
4600
4600
|
"begin": "\\G",
|
|
4601
|
-
"end": "(?i)(?=\\
|
|
4601
|
+
"end": "(?i)(?=\\bend(?:\\s*[;!\\n]|\\s*program\\b))",
|
|
4602
4602
|
"name": "meta.block.specification.program.fortran",
|
|
4603
4603
|
"patterns": [
|
|
4604
4604
|
{
|
|
@@ -4608,7 +4608,7 @@
|
|
|
4608
4608
|
"name": "keyword.control.contains.fortran"
|
|
4609
4609
|
}
|
|
4610
4610
|
},
|
|
4611
|
-
"end": "(?i)(?=(
|
|
4611
|
+
"end": "(?i)(?=end(?:\\s*[;!\\n]|\\s*program\\b))",
|
|
4612
4612
|
"name": "meta.block.contains.fortran",
|
|
4613
4613
|
"patterns": [
|
|
4614
4614
|
{
|
|
@@ -4975,7 +4975,7 @@
|
|
|
4975
4975
|
"name": "keyword.operator.line-continuation.fortran"
|
|
4976
4976
|
}
|
|
4977
4977
|
},
|
|
4978
|
-
"end": "(?i)^(?:(?=\\s*[^\\s
|
|
4978
|
+
"end": "(?i)^(?:(?=\\s*[^\\s!\\&])|\\s*(&))",
|
|
4979
4979
|
"endCaptures": {
|
|
4980
4980
|
"1": {
|
|
4981
4981
|
"name": "keyword.operator.line-continuation.fortran"
|
|
@@ -4992,7 +4992,7 @@
|
|
|
4992
4992
|
]
|
|
4993
4993
|
},
|
|
4994
4994
|
"string-operators": {
|
|
4995
|
-
"match": "(
|
|
4995
|
+
"match": "(//)",
|
|
4996
4996
|
"name": "keyword.other.concatination.fortran"
|
|
4997
4997
|
},
|
|
4998
4998
|
"submodule-definition": {
|
|
@@ -5030,7 +5030,7 @@
|
|
|
5030
5030
|
"name": "entity.name.module.submodule.fortran"
|
|
5031
5031
|
}
|
|
5032
5032
|
},
|
|
5033
|
-
"end": "(?
|
|
5033
|
+
"end": "(?i)\\s*\\b(?:(end\\s*submodule)(?:\\s+([a-z_]\\w*))?|(end))\\b\\s*([^;!\\n]+)?(?=[;!\\n])",
|
|
5034
5034
|
"endCaptures": {
|
|
5035
5035
|
"1": {
|
|
5036
5036
|
"name": "keyword.other.endsubmodule.fortran"
|
|
@@ -5048,7 +5048,7 @@
|
|
|
5048
5048
|
"patterns": [
|
|
5049
5049
|
{
|
|
5050
5050
|
"begin": "\\G",
|
|
5051
|
-
"end": "(?i)(?=\\
|
|
5051
|
+
"end": "(?i)(?=\\bend(?:\\s*[;!\\n]|\\s*submodule\\b))",
|
|
5052
5052
|
"name": "meta.block.specification.submodule.fortran",
|
|
5053
5053
|
"patterns": [
|
|
5054
5054
|
{
|
|
@@ -5058,7 +5058,7 @@
|
|
|
5058
5058
|
"name": "keyword.control.contains.fortran"
|
|
5059
5059
|
}
|
|
5060
5060
|
},
|
|
5061
|
-
"end": "(?i)(?=\\s*(
|
|
5061
|
+
"end": "(?i)(?=\\s*end(?:\\s*[;!\\n]|\\s*submodule\\b))",
|
|
5062
5062
|
"name": "meta.block.contains.fortran",
|
|
5063
5063
|
"patterns": [
|
|
5064
5064
|
{
|
|
@@ -5118,7 +5118,7 @@
|
|
|
5118
5118
|
"name": "entity.name.function.subroutine.fortran"
|
|
5119
5119
|
}
|
|
5120
5120
|
},
|
|
5121
|
-
"end": "(?
|
|
5121
|
+
"end": "(?i)\\b(?:(end\\s*subroutine)(?:\\s+([a-z_]\\w*))?|(end))\\b\\s*([^;!\\n]+)?(?=[;!\\n])",
|
|
5122
5122
|
"endCaptures": {
|
|
5123
5123
|
"1": {
|
|
5124
5124
|
"name": "keyword.other.endsubroutine.fortran"
|
|
@@ -5148,8 +5148,8 @@
|
|
|
5148
5148
|
]
|
|
5149
5149
|
},
|
|
5150
5150
|
{
|
|
5151
|
-
"begin": "(?i)(?!\\
|
|
5152
|
-
"end": "(?i)(?=\\
|
|
5151
|
+
"begin": "(?i)(?!\\bend(?:\\s*[;!\\n]|\\s*subroutine\\b))",
|
|
5152
|
+
"end": "(?i)(?=\\bend(?:\\s*[;!\\n]|\\s*subroutine\\b))",
|
|
5153
5153
|
"name": "meta.block.specification.subroutine.fortran",
|
|
5154
5154
|
"patterns": [
|
|
5155
5155
|
{
|
|
@@ -5159,7 +5159,7 @@
|
|
|
5159
5159
|
"name": "keyword.control.contains.fortran"
|
|
5160
5160
|
}
|
|
5161
5161
|
},
|
|
5162
|
-
"end": "(?i)(?=(
|
|
5162
|
+
"end": "(?i)(?=end(?:\\s*[;!\\n]|\\s*subroutine\\b))",
|
|
5163
5163
|
"name": "meta.block.contains.fortran",
|
|
5164
5164
|
"patterns": [
|
|
5165
5165
|
{
|
|
@@ -5179,7 +5179,7 @@
|
|
|
5179
5179
|
]
|
|
5180
5180
|
},
|
|
5181
5181
|
"sync-all-statement": {
|
|
5182
|
-
"begin": "(?i)\\b(sync all|
|
|
5182
|
+
"begin": "(?i)\\b(sync (?:all|memory))(\\s*(?=\\())?",
|
|
5183
5183
|
"beginCaptures": {
|
|
5184
5184
|
"1": {
|
|
5185
5185
|
"name": "keyword.control.sync-all-memory.fortran"
|
|
@@ -5202,7 +5202,7 @@
|
|
|
5202
5202
|
]
|
|
5203
5203
|
},
|
|
5204
5204
|
"sync-statement": {
|
|
5205
|
-
"begin": "(?i)\\b(sync images|
|
|
5205
|
+
"begin": "(?i)\\b(sync (?:images|team))\\s*(?=\\()",
|
|
5206
5206
|
"beginCaptures": {
|
|
5207
5207
|
"1": {
|
|
5208
5208
|
"name": "keyword.control.sync-images-team.fortran"
|
|
@@ -5233,8 +5233,8 @@
|
|
|
5233
5233
|
"match": "(?i)\\s*\\b(target)\\b"
|
|
5234
5234
|
},
|
|
5235
5235
|
"type-specification-statements": {
|
|
5236
|
-
"begin": "(?
|
|
5237
|
-
"end": "(?=[
|
|
5236
|
+
"begin": "(?i)(?=\\b(?:character|class|complex|double\\s*precision|double\\s*complex|integer|logical|real|type|dimension)\\b(?![^'\";!\\n:]*\\bfunction\\b))",
|
|
5237
|
+
"end": "(?=[);!\\n])",
|
|
5238
5238
|
"name": "meta.specification.type.fortran",
|
|
5239
5239
|
"patterns": [
|
|
5240
5240
|
{
|
|
@@ -5257,7 +5257,7 @@
|
|
|
5257
5257
|
"name": "punctuation.comma.fortran"
|
|
5258
5258
|
}
|
|
5259
5259
|
},
|
|
5260
|
-
"end": "(?=::|[
|
|
5260
|
+
"end": "(?=::|[,\\&;!\\n])",
|
|
5261
5261
|
"patterns": [
|
|
5262
5262
|
{
|
|
5263
5263
|
"include": "#access-attribute"
|
|
@@ -5596,7 +5596,7 @@
|
|
|
5596
5596
|
"word": {
|
|
5597
5597
|
"patterns": [
|
|
5598
5598
|
{
|
|
5599
|
-
"match": "(?i)(?:\\G|(
|
|
5599
|
+
"match": "(?i)(?:\\G|(?<=%))\\s*\\b([a-z]\\w*)\\b"
|
|
5600
5600
|
}
|
|
5601
5601
|
]
|
|
5602
5602
|
}
|