@@ -19,7 +19,7 @@ public class TokenSpec {
19
19
public let nameForDiagnostics : String
20
20
public let unprefixedKind : String
21
21
public let text : String ?
22
- public let classification : String
22
+ public let classification : SyntaxClassification ?
23
23
public let isKeyword : Bool
24
24
public let requiresLeadingSpace : Bool
25
25
public let requiresTrailingSpace : Bool
@@ -54,7 +54,7 @@ public class TokenSpec {
54
54
self . unprefixedKind = kind
55
55
}
56
56
self . text = text
57
- self . classification = classification
57
+ self . classification = classificationByName ( classification)
58
58
self . isKeyword = isKeyword
59
59
self . requiresLeadingSpace = requiresLeadingSpace
60
60
self . requiresTrailingSpace = requiresTrailingSpace
@@ -275,7 +275,7 @@ public let SYNTAX_TOKENS: [TokenSpec] = [
275
275
PunctuatorSpec ( name: " Colon " , kind: " colon " , text: " : " , requiresTrailingSpace: true ) ,
276
276
PunctuatorSpec ( name: " Semicolon " , kind: " semi " , text: " ; " ) ,
277
277
PunctuatorSpec ( name: " Equal " , kind: " equal " , text: " = " , requiresLeadingSpace: true , requiresTrailingSpace: true ) ,
278
- PunctuatorSpec ( name: " AtSign " , kind: " at_sign " , text: " @ " ) ,
278
+ PunctuatorSpec ( name: " AtSign " , kind: " at_sign " , text: " @ " , classification : " Attribute " ) ,
279
279
PunctuatorSpec ( name: " Pound " , kind: " pound " , text: " # " ) ,
280
280
PunctuatorSpec ( name: " PrefixAmpersand " , kind: " amp_prefix " , text: " & " , requiresLeadingSpace: true , requiresTrailingSpace: true ) ,
281
281
PunctuatorSpec ( name: " Arrow " , kind: " arrow " , text: " -> " , requiresLeadingSpace: true , requiresTrailingSpace: true ) ,
@@ -284,9 +284,9 @@ public let SYNTAX_TOKENS: [TokenSpec] = [
284
284
PunctuatorSpec ( name: " ExclamationMark " , kind: " exclaim_postfix " , text: " ! " ) ,
285
285
PunctuatorSpec ( name: " PostfixQuestionMark " , kind: " question_postfix " , text: " ? " ) ,
286
286
PunctuatorSpec ( name: " InfixQuestionMark " , kind: " question_infix " , text: " ? " ) ,
287
- PunctuatorSpec ( name: " StringQuote " , kind: " string_quote " , text: " \" " ) ,
288
- PunctuatorSpec ( name: " SingleQuote " , kind: " single_quote " , text: " \' " ) ,
289
- PunctuatorSpec ( name: " MultilineStringQuote " , kind: " multiline_string_quote " , text: " \" \" \" " ) ,
287
+ PunctuatorSpec ( name: " StringQuote " , kind: " string_quote " , text: " \" " , classification : " StringLiteral " ) ,
288
+ PunctuatorSpec ( name: " SingleQuote " , kind: " single_quote " , text: " \' " , classification : " StringLiteral " ) ,
289
+ PunctuatorSpec ( name: " MultilineStringQuote " , kind: " multiline_string_quote " , text: " \" \" \" " , classification : " StringLiteral " ) ,
290
290
PoundKeywordSpec ( name: " PoundKeyPath " , kind: " pound_keyPath " , text: " #keyPath " ) ,
291
291
PoundKeywordSpec ( name: " PoundLine " , kind: " pound_line " , text: " #line " ) ,
292
292
PoundKeywordSpec ( name: " PoundSelector " , kind: " pound_selector " , text: " #selector " ) ,
@@ -310,21 +310,21 @@ public let SYNTAX_TOKENS: [TokenSpec] = [
310
310
PoundObjectLiteralSpec ( name: " PoundImageLiteral " , kind: " pound_imageLiteral " , text: " #imageLiteral " , nameForDiagnostics: " image " , protocol: " ExpressibleByImageLiteral " ) ,
311
311
PoundObjectLiteralSpec ( name: " PoundColorLiteral " , kind: " pound_colorLiteral " , text: " #colorLiteral " , nameForDiagnostics: " color " , protocol: " ExpressibleByColorLiteral " ) ,
312
312
PoundConfigSpec ( name: " PoundHasSymbol " , kind: " pound__hasSymbol " , text: " #_hasSymbol " ) ,
313
- LiteralSpec ( name: " IntegerLiteral " , kind: " integer_literal " , nameForDiagnostics: " integer literal " ) ,
314
- LiteralSpec ( name: " FloatingLiteral " , kind: " floating_literal " , nameForDiagnostics: " floating literal " ) ,
315
- LiteralSpec ( name: " StringLiteral " , kind: " string_literal " , nameForDiagnostics: " string literal " ) ,
313
+ LiteralSpec ( name: " IntegerLiteral " , kind: " integer_literal " , nameForDiagnostics: " integer literal " , classification : " IntegerLiteral " ) ,
314
+ LiteralSpec ( name: " FloatingLiteral " , kind: " floating_literal " , nameForDiagnostics: " floating literal " , classification : " FloatingLiteral " ) ,
315
+ LiteralSpec ( name: " StringLiteral " , kind: " string_literal " , nameForDiagnostics: " string literal " , classification : " StringLiteral " ) ,
316
316
LiteralSpec ( name: " RegexLiteral " , kind: " regex_literal " , nameForDiagnostics: " regex literal " ) ,
317
317
MiscSpec ( name: " Unknown " , kind: " unknown " , nameForDiagnostics: " token " ) ,
318
- MiscSpec ( name: " Identifier " , kind: " identifier " , nameForDiagnostics: " identifier " ) ,
319
- MiscSpec ( name: " UnspacedBinaryOperator " , kind: " oper_binary_unspaced " , nameForDiagnostics: " binary operator " ) ,
320
- MiscSpec ( name: " SpacedBinaryOperator " , kind: " oper_binary_spaced " , nameForDiagnostics: " binary operator " , requiresLeadingSpace: true , requiresTrailingSpace: true ) ,
321
- MiscSpec ( name: " PostfixOperator " , kind: " oper_postfix " , nameForDiagnostics: " postfix operator " ) ,
322
- MiscSpec ( name: " PrefixOperator " , kind: " oper_prefix " , nameForDiagnostics: " prefix operator " ) ,
323
- MiscSpec ( name: " DollarIdentifier " , kind: " dollarident " , nameForDiagnostics: " dollar identifier " ) ,
324
- MiscSpec ( name: " ContextualKeyword " , kind: " contextual_keyword " , nameForDiagnostics: " keyword " ) ,
318
+ MiscSpec ( name: " Identifier " , kind: " identifier " , nameForDiagnostics: " identifier " , classification : " Identifier " ) ,
319
+ MiscSpec ( name: " UnspacedBinaryOperator " , kind: " oper_binary_unspaced " , nameForDiagnostics: " binary operator " , classification : " OperatorIdentifier " ) ,
320
+ MiscSpec ( name: " SpacedBinaryOperator " , kind: " oper_binary_spaced " , nameForDiagnostics: " binary operator " , classification : " OperatorIdentifier " , requiresLeadingSpace: true , requiresTrailingSpace: true ) ,
321
+ MiscSpec ( name: " PostfixOperator " , kind: " oper_postfix " , nameForDiagnostics: " postfix operator " , classification : " OperatorIdentifier " ) ,
322
+ MiscSpec ( name: " PrefixOperator " , kind: " oper_prefix " , nameForDiagnostics: " prefix operator " , classification : " OperatorIdentifier " ) ,
323
+ MiscSpec ( name: " DollarIdentifier " , kind: " dollarident " , nameForDiagnostics: " dollar identifier " , classification : " DollarIdentifier " ) ,
324
+ MiscSpec ( name: " ContextualKeyword " , kind: " contextual_keyword " , nameForDiagnostics: " keyword " , classification : " Keyword " ) ,
325
325
MiscSpec ( name: " RawStringDelimiter " , kind: " raw_string_delimiter " , nameForDiagnostics: " raw string delimiter " ) ,
326
- MiscSpec ( name: " StringSegment " , kind: " string_segment " , nameForDiagnostics: " string segment " ) ,
327
- MiscSpec ( name: " StringInterpolationAnchor " , kind: " string_interpolation_anchor " , nameForDiagnostics: " string interpolation anchor " , text: " ) " ) ,
326
+ MiscSpec ( name: " StringSegment " , kind: " string_segment " , nameForDiagnostics: " string segment " , classification : " StringLiteral " ) ,
327
+ MiscSpec ( name: " StringInterpolationAnchor " , kind: " string_interpolation_anchor " , nameForDiagnostics: " string interpolation anchor " , text: " ) " , classification : " StringInterpolationAnchor " ) ,
328
328
MiscSpec ( name: " Yield " , kind: " kw_yield " , nameForDiagnostics: " yield " , text: " yield " ) ,
329
329
]
330
330
0 commit comments