about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLukas Wirth <lukastw97@gmail.com>2022-03-05 23:47:44 +0100
committerLukas Wirth <lukastw97@gmail.com>2022-03-05 23:47:44 +0100
commitb454f11f381ab1122772a0c48c8265baa91c33d1 (patch)
treef3fe4abd97cb676d25471c551eb2786bf07c3292
parent5c0aee013e93e40ab54d1928e2e15aac81d1aaea (diff)
downloadrust-b454f11f381ab1122772a0c48c8265baa91c33d1.tar.gz
rust-b454f11f381ab1122772a0c48c8265baa91c33d1.zip
Fix hover for `Self` keyword
-rw-r--r--crates/hir_def/src/macro_expansion_tests.rs1
-rw-r--r--crates/ide/src/hover/render.rs3
2 files changed, 2 insertions, 2 deletions
diff --git a/crates/hir_def/src/macro_expansion_tests.rs b/crates/hir_def/src/macro_expansion_tests.rs
index 1a7d9aa8411..f86d87d5cc8 100644
--- a/crates/hir_def/src/macro_expansion_tests.rs
+++ b/crates/hir_def/src/macro_expansion_tests.rs
@@ -302,6 +302,7 @@ fn pretty_print_macro_expansion(expn: SyntaxNode, map: Option<&TokenMap>) -> Str
             (T![fn], T!['(']) => "",
             (T![']'], _) if curr_kind.is_keyword() => " ",
             (T![']'], T![#]) => "\n",
+            (T![Self], T![::]) => "",
             _ if prev_kind.is_keyword() => " ",
             _ => "",
         };
diff --git a/crates/ide/src/hover/render.rs b/crates/ide/src/hover/render.rs
index 40a647c90b2..f8ac43bbddb 100644
--- a/crates/ide/src/hover/render.rs
+++ b/crates/ide/src/hover/render.rs
@@ -545,7 +545,6 @@ fn keyword_hints(
                 },
             }
         }
-
         T![fn] => {
             let module = match ast::FnPtrType::cast(parent) {
                 // treat fn keyword inside function pointer type as primitive
@@ -554,7 +553,7 @@ fn keyword_hints(
             };
             KeywordHint::new(token.text().to_string(), module)
         }
-
+        T![Self] => KeywordHint::new(token.text().to_string(), "self_upper_keyword".into()),
         _ => KeywordHint::new(token.text().to_string(), format!("{}_keyword", token.text())),
     }
 }