From 598366efd340a1e7c8d8ef276b4a0d74f1a91777 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Wed, 8 Dec 2021 14:16:05 +0200 Subject: [PATCH] fix(47043): use keyword semantic for const assertions --- src/services/classifier.ts | 4 ++++ .../semanticClassificationConstAssertion.ts | 20 +++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 tests/cases/fourslash/semanticClassificationConstAssertion.ts diff --git a/src/services/classifier.ts b/src/services/classifier.ts index 764f22ab92faf..ed8445b8f3987 100644 --- a/src/services/classifier.ts +++ b/src/services/classifier.ts @@ -1075,6 +1075,10 @@ namespace ts { } return; } + + if (isConstTypeReference(token.parent)) { + return ClassificationType.keyword; + } } return ClassificationType.identifier; } diff --git a/tests/cases/fourslash/semanticClassificationConstAssertion.ts b/tests/cases/fourslash/semanticClassificationConstAssertion.ts new file mode 100644 index 0000000000000..102cd1034eb0d --- /dev/null +++ b/tests/cases/fourslash/semanticClassificationConstAssertion.ts @@ -0,0 +1,20 @@ +/// + +////1 as const; + +const c1 = classification("original"); +verify.syntacticClassificationsAre( + c1.numericLiteral("1"), + c1.keyword("as"), + c1.keyword("const"), + c1.punctuation(";") +); + + +const c2 = classification("2020"); +verify.syntacticClassificationsAre( + c2.semanticToken("number", "1"), + c2.semanticToken("keyword", "as"), + c2.semanticToken("keyword", "const"), + c2.semanticToken("punctuation", ";") +);