Add a semantic token type for char literals

The LSP spec doesn't recognise character literals, so
had to extend the suported types to our own custom type
This commit is contained in:
petr-tik 2021-02-05 23:46:39 +00:00
parent 582a202d6e
commit f4e3eceb6f
2 changed files with 3 additions and 1 deletions

View File

@ -44,6 +44,7 @@ define_semantic_token_types![
(BRACE, "brace"),
(BRACKET, "bracket"),
(BUILTIN_TYPE, "builtinType"),
(CHAR_LITERAL, "characterLiteral"),
(COMMA, "comma"),
(COLON, "colon"),
(DOT, "dot"),

View File

@ -426,7 +426,8 @@ fn semantic_token_type_and_modifiers(
HlTag::None => semantic_tokens::GENERIC,
HlTag::ByteLiteral | HlTag::NumericLiteral => lsp_types::SemanticTokenType::NUMBER,
HlTag::BoolLiteral => semantic_tokens::BOOLEAN,
HlTag::CharLiteral | HlTag::StringLiteral => lsp_types::SemanticTokenType::STRING,
HlTag::StringLiteral => lsp_types::SemanticTokenType::STRING,
HlTag::CharLiteral => semantic_tokens::CHAR_LITERAL,
HlTag::Comment => lsp_types::SemanticTokenType::COMMENT,
HlTag::Attribute => semantic_tokens::ATTRIBUTE,
HlTag::Keyword => lsp_types::SemanticTokenType::KEYWORD,