Skip to content

Commit a34b4d4

Browse files
committed
Fix #62: Do not tag some classes as storage keywords
Do coloring Unit, Boolean, Byte, Char, Short, Int, Float, Long, Double, String, Nil, None, Symbol and self with colors that do not represent their semantics.
1 parent 4c8a433 commit a34b4d4

File tree

8 files changed

+148
-94
lines changed

8 files changed

+148
-94
lines changed

src/typescript/Scala.tmLanguage.ts

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -113,24 +113,16 @@ export const scalaTmLanguage: TmLanguage = {
113113
constants: {
114114
patterns: [
115115
{
116-
match: '\\b(false|null|true|Nil|None)\\b',
116+
match: '\\b(false|null|true)\\b',
117117
name: 'constant.language.scala'
118118
},
119119
{
120120
match: '\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.[0-9]+)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?|[0-9]+)([LlFfDd]|UL|ul)?\\b',
121121
name: 'constant.numeric.scala'
122122
},
123123
{
124-
match: '\\b(this|super|self)\\b',
124+
match: '\\b(this|super)\\b',
125125
name: 'variable.language.scala'
126-
},
127-
{
128-
match: '\\b(Unit|Boolean|Byte|Char|Short|Int|Float|Long|Double)\\b',
129-
name: 'storage.type.primitive.scala'
130-
},
131-
{
132-
match: '\\b(String|Symbol)\\b',
133-
name: 'storage.type.scala'
134126
}
135127
]
136128
},

syntaxes/Scala.tmLanguage.json

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

tests/snap/comments.test.scala.snap

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868
# ^ source.scala variable.other.declaration.scala
6969
# ^ source.scala keyword.operator.scala
7070
# ^ source.scala
71-
# ^^^ source.scala storage.type.primitive.scala
71+
# ^^^ source.scala entity.name.class
7272
# ^ source.scala meta.bracket.scala
7373
# ^ source.scala
7474
# ^ source.scala punctuation.section.block.begin.scala
@@ -80,12 +80,12 @@
8080
# ^ source.scala meta.bracket.scala
8181
# ^ source.scala
8282
# ^ source.scala keyword.operator.scala
83-
# ^^^^^^ source.scala storage.type.primitive.scala
83+
# ^^^^^^ source.scala entity.name.class
8484
# ^ source.scala meta.bracket.scala
8585
# ^ source.scala
8686
# ^ source.scala keyword.operator.scala
8787
# ^ source.scala
88-
# ^^^^^^ source.scala storage.type.scala
88+
# ^^^^^^ source.scala entity.name.class
8989
# ^ source.scala
9090
# ^ source.scala keyword.operator.comparison.scala
9191
# ^ source.scala
@@ -277,12 +277,12 @@
277277
# ^^^^ source.scala variable.parameter.scala
278278
# ^ source.scala meta.colon.scala
279279
# ^ source.scala
280-
# ^^^^^^ source.scala storage.type.scala
280+
# ^^^^^^ source.scala entity.name.class
281281
# ^^ source.scala
282282
# ^^^ source.scala variable.parameter.scala
283283
# ^ source.scala meta.colon.scala
284284
# ^ source.scala
285-
# ^^^ source.scala storage.type.primitive.scala
285+
# ^^^ source.scala entity.name.class
286286
# ^ source.scala meta.bracket.scala
287287
# ^ source.scala
288288
# ^ source.scala punctuation.section.block.begin.scala
@@ -333,12 +333,12 @@
333333
# ^^^^ source.scala variable.parameter.scala
334334
# ^ source.scala meta.colon.scala
335335
# ^ source.scala
336-
# ^^^^^^ source.scala storage.type.scala
336+
# ^^^^^^ source.scala entity.name.class
337337
# ^^ source.scala
338338
# ^^^ source.scala variable.parameter.scala
339339
# ^ source.scala meta.colon.scala
340340
# ^ source.scala
341-
# ^^^ source.scala storage.type.primitive.scala
341+
# ^^^ source.scala entity.name.class
342342
# ^ source.scala meta.bracket.scala
343343
# ^ source.scala
344344
# ^ source.scala keyword.operator.comparison.scala
@@ -382,7 +382,7 @@
382382
# ^^^^ source.scala variable.parameter.scala
383383
# ^ source.scala meta.colon.scala
384384
# ^ source.scala
385-
# ^^^^^^ source.scala storage.type.scala
385+
# ^^^^^^ source.scala entity.name.class
386386
# ^^ source.scala
387387
# ^^^^^^^^^ source.scala variable.parameter.scala
388388
# ^ source.scala meta.colon.scala

tests/snap/scala_spec.test.scala.snap

Lines changed: 54 additions & 54 deletions
Large diffs are not rendered by default.

tests/unit/#62.test.scala

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
// SYNTAX TEST "source.scala"
2+
3+
val _ : XYZ = XYZ
4+
// ^^^ keyword.declaration.stable.scala
5+
// ^^^ entity.name.class
6+
// ^^^ entity.name.class
7+
8+
val _ : Unit = Unit
9+
// ^^^ keyword.declaration.stable.scala
10+
// ^^^^ entity.name.class
11+
// ^^^^ entity.name.class
12+
13+
val _ : Boolean = Boolean
14+
// ^^^ keyword.declaration.stable.scala
15+
// ^^^^^^^ entity.name.class
16+
// ^^^^^^^ entity.name.class
17+
18+
val _ : Byte = Byte
19+
// ^^^ keyword.declaration.stable.scala
20+
// ^^^^ entity.name.class
21+
// ^^^^ entity.name.class
22+
23+
val _ : Char = Char
24+
// ^^^ keyword.declaration.stable.scala
25+
// ^^^^ entity.name.class
26+
// ^^^^ entity.name.class
27+
28+
val _ : Short = Short
29+
// ^^^ keyword.declaration.stable.scala
30+
// ^^^^^ entity.name.class
31+
// ^^^^^ entity.name.class
32+
33+
val _ : Int = Int
34+
// ^^^ keyword.declaration.stable.scala
35+
// ^^^ entity.name.class
36+
// ^^^ entity.name.class
37+
38+
val _ : Float = Float
39+
// ^^^ keyword.declaration.stable.scala
40+
// ^^^^^ entity.name.class
41+
// ^^^^^ entity.name.class
42+
43+
val _ : Long = Long
44+
// ^^^ keyword.declaration.stable.scala
45+
// ^^^^ entity.name.class
46+
// ^^^^ entity.name.class
47+
48+
val _ : Double = Double
49+
// ^^^ keyword.declaration.stable.scala
50+
// ^^^^^^ entity.name.class
51+
// ^^^^^^ entity.name.class
52+
53+
val _ : String = String
54+
// ^^^ keyword.declaration.stable.scala
55+
// ^^^^^^ entity.name.class
56+
// ^^^^^^ entity.name.class
57+
58+
val _ : Symbol = Symbol
59+
// ^^^ keyword.declaration.stable.scala
60+
// ^^^^^^ entity.name.class
61+
// ^^^^^^ entity.name.class
62+

tests/unit/basic.test.scala

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
class Stack[A] {
55
// <----- keyword.declaration.scala
66
// ^ - keyword.declaration.scala entity.name.class.declaration
7-
// ^^^^^ entity.name.class.declaration
7+
// ^^^^^ entity.name.class.declaration
88
// ^ source.scala meta.bracket.scala
99
// ^ entity.name.class
1010
// ^ meta.bracket.scala
1111
// ^ punctuation.section.block.begin.scala
1212
private var elements: List[A] = Nil
13-
//^^^^^^^ storage.modifier.access
13+
//^^^^^^^ storage.modifier.access
1414
// ^^^ keyword.declaration.volatile.scala
1515
// ^^^^^^^^ variable.other.declaration.scala
1616
// ^ keyword.operator.scala
@@ -19,28 +19,28 @@ class Stack[A] {
1919
// ^ entity.name.class
2020
// ^ meta.bracket.scala
2121
// ^ keyword.operator.comparison.scala
22-
// ^^^ constant.language.scala
22+
// ^^^ entity.name.class
2323
def push(x: A) { elements = x :: elements }
2424
// ^^^ keyword.declaration.scala
2525
// ^^^^ entity.name.function.declaration
26-
// ^ meta.bracket.scala
27-
// ^ variable.parameter.scala
28-
// ^ meta.colon.scala
26+
// ^ meta.bracket.scala
27+
// ^ variable.parameter.scala
28+
// ^ meta.colon.scala
2929
// ^ entity.name.class
30-
// ^ meta.bracket.scala
30+
// ^ meta.bracket.scala
3131
// ^ punctuation.section.block.begin.scala
3232
// ^^^^^^^^ source.scala
3333
// ^ keyword.operator.comparison.scala
34-
// ^ source.scala
34+
// ^ source.scala
3535
// ^^ keyword.operator.scala
36-
// ^^^^^^^^ source.scala
36+
// ^^^^^^^^ source.scala
3737
// ^ punctuation.section.block.end.scala
3838
def peek: A = elements.head
3939
def pop(): A = {
4040
val currentTop = peek
41-
// ^^^ keyword.declaration.stable.scala
41+
// ^^^ keyword.declaration.stable.scala
4242
// ^^^^^^^^^^ variable.other.declaration.scala
43-
// ^ keyword.operator.comparison.scala
43+
// ^ keyword.operator.comparison.scala
4444
// ^^^^ source.scala
4545
elements = elements.tail
4646
currentTop

tests/unit/quoted.test.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@
77

88
'[ String ]
99
// ^^ constant.other.quoted.scala
10-
// ^^^^^^ storage.type.scala
10+
// ^^^^^^ entity.name.class
1111
// ^ meta.bracket.scala

tests/unit/unicode.identifiers.test.scala

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@ class Φδφκξ(x : Int, δφξκξ: Int, val y: Int, val φξ: Int) {
66
// ^ meta.bracket.scala
77
// ^ variable.parameter.scala
88
// ^ meta.colon.scala
9-
// ^^^ storage.type.primitive.scala
9+
// ^^^ entity.name.class
1010
// ^^^^^ variable.parameter.scala
1111
// ^ meta.colon.scala
12-
// ^^^ storage.type.primitive.scala
12+
// ^^^ entity.name.class
1313
// ^^^ keyword.declaration.stable.scala
1414
// ^ variable.other.declaration.scala
1515
// ^ keyword.operator.scala
16-
// ^^^ storage.type.primitive.scala
16+
// ^^^ entity.name.class
1717
// ^^^ keyword.declaration.stable.scala
1818
// ^^ variable.other.declaration.scala
1919
// ^ keyword.operator.scala
20-
// ^^^ storage.type.primitive.scala
20+
// ^^^ entity.name.class
2121
// ^ meta.bracket.scala
2222
// ^ punctuation.section.block.begin.scala
2323
def δφξ() = 3
@@ -39,7 +39,7 @@ class Φδφκξ(x : Int, δφξκξ: Int, val y: Int, val φξ: Int) {
3939
// ^ meta.bracket.scala
4040
// ^^^^^ variable.parameter.scala
4141
// ^ meta.colon.scala
42-
// ^^^ storage.type.primitive.scala
42+
// ^^^ entity.name.class
4343
// ^ meta.bracket.scala
4444
// ^ keyword.operator.comparison.scala
4545
// ^^ meta.parentheses.scala meta.bracket.scala
@@ -49,7 +49,7 @@ class Φδφκξ(x : Int, δφξκξ: Int, val y: Int, val φξ: Int) {
4949
// ^ meta.bracket.scala
5050
// ^^ variable.parameter.scala
5151
// ^ meta.colon.scala
52-
// ^^^ storage.type.primitive.scala
52+
// ^^^ entity.name.class
5353
// ^ meta.bracket.scala
5454
// ^ keyword.operator.comparison.scala
5555
// ^^ meta.parentheses.scala meta.bracket.scala
@@ -83,7 +83,7 @@ case class **(x: Int) {}
8383
// ^ meta.bracket.scala
8484
// ^ variable.parameter.scala
8585
// ^ meta.colon.scala
86-
// ^^^ storage.type.primitive.scala
86+
// ^^^ entity.name.class
8787
// ^ meta.bracket.scala
8888

8989
trait f_*[A,x] {
@@ -98,12 +98,12 @@ trait f_*[A,x] {
9898
//^^^^ keyword.declaration.scala
9999
// ^ entity.name.type.declaration
100100
// ^ keyword.operator.comparison.scala
101-
// ^^^ storage.type.primitive.scala
101+
// ^^^ entity.name.class
102102
type x_* = Int
103103
//^^^^ keyword.declaration.scala
104104
// ^^^ entity.name.type.declaration
105105
// ^ keyword.operator.comparison.scala
106-
// ^^^ storage.type.primitive.scala
106+
// ^^^ entity.name.class
107107
}
108108

109109

0 commit comments

Comments
 (0)