From 2a26b054b722f0d7bdb973d1cfa193b88fbdeae6 Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Tue, 23 Aug 2022 14:00:29 +0200 Subject: [PATCH] Use lsp-types DECORATOR token type --- Cargo.lock | 4 +-- crates/rust-analyzer/Cargo.toml | 4 +-- crates/rust-analyzer/src/semantic_tokens.rs | 32 ++++++++++----------- crates/rust-analyzer/src/to_proto.rs | 2 +- 4 files changed, 20 insertions(+), 22 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 783345ce7a..8f4a17dc5c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -871,9 +871,9 @@ dependencies = [ [[package]] name = "lsp-types" -version = "0.93.0" +version = "0.93.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70c74e2173b2b31f8655d33724b4b45ac13f439386f66290f539c22b144c2212" +checksum = "a3bcfee315dde785ba887edb540b08765fd7df75a7d948844be6bf5712246734" dependencies = [ "bitflags", "serde", diff --git a/crates/rust-analyzer/Cargo.toml b/crates/rust-analyzer/Cargo.toml index b36732c834..5392589186 100644 --- a/crates/rust-analyzer/Cargo.toml +++ b/crates/rust-analyzer/Cargo.toml @@ -22,8 +22,8 @@ anyhow = "1.0.57" crossbeam-channel = "0.5.5" dissimilar = "1.0.4" itertools = "0.10.3" -lsp-types = { version = "0.93.0", features = ["proposed"] } scip = "0.1.1" +lsp-types = { version = "0.93.1", features = ["proposed"] } parking_lot = "0.12.1" xflags = "0.2.4" oorandom = "11.1.3" @@ -89,5 +89,5 @@ in-rust-tree = [ "proc-macro-srv/sysroot-abi", "sourcegen/in-rust-tree", "ide/in-rust-tree", - "syntax/in-rust-tree" + "syntax/in-rust-tree", ] diff --git a/crates/rust-analyzer/src/semantic_tokens.rs b/crates/rust-analyzer/src/semantic_tokens.rs index bb3b5c86bd..b3f5493bf2 100644 --- a/crates/rust-analyzer/src/semantic_tokens.rs +++ b/crates/rust-analyzer/src/semantic_tokens.rs @@ -12,26 +12,26 @@ macro_rules! define_semantic_token_types { $(pub(crate) const $ident: SemanticTokenType = SemanticTokenType::new($string);)* pub(crate) const SUPPORTED_TYPES: &[SemanticTokenType] = &[ - SemanticTokenType::COMMENT, - SemanticTokenType::KEYWORD, - SemanticTokenType::STRING, - SemanticTokenType::NUMBER, - SemanticTokenType::REGEXP, - SemanticTokenType::OPERATOR, - SemanticTokenType::NAMESPACE, - SemanticTokenType::TYPE, - SemanticTokenType::STRUCT, SemanticTokenType::CLASS, - SemanticTokenType::INTERFACE, - SemanticTokenType::ENUM, + SemanticTokenType::COMMENT, SemanticTokenType::ENUM_MEMBER, - SemanticTokenType::TYPE_PARAMETER, + SemanticTokenType::ENUM, SemanticTokenType::FUNCTION, - SemanticTokenType::METHOD, - SemanticTokenType::PROPERTY, + SemanticTokenType::INTERFACE, + SemanticTokenType::KEYWORD, SemanticTokenType::MACRO, - SemanticTokenType::VARIABLE, + SemanticTokenType::METHOD, + SemanticTokenType::NAMESPACE, + SemanticTokenType::NUMBER, + SemanticTokenType::OPERATOR, SemanticTokenType::PARAMETER, + SemanticTokenType::PROPERTY, + SemanticTokenType::REGEXP, + SemanticTokenType::STRING, + SemanticTokenType::STRUCT, + SemanticTokenType::TYPE_PARAMETER, + SemanticTokenType::TYPE, + SemanticTokenType::VARIABLE, $($ident),* ]; }; @@ -52,8 +52,6 @@ define_semantic_token_types![ (COMMA, "comma"), (COMPARISON, "comparison"), (CONST_PARAMETER, "constParameter"), - // FIXME: to be replaced once lsp-types has the upstream version - (DECORATOR, "decorator"), (DERIVE, "derive"), (DERIVE_HELPER, "deriveHelper"), (DOT, "dot"), diff --git a/crates/rust-analyzer/src/to_proto.rs b/crates/rust-analyzer/src/to_proto.rs index 6d83adbc5b..99f7b57399 100644 --- a/crates/rust-analyzer/src/to_proto.rs +++ b/crates/rust-analyzer/src/to_proto.rs @@ -558,7 +558,7 @@ fn semantic_token_type_and_modifiers( let mut mods = semantic_tokens::ModifierSet::default(); let type_ = match highlight.tag { HlTag::Symbol(symbol) => match symbol { - SymbolKind::Attribute => semantic_tokens::DECORATOR, + SymbolKind::Attribute => lsp_types::SemanticTokenType::DECORATOR, SymbolKind::Derive => semantic_tokens::DERIVE, SymbolKind::DeriveHelper => semantic_tokens::DERIVE_HELPER, SymbolKind::Module => lsp_types::SemanticTokenType::NAMESPACE,