Skip to content

Commit 82192fb

Browse files
authored
Neovim client: fix semantic tokens (#757)
* neovim client: fix semantic tokens * token: class -> modifier
1 parent c512f60 commit 82192fb

File tree

4 files changed

+44
-44
lines changed

4 files changed

+44
-44
lines changed

analysis/src/SemanticTokens.ml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ module Token = struct
2424
| Variable (** let x = *)
2525
| Type (** type t = *)
2626
| JsxTag (** the < and > in <div> *)
27-
| Class (** module M = *)
27+
| Namespace (** module M = *)
2828
| EnumMember (** variant A or poly variant #A *)
2929
| Property (** {x:...} *)
3030
| JsxLowercase (** div in <div> *)
@@ -34,7 +34,7 @@ module Token = struct
3434
| Variable -> "1"
3535
| Type -> "2"
3636
| JsxTag -> "3"
37-
| Class -> "4"
37+
| Namespace -> "4"
3838
| EnumMember -> "5"
3939
| Property -> "6"
4040
| JsxLowercase -> "7"
@@ -44,7 +44,7 @@ module Token = struct
4444
| Variable -> "Variable"
4545
| Type -> "Type"
4646
| JsxTag -> "JsxTag"
47-
| Class -> "Class"
47+
| Namespace -> "Namespace"
4848
| EnumMember -> "EnumMember"
4949
| Property -> "Property"
5050
| JsxLowercase -> "JsxLowercase"
@@ -115,7 +115,7 @@ let emitFromLoc ~loc ~type_ emitter =
115115

116116
let emitLongident ?(backwards = false) ?(jsx = false)
117117
?(lowerCaseToken = if jsx then Token.JsxLowercase else Token.Variable)
118-
?(upperCaseToken = Token.Class) ?(lastToken = None) ?(posEnd = None) ~pos
118+
?(upperCaseToken = Token.Namespace) ?(lastToken = None) ?(posEnd = None) ~pos
119119
~lid ~debug emitter =
120120
let rec flatten acc lid =
121121
match lid with
Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
Highlight src/Highlight.res
22
structure items:38 diagnostics:0
3-
Lident: M 0:7 Class
4-
Lident: C 1:9 Class
5-
Lident: Component 1:13 Class
3+
Lident: M 0:7 Namespace
4+
Lident: C 1:9 Namespace
5+
Lident: Component 1:13 Namespace
66
Variable: _c [4:4->4:6]
77
JsxTag <: 4:9
8-
Lident: Component 4:10 Class
8+
Lident: Component 4:10 Namespace
99
Variable: _mc [6:4->6:7]
1010
JsxTag <: 6:10
11-
Ldot: M 6:11 Class
12-
Lident: C 6:13 Class
11+
Ldot: M 6:11 Namespace
12+
Lident: C 6:13 Namespace
1313
Variable: _d [8:4->8:6]
1414
JsxTag <: 8:9
1515
Lident: div 8:10 JsxLowercase
@@ -19,18 +19,18 @@ Lident: div 11:3 JsxLowercase
1919
Lident: div 16:4 JsxLowercase
2020
JsxTag >: 11:6
2121
JsxTag >: 16:7
22-
Ldot: React 12:5 Class
22+
Ldot: React 12:5 Namespace
2323
Lident: string 12:11 Variable
2424
JsxTag <: 13:4
2525
Lident: div 13:5 JsxLowercase
2626
Lident: div 13:34 JsxLowercase
2727
JsxTag >: 13:8
2828
JsxTag >: 13:37
29-
Ldot: React 13:11 Class
29+
Ldot: React 13:11 Namespace
3030
Lident: string 13:17 Variable
31-
Ldot: React 14:5 Class
31+
Ldot: React 14:5 Namespace
3232
Lident: string 14:11 Variable
33-
Ldot: React 15:5 Class
33+
Ldot: React 15:5 Namespace
3434
Lident: string 15:11 Variable
3535
Lident: pair 18:5 Type
3636
Lident: looooooooooooooooooooooooooooooooooooooong_int 20:5 Type
@@ -48,19 +48,19 @@ Lident: looooooooooooooooooooooooooooooooooooooong_string 27:4 Type
4848
Binary operator < [31:12->31:13]
4949
Binary operator > [31:22->31:23]
5050
Lident: MT 33:12 Type
51-
Lident: DDF 34:9 Class
52-
Lident: DDF 39:7 Class
53-
Lident: DDF 40:9 Class
51+
Lident: DDF 34:9 Namespace
52+
Lident: DDF 39:7 Namespace
53+
Lident: DDF 40:9 Namespace
5454
Lident: MT 39:12 Type
55-
Lident: XX 45:7 Class
56-
Lident: YY 46:9 Class
55+
Lident: XX 45:7 Namespace
56+
Lident: YY 46:9 Namespace
5757
Lident: t 47:9 Type
5858
Lident: int 47:13 Type
59-
Ldot: XX 51:5 Class
60-
Lident: YY 51:8 Class
59+
Ldot: XX 51:5 Namespace
60+
Lident: YY 51:8 Namespace
6161
Lident: tt 53:5 Type
6262
Lident: t 53:10 Type
63-
Lident: T 57:7 Class
63+
Lident: T 57:7 Namespace
6464
Lident: someRecord 58:7 Type
6565
Lident: someField 59:4 Property
6666
Lident: int 59:15 Type
@@ -73,7 +73,7 @@ Lident: B 64:22 EnumMember
7373
Lident: C 64:26 EnumMember
7474
Variable: foo [67:4->67:7]
7575
Variable: x [67:10->67:11]
76-
Ldot: T 67:17 Class
76+
Ldot: T 67:17 Namespace
7777
Lident: someField 67:19 Property
7878
Lident: x 67:15 Variable
7979
Variable: add [69:4->69:7]
@@ -89,16 +89,16 @@ JsxTag >: 73:24
8989
JsxTag >: 73:39
9090
JsxTag <: 73:26
9191
Lident: div 73:27 JsxLowercase
92-
Lident: SomeComponent 75:7 Class
93-
Lident: Nested 76:9 Class
92+
Lident: SomeComponent 75:7 Namespace
93+
Lident: Nested 76:9 Namespace
9494
Variable: make [78:8->78:12]
9595
Variable: children [78:16->78:25]
9696
Lident: children 79:10 Variable
9797
JsxTag <: 84:8
98-
Ldot: SomeComponent 84:9 Class
99-
Lident: Nested 84:23 Class
100-
Ldot: SomeComponent 84:41 Class
101-
Lident: Nested 84:55 Class
98+
Ldot: SomeComponent 84:9 Namespace
99+
Lident: Nested 84:23 Namespace
100+
Ldot: SomeComponent 84:41 Namespace
101+
Lident: Nested 84:55 Namespace
102102
JsxTag >: 84:29
103103
JsxTag >: 84:61
104104
JsxTag <: 84:31
@@ -113,31 +113,31 @@ Lident: to 94:9 Variable
113113
Lident: to 94:14 Variable
114114
Lident: to 94:20 Variable
115115
Lident: to 94:25 Variable
116-
Lident: ToAsProp 98:7 Class
116+
Lident: ToAsProp 98:7 Namespace
117117
Variable: make [100:6->100:10]
118118
Variable: to [100:14->100:17]
119-
Ldot: React 101:8 Class
119+
Ldot: React 101:8 Namespace
120120
Lident: int 101:14 Variable
121121
Lident: to 101:18 Variable
122122
JsxTag <: 104:8
123-
Lident: ToAsProp 104:9 Class
123+
Lident: ToAsProp 104:9 Namespace
124124
Variable: true [107:4->107:11]
125125
Lident: true 108:8->108:15 Variable
126126
Variable: enumInModule [110:4->110:16]
127-
Ldot: T 110:19 Class
127+
Ldot: T 110:19 Namespace
128128
Lident: A 110:21 EnumMember
129129
Lident: typeInModule 112:5 Type
130-
Ldot: XX 112:20 Class
131-
Ldot: YY 112:23 Class
130+
Ldot: XX 112:20 Namespace
131+
Ldot: YY 112:23 Namespace
132132
Lident: t 112:26 Type
133-
Lident: QQ 114:7 Class
133+
Lident: QQ 114:7 Namespace
134134
Lident: somePolyEnumType 115:7 Type
135135
Lident: list 118:29 Type
136136
TypeArg: [118:34->118:37]
137137
Lident: int 118:34 Type
138138
Variable: x [123:8->123:9]
139139
Lident: x 124:9 Variable
140-
Ldot: QQ 126:8 Class
140+
Ldot: QQ 126:8 Namespace
141141
Lident: somePolyEnumType 126:11 Type
142142
Lident: abc 133:9->133:14 Property
143143

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@
3232
"semanticTokenScopes": [
3333
{
3434
"scopes": {
35-
"jsx-lowercase": ["entity.name.tag"],
36-
"jsx-tag": ["punctuation.definition.tag"],
37-
"support-type-primitive": ["support.type.primitive"]
35+
"interface": ["entity.name.tag"],
36+
"modifier": ["punctuation.definition.tag"],
37+
"type": ["support.type.primitive"]
3838
}
3939
}
4040
],

server/src/server.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1126,12 +1126,12 @@ function onMessage(msg: p.Message) {
11261126
tokenTypes: [
11271127
"operator",
11281128
"variable",
1129-
"support-type-primitive",
1130-
"jsx-tag",
1131-
"class",
1129+
"type",
1130+
"modifier", // emit jsx-tag < and > in <div> as modifier
1131+
"namespace",
11321132
"enumMember",
11331133
"property",
1134-
"jsx-lowercase",
1134+
"interface", // emit jsxlowercase, div in <div> as interface
11351135
],
11361136
tokenModifiers: [],
11371137
},

0 commit comments

Comments
 (0)