about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLukas Wirth <lukastw97@gmail.com>2022-08-23 14:00:29 +0200
committerLukas Wirth <lukastw97@gmail.com>2022-08-23 14:06:19 +0200
commit2a26b054b722f0d7bdb973d1cfa193b88fbdeae6 (patch)
tree8341d3d17511e7aedc8d03c276d38e546d2c14f4
parent31fb917d8dc6c5f179069d717d110824a92b1a12 (diff)
downloadrust-2a26b054b722f0d7bdb973d1cfa193b88fbdeae6.tar.gz
rust-2a26b054b722f0d7bdb973d1cfa193b88fbdeae6.zip
Use lsp-types DECORATOR token type
-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 783345ce7a4..8f4a17dc5ca 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 b36732c834d..5392589186d 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 bb3b5c86bd2..b3f5493bf20 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 6d83adbc5bf..99f7b573999 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,