Skip to content

Commit ac44eca

Browse files
committed
Merge branch 'feature/formatting' into feature/path-interpolation-simple
2 parents 165e048 + 251fb79 commit ac44eca

File tree

6 files changed

+102
-49
lines changed

6 files changed

+102
-49
lines changed

.vscode/launch.json

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,25 +14,21 @@
1414
"outFiles": [
1515
"${workspaceFolder}/out/src/**/*.js"
1616
],
17-
"preLaunchTask": "npm: watch",
17+
"preLaunchTask": "npm: watch-dev",
1818
},
1919
{
2020
"name": "Launch Tests",
2121
"type": "extensionHost",
2222
"request": "launch",
23-
"env": {
24-
"CODE_TESTS_WORKSPACE": "./"
25-
},
23+
"runtimeExecutable": "${execPath}",
2624
"args": [
27-
"${workspaceFolder}/test/resources/sample.f90",
28-
"--disable-extensions",
2925
"--extensionDevelopmentPath=${workspaceFolder}",
3026
"--extensionTestsPath=${workspaceFolder}/out/test"
3127
],
3228
"outFiles": [
3329
"${workspaceFolder}/out/test/**/*.js"
3430
],
35-
"preLaunchTask": "npm: compile",
31+
"preLaunchTask": "npm: pretest setup",
3632
},
3733
]
3834
}

.vscode/tasks.json

Lines changed: 34 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,48 @@
1-
// Available variables which can be used inside of strings.
2-
// ${workspaceRoot}: the root folder of the team
3-
// ${file}: the current opened file
4-
// ${fileBasename}: the current opened file's basename
5-
// ${fileDirname}: the current opened file's dirname
6-
// ${fileExtname}: the current opened file's extension
7-
// ${cwd}: the current working directory of the spawned process
8-
// A task runner that calls a custom npm script that compiles the extension.
91
{
102
"version": "2.0.0",
113
"tasks": [
124
{
13-
"label": "npm: watch",
14-
"type": "shell",
15-
"command": "npm",
16-
"args": [
17-
"run",
18-
"watch",
19-
"--loglevel",
20-
"silent"
21-
],
22-
"isBackground": true,
23-
"problemMatcher": "$tsc-watch",
5+
"label": "npm: watch-dev",
6+
"type": "npm",
7+
"script": "watch-dev",
248
"group": {
259
"kind": "build",
2610
"isDefault": true
27-
}
11+
},
12+
"isBackground": true,
13+
"problemMatcher": "$tsc-watch",
14+
"detail": "tsc -watch -p tsconfig.json"
15+
},
16+
{
17+
"label": "npm: compile-dev",
18+
"type": "npm",
19+
"script": "compile-dev",
20+
"group": "build",
21+
"problemMatcher": "$tsc",
22+
"detail": "tsc -p tsconfig.json"
23+
},
24+
{
25+
"label": "npm: pretest",
26+
"type": "npm",
27+
"script": "pretest",
28+
"group": "test",
29+
"problemMatcher": "$tsc",
30+
"detail": "tsc -p tsconfig.test.json"
2831
},
2932
{
30-
"label": "npm: compile",
33+
"label": "npm: pretest setup",
3134
"type": "shell",
32-
"command": "npm",
33-
"args": [
34-
"run",
35-
"compile",
36-
"--loglevel",
37-
"silent"
35+
"dependsOn": [
36+
"npm: compile-dev",
37+
"npm: pretest"
3838
],
39-
"isBackground": true,
40-
"problemMatcher": "$tsc-watch",
41-
"group": "build"
39+
"dependsOrder": "sequence",
40+
"group": {
41+
"kind": "test",
42+
"isDefault": true
43+
},
44+
"detail": "setup for test launch"
45+
4246
}
4347
]
4448
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@
244244
"test:grammar-free": "vscode-tmgrammar-snap -s source.fortran.free -g ./syntaxes/fortran_free-form.tmLanguage.json -t \"./test/**/*{.f90,F90}\"",
245245
"test:grammar-fixed": "vscode-tmgrammar-snap -s source.fortran.fixed -g ./syntaxes/fortran_fixed-form.tmLanguage.json -t \"./test/**/*{.f,F}\"",
246246
"test:grammar": "npm run test:grammar-free && npm run test:grammar-fixed",
247-
"test:grammar-update": "npm run test:grammar -- -u",
247+
"test:grammar-update": "npm run test:grammar-free -- -u && npm run test:grammar-fixed -- -u",
248248
"lint": "node ./node_modules/tslint/bin/tslint ./src/**/*.ts "
249249
},
250250
"devDependencies": {

syntaxes/fortran_free-form.tmLanguage.json

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1352,8 +1352,11 @@
13521352
"comment": "Introduced in the Fortran 1990 standard.",
13531353
"contentName": "meta.named-construct.fortran.modern",
13541354
"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)",
1355-
"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*([^\\s;!][^;!\\n]*?))?(?=\\s*[;!\\n])",
1355+
"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])",
13561356
"endCaptures": {
1357+
"1": {
1358+
"name": "meta.label.end.name.fortran"
1359+
},
13571360
"2": {
13581361
"name": "invalid.error.named-control-constructs.fortran.modern"
13591362
}
@@ -1617,7 +1620,7 @@
16171620
"name": "keyword.control.then.fortran"
16181621
},
16191622
"2": {
1620-
"name": "meta.label.elseif"
1623+
"name": "meta.label.elseif.fortran"
16211624
}
16221625
}
16231626
},
@@ -1643,10 +1646,13 @@
16431646
"patterns": [
16441647
{
16451648
"comment": "capture the label if present",
1646-
"match": "\\s*([a-z]\\w*)?\\s*",
1649+
"match": "\\s*([a-z]\\w*)?\\s*\\b(\\w*)\\b",
16471650
"captures": {
16481651
"1": {
1649-
"name": "meta.label.else"
1652+
"name": "meta.label.else.fortran"
1653+
},
1654+
"2": {
1655+
"name": "invalid.error.label.else.fortran"
16501656
}
16511657
}
16521658
},
@@ -2297,7 +2303,7 @@
22972303
"name": "keyword.control.stop.fortran"
22982304
},
22992305
"2": {
2300-
"name": "meta.label.stop"
2306+
"name": "meta.label.stop.stop"
23012307
}
23022308
},
23032309
"end": "(?=[;!\\n])",

