Unnamed repository; edit this file 'description' to name the repository.
Use lsp-types DECORATOR token type
Lukas Wirth 2022-08-23
parent 31fb917 · commit 2a26b05
-rw-r--r--Cargo.lock4
-rw-r--r--crates/rust-analyzer/Cargo.toml4
-rw-r--r--crates/rust-analyzer/src/semantic_tokens.rs28
-rw-r--r--crates/rust-analyzer/src/to_proto.rs2
4 files changed, 18 insertions, 20 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::CLASS,
SemanticTokenType::COMMENT,
+ SemanticTokenType::ENUM_MEMBER,
+ SemanticTokenType::ENUM,
+ SemanticTokenType::FUNCTION,
+ SemanticTokenType::INTERFACE,
SemanticTokenType::KEYWORD,
- SemanticTokenType::STRING,
+ SemanticTokenType::MACRO,
+ SemanticTokenType::METHOD,
+ SemanticTokenType::NAMESPACE,
SemanticTokenType::NUMBER,
- SemanticTokenType::REGEXP,
SemanticTokenType::OPERATOR,
- SemanticTokenType::NAMESPACE,
- SemanticTokenType::TYPE,
+ SemanticTokenType::PARAMETER,
+ SemanticTokenType::PROPERTY,
+ SemanticTokenType::REGEXP,
+ SemanticTokenType::STRING,
SemanticTokenType::STRUCT,
- SemanticTokenType::CLASS,
- SemanticTokenType::INTERFACE,
- SemanticTokenType::ENUM,
- SemanticTokenType::ENUM_MEMBER,
SemanticTokenType::TYPE_PARAMETER,
- SemanticTokenType::FUNCTION,
- SemanticTokenType::METHOD,
- SemanticTokenType::PROPERTY,
- SemanticTokenType::MACRO,
+ SemanticTokenType::TYPE,
SemanticTokenType::VARIABLE,
- SemanticTokenType::PARAMETER,
$($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,