@@ -102,8 +102,10 @@ final class SemanticTokensTests: XCTestCase {
102
102
let tokens = performSemanticTokensRequest ( text: text, range: start..< end)
103
103
XCTAssertEqual ( tokens, [
104
104
SemanticToken ( start: Position ( line: 1 , utf16index: 0 ) , length: 3 , kind: . keyword) ,
105
+ SemanticToken ( start: Position ( line: 1 , utf16index: 4 ) , length: 1 , kind: . variable, modifiers: . declaration) ,
105
106
SemanticToken ( start: Position ( line: 1 , utf16index: 8 ) , length: 1 , kind: . number) ,
106
107
SemanticToken ( start: Position ( line: 2 , utf16index: 0 ) , length: 3 , kind: . keyword) ,
108
+ SemanticToken ( start: Position ( line: 2 , utf16index: 4 ) , length: 1 , kind: . variable, modifiers: . declaration) ,
107
109
] )
108
110
}
109
111
@@ -151,9 +153,11 @@ final class SemanticTokensTests: XCTestCase {
151
153
XCTAssertEqual ( tokens, [
152
154
// let x = 3
153
155
SemanticToken ( start: Position ( line: 0 , utf16index: 0 ) , length: 3 , kind: . keyword) ,
156
+ SemanticToken ( start: Position ( line: 0 , utf16index: 4 ) , length: 1 , kind: . variable, modifiers: . declaration) ,
154
157
SemanticToken ( start: Position ( line: 0 , utf16index: 8 ) , length: 1 , kind: . number) ,
155
158
// var y = "test"
156
159
SemanticToken ( start: Position ( line: 1 , utf16index: 0 ) , length: 3 , kind: . keyword) ,
160
+ SemanticToken ( start: Position ( line: 1 , utf16index: 4 ) , length: 1 , kind: . variable, modifiers: . declaration) ,
157
161
SemanticToken ( start: Position ( line: 1 , utf16index: 8 ) , length: 6 , kind: . string) ,
158
162
// /* abc */ // 123
159
163
SemanticToken ( start: Position ( line: 2 , utf16index: 0 ) , length: 9 , kind: . comment) ,
@@ -178,17 +182,22 @@ final class SemanticTokensTests: XCTestCase {
178
182
XCTAssertEqual ( tokens, [
179
183
// struct X {}
180
184
SemanticToken ( start: Position ( line: 0 , utf16index: 0 ) , length: 6 , kind: . keyword) ,
185
+ SemanticToken ( start: Position ( line: 0 , utf16index: 7 ) , length: 1 , kind: . struct, modifiers: . declaration) ,
181
186
// let x = X()
182
187
SemanticToken ( start: Position ( line: 2 , utf16index: 0 ) , length: 3 , kind: . keyword) ,
188
+ SemanticToken ( start: Position ( line: 2 , utf16index: 4 ) , length: 1 , kind: . variable, modifiers: . declaration) ,
183
189
SemanticToken ( start: Position ( line: 2 , utf16index: 8 ) , length: 1 , kind: . struct) ,
184
190
// let y = x + x
185
191
SemanticToken ( start: Position ( line: 3 , utf16index: 0 ) , length: 3 , kind: . keyword) ,
192
+ SemanticToken ( start: Position ( line: 3 , utf16index: 4 ) , length: 1 , kind: . variable, modifiers: . declaration) ,
186
193
SemanticToken ( start: Position ( line: 3 , utf16index: 8 ) , length: 1 , kind: . variable) ,
187
194
SemanticToken ( start: Position ( line: 3 , utf16index: 12 ) , length: 1 , kind: . variable) ,
188
195
// func a() {}
189
196
SemanticToken ( start: Position ( line: 5 , utf16index: 0 ) , length: 4 , kind: . keyword) ,
197
+ SemanticToken ( start: Position ( line: 5 , utf16index: 5 ) , length: 3 , kind: . function, modifiers: . declaration) ,
190
198
// let b = {}
191
199
SemanticToken ( start: Position ( line: 6 , utf16index: 0 ) , length: 3 , kind: . keyword) ,
200
+ SemanticToken ( start: Position ( line: 6 , utf16index: 4 ) , length: 1 , kind: . variable, modifiers: . declaration) ,
192
201
// a()
193
202
SemanticToken ( start: Position ( line: 8 , utf16index: 0 ) , length: 1 , kind: . function) ,
194
203
// b()
@@ -209,15 +218,20 @@ final class SemanticTokensTests: XCTestCase {
209
218
XCTAssertEqual ( tokens, [
210
219
// protocol X {}
211
220
SemanticToken ( start: Position ( line: 0 , utf16index: 0 ) , length: 8 , kind: . keyword) ,
221
+ SemanticToken ( start: Position ( line: 0 , utf16index: 9 ) , length: 1 , kind: . interface, modifiers: . declaration) ,
212
222
// class Y: X {}
213
223
SemanticToken ( start: Position ( line: 1 , utf16index: 0 ) , length: 5 , kind: . keyword) ,
224
+ SemanticToken ( start: Position ( line: 1 , utf16index: 6 ) , length: 1 , kind: . class, modifiers: . declaration) ,
214
225
SemanticToken ( start: Position ( line: 1 , utf16index: 9 ) , length: 1 , kind: . interface) ,
215
226
// let y: Y = X()
216
227
SemanticToken ( start: Position ( line: 3 , utf16index: 0 ) , length: 3 , kind: . keyword) ,
228
+ SemanticToken ( start: Position ( line: 3 , utf16index: 4 ) , length: 1 , kind: . variable, modifiers: . declaration) ,
217
229
SemanticToken ( start: Position ( line: 3 , utf16index: 7 ) , length: 1 , kind: . class) ,
218
230
SemanticToken ( start: Position ( line: 3 , utf16index: 11 ) , length: 1 , kind: . interface) ,
219
231
// func f<T: X>() {}
220
232
SemanticToken ( start: Position ( line: 5 , utf16index: 0 ) , length: 4 , kind: . keyword) ,
233
+ SemanticToken ( start: Position ( line: 5 , utf16index: 5 ) , length: 9 , kind: . function, modifiers: . declaration) ,
234
+ SemanticToken ( start: Position ( line: 5 , utf16index: 7 ) , length: 1 , kind: . typeParameter, modifiers: . declaration) ,
221
235
SemanticToken ( start: Position ( line: 5 , utf16index: 10 ) , length: 1 , kind: . interface) ,
222
236
] )
223
237
}
0 commit comments