test/resources/conditionals.f90

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,13 @@
4343
! stop
4444
if (1) stop
4545
if (1) stop label6
46-
if (1) stop "label"//"7"
46+
if (1) stop "label"//"7"
47+
48+
! do loop
49+
do i = 1, 10
50+
end do
51+
52+
! labelled do loop
53+
label8: do i = 1, 10
54+
end do label8
55+

test/resources/conditionals.f90.snap

Lines changed: 43 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@
110110
>else label2
111111
#^^^^ source.fortran.free meta.named-construct.fortran.modern meta.block.if.fortran keyword.control.else.fortran
112112
# ^ source.fortran.free meta.named-construct.fortran.modern meta.block.if.fortran
113-
# ^^^^^^ source.fortran.free meta.named-construct.fortran.modern meta.block.if.fortran meta.label.else
113+
# ^^^^^^ source.fortran.free meta.named-construct.fortran.modern meta.block.if.fortran meta.label.else.fortran
114114
>end if label2
115115
#^^^^^^ source.fortran.free meta.named-construct.fortran.modern keyword.control.endif.fortran
116116
# ^ source.fortran.free meta.named-construct.fortran.modern meta.statement.control.if.fortran
@@ -145,11 +145,11 @@
145145
# ^ source.fortran.free meta.named-construct.fortran.modern meta.block.if.fortran punctuation.parentheses.right.fortran
146146
# ^ source.fortran.free meta.named-construct.fortran.modern meta.block.if.fortran
147147
# ^^^^ source.fortran.free meta.named-construct.fortran.modern meta.block.if.fortran keyword.control.then.fortran
148-
# ^^^^^^^ source.fortran.free meta.named-construct.fortran.modern meta.block.if.fortran meta.label.elseif
148+
# ^^^^^^^ source.fortran.free meta.named-construct.fortran.modern meta.block.if.fortran meta.label.elseif.fortran
149149
>else label3
150150
#^^^^ source.fortran.free meta.named-construct.fortran.modern meta.block.if.fortran keyword.control.else.fortran
151151
# ^ source.fortran.free meta.named-construct.fortran.modern meta.block.if.fortran
152-
# ^^^^^^ source.fortran.free meta.named-construct.fortran.modern meta.block.if.fortran meta.label.else
152+
# ^^^^^^ source.fortran.free meta.named-construct.fortran.modern meta.block.if.fortran meta.label.else.fortran
153153
>end if label3
154154
#^^^^^^ source.fortran.free meta.named-construct.fortran.modern keyword.control.endif.fortran
155155
# ^ source.fortran.free meta.named-construct.fortran.modern meta.statement.control.if.fortran
@@ -241,7 +241,7 @@
241241
# ^ source.fortran.free meta.statement.control.if.fortran meta.statement.control.stop.fortran
242242
# ^^^^ source.fortran.free meta.statement.control.if.fortran meta.statement.control.stop.fortran keyword.control.stop.fortran
243243
# ^ source.fortran.free meta.statement.control.if.fortran meta.statement.control.stop.fortran
244-
# ^^^^^^ source.fortran.free meta.statement.control.if.fortran meta.statement.control.stop.fortran meta.label.stop
244+
# ^^^^^^ source.fortran.free meta.statement.control.if.fortran meta.statement.control.stop.fortran meta.label.stop.stop
245245
>if (1) stop "label"//"7"
246246
#^^ source.fortran.free keyword.control.if.fortran
247247
# ^ source.fortran.free meta.expression.control.logical.fortran
@@ -257,4 +257,42 @@
257257
# ^^ source.fortran.free meta.statement.control.if.fortran meta.statement.control.stop.fortran keyword.other.concatination.fortran
258258
# ^ source.fortran.free meta.statement.control.if.fortran meta.statement.control.stop.fortran string.quoted.double.fortran punctuation.definition.string.begin.fortran
259259
# ^ source.fortran.free meta.statement.control.if.fortran meta.statement.control.stop.fortran string.quoted.double.fortran
260-
# ^ source.fortran.free meta.statement.control.if.fortran meta.statement.control.stop.fortran string.quoted.double.fortran punctuation.definition.string.end.fortran
260+
# ^ source.fortran.free meta.statement.control.if.fortran meta.statement.control.stop.fortran string.quoted.double.fortran punctuation.definition.string.end.fortran
261+
>
262+
>! do loop
263+
#^ source.fortran.free comment.line.fortran
264+
# ^^^^^^^^ source.fortran.free comment.line.fortran
265+
>do i = 1, 10
266+
#^^ source.fortran.free meta.block.do.unlabeled.fortran keyword.control.do.fortran
267+
# ^ source.fortran.free meta.block.do.unlabeled.fortran meta.loop-control.fortran
268+
# ^ source.fortran.free meta.block.do.unlabeled.fortran meta.loop-control.fortran meta.parameter.fortran
269+
# ^ source.fortran.free meta.block.do.unlabeled.fortran meta.loop-control.fortran
270+
# ^ source.fortran.free meta.block.do.unlabeled.fortran meta.loop-control.fortran keyword.operator.assignment.fortran
271+
# ^ source.fortran.free meta.block.do.unlabeled.fortran meta.loop-control.fortran
272+
# ^ source.fortran.free meta.block.do.unlabeled.fortran meta.loop-control.fortran constant.numeric.fortran
273+
# ^^ source.fortran.free meta.block.do.unlabeled.fortran meta.loop-control.fortran
274+
# ^^ source.fortran.free meta.block.do.unlabeled.fortran meta.loop-control.fortran constant.numeric.fortran
275+
>end do
276+
#^^^^^^ source.fortran.free meta.block.do.unlabeled.fortran keyword.control.enddo.fortran
277+
>
278+
>! labelled do loop
279+
#^ source.fortran.free comment.line.fortran
280+
# ^^^^^^^^^^^^^^^^^ source.fortran.free comment.line.fortran
281+
>label8: do i = 1, 10
282+
#^^^^^^^ source.fortran.free
283+
# ^ source.fortran.free meta.named-construct.fortran.modern
284+
# ^^ source.fortran.free meta.named-construct.fortran.modern meta.block.do.unlabeled.fortran keyword.control.do.fortran
285+
# ^ source.fortran.free meta.named-construct.fortran.modern meta.block.do.unlabeled.fortran meta.loop-control.fortran
286+
# ^ source.fortran.free meta.named-construct.fortran.modern meta.block.do.unlabeled.fortran meta.loop-control.fortran meta.parameter.fortran
287+
# ^ source.fortran.free meta.named-construct.fortran.modern meta.block.do.unlabeled.fortran meta.loop-control.fortran
288+
# ^ source.fortran.free meta.named-construct.fortran.modern meta.block.do.unlabeled.fortran meta.loop-control.fortran keyword.operator.assignment.fortran
289+
# ^ source.fortran.free meta.named-construct.fortran.modern meta.block.do.unlabeled.fortran meta.loop-control.fortran
290+
# ^ source.fortran.free meta.named-construct.fortran.modern meta.block.do.unlabeled.fortran meta.loop-control.fortran constant.numeric.fortran
291+
# ^^ source.fortran.free meta.named-construct.fortran.modern meta.block.do.unlabeled.fortran meta.loop-control.fortran
292+
# ^^ source.fortran.free meta.named-construct.fortran.modern meta.block.do.unlabeled.fortran meta.loop-control.fortran constant.numeric.fortran
293+
>end do label8
294+
#^^^^^^ source.fortran.free meta.named-construct.fortran.modern meta.block.do.unlabeled.fortran keyword.control.enddo.fortran
295+
# ^ source.fortran.free meta.named-construct.fortran.modern
296+
# ^^^^^^ source.fortran.free meta.label.end.name.fortran
297+
>
298+
>

0 commit comments

Comments
 (0)