Skip to content

Commit c8b05b9

Browse files
committed
Fix support for multi val definitions
Fixes the following two cases ``` val a, b, c = ... var a, b, c = ... ```
1 parent 7d18e2a commit c8b05b9

15 files changed

+138
-116
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
"build:extension": "vsce package --yarn",
6262
"test": "npm-run-all test:*",
6363
"test:unit": "vscode-tmgrammar-test -s source.scala -g syntaxes/Scala.tmLanguage.json -t 'tests/unit/**/*.test.scala'",
64-
"test:snap": "vscode-tmgrammar-snap -s source.scala -g syntaxes/Scala.tmLanguage.json -t 'tests/snap/**/*.test.scala'"
64+
"test:snap": "vscode-tmgrammar-snap -s source.scala -g syntaxes/Scala.tmLanguage.json -t 'tests/snap/**/*.test.scala'",
65+
"update:snapshots": "vscode-tmgrammar-snap --updateSnapshot -s source.scala -g syntaxes/Scala.tmLanguage.json -t 'tests/snap/**/*.test.scala'"
6566
}
6667
}

src/typescript/Scala.tmLanguage.ts

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -802,28 +802,25 @@ export const scalaTmLanguage: TmLanguage = {
802802
}
803803
}
804804
},
805-
{ // val x1, x2 = y
806-
match: `\\b(?:(val)|(var))\\b\\s*${notStartOfComment}${anyId}(?=\\s*,)`,
805+
{ // val x1[, x2, x3, ...] = y
806+
match: `\\b(val)\\b\\s*${notStartOfComment}(${anyId}(?:\\s*,\\s*${anyId})*)?`,
807807
captures: {
808808
'1': {
809809
name: 'keyword.declaration.stable.scala'
810810
},
811811
'2': {
812-
name: 'keyword.declaration.volatile.scala'
812+
name: 'variable.stable.declaration.scala'
813813
}
814814
}
815815
},
816-
{
817-
match: `\\b(?:(val)|(var))\\b\\s*${notStartOfComment}(${anyId})?`,
816+
{ // var x1[, x2, x3, ...] = y
817+
match: `\\b(var)\\b\\s*${notStartOfComment}(${anyId}(?:\\s*,\\s*${anyId})*)?`,
818818
captures: {
819819
'1': {
820-
name: 'keyword.declaration.stable.scala'
821-
},
822-
'2': {
823820
name: 'keyword.declaration.volatile.scala'
824821
},
825-
'3': {
826-
name: 'variable.other.declaration.scala'
822+
'2': {
823+
name: 'variable.volatile.declaration.scala'
827824
}
828825
}
829826
},

syntaxes/Scala.tmLanguage.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

tests/snap/backticks.test.scala.snap

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
#^^^^ source.scala
1010
# ^^^ source.scala keyword.declaration.stable.scala
1111
# ^ source.scala
12-
# ^ source.scala variable.other.declaration.scala
12+
# ^ source.scala variable.stable.declaration.scala
1313
# ^ source.scala
1414
# ^ source.scala keyword.operator.comparison.scala
1515
# ^ source.scala
@@ -21,7 +21,7 @@
2121
#^^^^ source.scala
2222
# ^^^ source.scala keyword.declaration.stable.scala
2323
# ^ source.scala
24-
# ^ source.scala variable.other.declaration.scala
24+
# ^ source.scala variable.stable.declaration.scala
2525
# ^ source.scala
2626
# ^ source.scala keyword.operator.comparison.scala
2727
# ^ source.scala
@@ -33,7 +33,7 @@
3333
#^^^^ source.scala
3434
# ^^^ source.scala keyword.declaration.stable.scala
3535
# ^ source.scala
36-
# ^ source.scala variable.other.declaration.scala
36+
# ^ source.scala variable.stable.declaration.scala
3737
# ^ source.scala
3838
# ^ source.scala keyword.operator.comparison.scala
3939
# ^ source.scala
@@ -64,7 +64,7 @@
6464
#^^^^ source.scala
6565
# ^^^ source.scala keyword.declaration.stable.scala
6666
# ^ source.scala
67-
# ^^^^^ source.scala variable.other.declaration.scala
67+
# ^^^^^ source.scala variable.stable.declaration.scala
6868
# ^ source.scala
6969
# ^ source.scala keyword.operator.comparison.scala
7070
# ^ source.scala

tests/snap/comments.test.scala.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@
9696
# ^ source.scala meta.bracket.scala
9797
# ^^^ source.scala keyword.declaration.stable.scala
9898
# ^ source.scala
99-
# ^ source.scala variable.other.declaration.scala
99+
# ^ source.scala variable.stable.declaration.scala
100100
# ^ source.scala keyword.operator.scala
101101
# ^ source.scala
102102
# ^^^ source.scala entity.name.class

tests/snap/end.test.scala.snap

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
#^^^^^^^^^^^^ source.scala
5555
# ^^^ source.scala keyword.declaration.stable.scala
5656
# ^ source.scala
57-
# ^ source.scala variable.other.declaration.scala
57+
# ^ source.scala variable.stable.declaration.scala
5858
# ^ source.scala
5959
# ^^ source.scala keyword.operator.scala
6060
# ^^^ source.scala
@@ -70,7 +70,7 @@
7070
#^^^^^^^^^^^^ source.scala
7171
# ^^^ source.scala keyword.declaration.volatile.scala
7272
# ^ source.scala
73-
# ^ source.scala variable.other.declaration.scala
73+
# ^ source.scala variable.volatile.declaration.scala
7474
# ^ source.scala
7575
# ^ source.scala keyword.operator.comparison.scala
7676
> x

tests/snap/lexical.test.scala.snap

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
#^^ source.scala
1010
# ^^^ source.scala keyword.declaration.stable.scala
1111
# ^ source.scala
12-
# ^ source.scala variable.other.declaration.scala
12+
# ^ source.scala variable.stable.declaration.scala
1313
# ^ source.scala
1414
# ^ source.scala keyword.operator.comparison.scala
1515
# ^ source.scala
@@ -18,7 +18,7 @@
1818
#^^ source.scala
1919
# ^^^ source.scala keyword.declaration.stable.scala
2020
# ^ source.scala
21-
# ^^^^^^ source.scala variable.other.declaration.scala
21+
# ^^^^^^ source.scala variable.stable.declaration.scala
2222
# ^ source.scala
2323
# ^ source.scala keyword.operator.comparison.scala
2424
# ^ source.scala
@@ -28,7 +28,7 @@
2828
#^^ source.scala
2929
# ^^^ source.scala keyword.declaration.stable.scala
3030
# ^ source.scala
31-
# ^^^^^^^^ source.scala variable.other.declaration.scala
31+
# ^^^^^^^^ source.scala variable.stable.declaration.scala
3232
# ^ source.scala
3333
# ^ source.scala keyword.operator.comparison.scala
3434
# ^ source.scala
@@ -38,7 +38,7 @@
3838
#^^ source.scala
3939
# ^^^ source.scala keyword.declaration.stable.scala
4040
# ^ source.scala
41-
# ^^^ source.scala variable.other.declaration.scala
41+
# ^^^ source.scala variable.stable.declaration.scala
4242
# ^ source.scala
4343
# ^ source.scala keyword.operator.comparison.scala
4444
# ^ source.scala
@@ -48,7 +48,7 @@
4848
#^^ source.scala
4949
# ^^^ source.scala keyword.declaration.stable.scala
5050
# ^ source.scala
51-
# ^^^^^^^ source.scala variable.other.declaration.scala
51+
# ^^^^^^^ source.scala variable.stable.declaration.scala
5252
# ^ source.scala
5353
# ^ source.scala keyword.operator.comparison.scala
5454
# ^ source.scala
@@ -57,7 +57,7 @@
5757
#^^ source.scala
5858
# ^^^ source.scala keyword.declaration.stable.scala
5959
# ^ source.scala
60-
# ^ source.scala variable.other.declaration.scala
60+
# ^ source.scala variable.stable.declaration.scala
6161
# ^ source.scala
6262
# ^ source.scala keyword.operator.comparison.scala
6363
# ^ source.scala
@@ -67,7 +67,7 @@
6767
#^^ source.scala
6868
# ^^^ source.scala keyword.declaration.stable.scala
6969
# ^ source.scala
70-
# ^^^^^^^ source.scala variable.other.declaration.scala
70+
# ^^^^^^^ source.scala variable.stable.declaration.scala
7171
# ^ source.scala
7272
# ^ source.scala keyword.operator.comparison.scala
7373
# ^ source.scala
@@ -77,7 +77,7 @@
7777
#^^ source.scala
7878
# ^^^ source.scala keyword.declaration.stable.scala
7979
# ^ source.scala
80-
# ^^^^^ source.scala variable.other.declaration.scala
80+
# ^^^^^ source.scala variable.stable.declaration.scala
8181
# ^ source.scala
8282
# ^ source.scala keyword.operator.comparison.scala
8383
# ^ source.scala
@@ -87,7 +87,7 @@
8787
#^^ source.scala
8888
# ^^^ source.scala keyword.declaration.stable.scala
8989
# ^ source.scala
90-
# ^^ source.scala variable.other.declaration.scala
90+
# ^^ source.scala variable.stable.declaration.scala
9191
# ^ source.scala
9292
# ^ source.scala keyword.operator.comparison.scala
9393
# ^ source.scala
@@ -97,7 +97,7 @@
9797
#^^ source.scala
9898
# ^^^ source.scala keyword.declaration.stable.scala
9999
# ^ source.scala
100-
# ^^^^^^^^^^^^^ source.scala variable.other.declaration.scala
100+
# ^^^^^^^^^^^^^ source.scala variable.stable.declaration.scala
101101
# ^ source.scala
102102
# ^ source.scala keyword.operator.comparison.scala
103103
# ^ source.scala
@@ -106,7 +106,7 @@
106106
#^^ source.scala
107107
# ^^^ source.scala keyword.declaration.stable.scala
108108
# ^ source.scala
109-
# ^^^^^^^^ source.scala variable.other.declaration.scala
109+
# ^^^^^^^^ source.scala variable.stable.declaration.scala
110110
# ^ source.scala
111111
# ^ source.scala keyword.operator.comparison.scala
112112
# ^ source.scala
@@ -116,7 +116,7 @@
116116
#^^ source.scala
117117
# ^^^ source.scala keyword.declaration.stable.scala
118118
# ^ source.scala
119-
# ^^^^^^^^^ source.scala variable.other.declaration.scala
119+
# ^^^^^^^^^ source.scala variable.stable.declaration.scala
120120
# ^ source.scala
121121
# ^ source.scala keyword.operator.comparison.scala
122122
# ^ source.scala
@@ -262,7 +262,7 @@
262262
#^^ source.scala
263263
# ^^^ source.scala keyword.declaration.stable.scala
264264
# ^ source.scala
265-
# ^^^^^^^^^^^^^^^ source.scala variable.other.declaration.scala
265+
# ^^^^^^^^^^^^^^^ source.scala variable.stable.declaration.scala
266266
# ^ source.scala
267267
# ^ source.scala keyword.operator.comparison.scala
268268
# ^ source.scala
@@ -293,7 +293,7 @@
293293
# ^^ source.scala meta.template.expression.scala punctuation.definition.template-expression.begin.scala
294294
# ^^^ source.scala meta.template.expression.scala meta.embedded.line.scala keyword.declaration.stable.scala
295295
# ^ source.scala meta.template.expression.scala meta.embedded.line.scala
296-
# ^ source.scala meta.template.expression.scala meta.embedded.line.scala variable.other.declaration.scala
296+
# ^ source.scala meta.template.expression.scala meta.embedded.line.scala variable.stable.declaration.scala
297297
# ^ source.scala meta.template.expression.scala meta.embedded.line.scala
298298
# ^ source.scala meta.template.expression.scala meta.embedded.line.scala keyword.operator.comparison.scala
299299
# ^^ source.scala meta.template.expression.scala meta.embedded.line.scala
@@ -315,7 +315,7 @@
315315
# ^^ source.scala meta.template.expression.scala punctuation.definition.template-expression.begin.scala
316316
# ^^^ source.scala meta.template.expression.scala meta.embedded.line.scala keyword.declaration.stable.scala
317317
# ^ source.scala meta.template.expression.scala meta.embedded.line.scala
318-
# ^ source.scala meta.template.expression.scala meta.embedded.line.scala variable.other.declaration.scala
318+
# ^ source.scala meta.template.expression.scala meta.embedded.line.scala variable.stable.declaration.scala
319319
# ^ source.scala meta.template.expression.scala meta.embedded.line.scala
320320
# ^ source.scala meta.template.expression.scala meta.embedded.line.scala keyword.operator.comparison.scala
321321
# ^^ source.scala meta.template.expression.scala meta.embedded.line.scala
@@ -338,7 +338,7 @@
338338
# ^^ source.scala meta.template.expression.scala punctuation.definition.template-expression.begin.scala
339339
# ^^^ source.scala meta.template.expression.scala meta.embedded.line.scala keyword.declaration.stable.scala
340340
# ^ source.scala meta.template.expression.scala meta.embedded.line.scala
341-
# ^ source.scala meta.template.expression.scala meta.embedded.line.scala variable.other.declaration.scala
341+
# ^ source.scala meta.template.expression.scala meta.embedded.line.scala variable.stable.declaration.scala
342342
# ^ source.scala meta.template.expression.scala meta.embedded.line.scala
343343
# ^ source.scala meta.template.expression.scala meta.embedded.line.scala keyword.operator.comparison.scala
344344
# ^^ source.scala meta.template.expression.scala meta.embedded.line.scala
@@ -360,7 +360,7 @@
360360
# ^^ source.scala meta.template.expression.scala punctuation.definition.template-expression.begin.scala
361361
# ^^^ source.scala meta.template.expression.scala meta.embedded.line.scala keyword.declaration.stable.scala
362362
# ^ source.scala meta.template.expression.scala meta.embedded.line.scala
363-
# ^ source.scala meta.template.expression.scala meta.embedded.line.scala variable.other.declaration.scala
363+
# ^ source.scala meta.template.expression.scala meta.embedded.line.scala variable.stable.declaration.scala
364364
# ^ source.scala meta.template.expression.scala meta.embedded.line.scala
365365
# ^ source.scala meta.template.expression.scala meta.embedded.line.scala keyword.operator.comparison.scala
366366
# ^^ source.scala meta.template.expression.scala meta.embedded.line.scala
@@ -436,7 +436,7 @@
436436
#^^^^ source.scala
437437
# ^^^ source.scala keyword.declaration.stable.scala
438438
# ^ source.scala
439-
# ^ source.scala variable.other.declaration.scala
439+
# ^ source.scala variable.stable.declaration.scala
440440
# ^ source.scala
441441
# ^ source.scala keyword.operator.comparison.scala
442442
# ^ source.scala

0 commit comments

Comments
 (0)