From 4d9c8821e5c328f29b77667c86cabb3689947fd2 Mon Sep 17 00:00:00 2001 From: JmPotato Date: Mon, 10 Aug 2020 14:02:40 +0800 Subject: Show const body in short_label Signed-off-by: JmPotato --- crates/ra_ide/src/display/short_label.rs | 10 +++++++++- crates/ra_ide/src/hover.rs | 8 ++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/crates/ra_ide/src/display/short_label.rs b/crates/ra_ide/src/display/short_label.rs index b5ff9fa2d..d8acb3be7 100644 --- a/crates/ra_ide/src/display/short_label.rs +++ b/crates/ra_ide/src/display/short_label.rs @@ -61,7 +61,15 @@ impl ShortLabel for ast::TypeAlias { impl ShortLabel for ast::Const { fn short_label(&self) -> Option { - short_label_from_ty(self, self.ty(), "const ") + match short_label_from_ty(self, self.ty(), "const ") { + Some(buf) => { + let mut new_buf = buf; + let body = self.body().unwrap(); + format_to!(new_buf, " = {}", body.syntax()); + Some(new_buf) + } + None => None, + } } } diff --git a/crates/ra_ide/src/hover.rs b/crates/ra_ide/src/hover.rs index 9c7348898..f66f62bfb 100644 --- a/crates/ra_ide/src/hover.rs +++ b/crates/ra_ide/src/hover.rs @@ -590,16 +590,16 @@ fn main() { #[test] fn hover_const_static() { check( - r#"const foo<|>: u32 = 0;"#, + r#"const foo<|>: u32 = 123;"#, expect![[r#" *foo* ```rust - const foo: u32 + const foo: u32 = 123 ``` "#]], ); check( - r#"static foo<|>: u32 = 0;"#, + r#"static foo<|>: u32 = 456;"#, expect![[r#" *foo* ```rust @@ -834,7 +834,7 @@ fn main() { expect![[r#" *C* ```rust - const C: u32 + const C: u32 = 1 ``` "#]], ) -- cgit v1.2.3 From 958b91c1e8394129216d1b8378d726f937592d3f Mon Sep 17 00:00:00 2001 From: JmPotato Date: Mon, 10 Aug 2020 17:51:45 +0800 Subject: Better codes Signed-off-by: JmPotato --- crates/ra_ide/src/display/short_label.rs | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/crates/ra_ide/src/display/short_label.rs b/crates/ra_ide/src/display/short_label.rs index d8acb3be7..010c34705 100644 --- a/crates/ra_ide/src/display/short_label.rs +++ b/crates/ra_ide/src/display/short_label.rs @@ -61,15 +61,11 @@ impl ShortLabel for ast::TypeAlias { impl ShortLabel for ast::Const { fn short_label(&self) -> Option { - match short_label_from_ty(self, self.ty(), "const ") { - Some(buf) => { - let mut new_buf = buf; - let body = self.body().unwrap(); - format_to!(new_buf, " = {}", body.syntax()); - Some(new_buf) - } - None => None, + let mut new_buf = short_label_from_ty(self, self.ty(), "const ")?; + if let Some(expr) = self.body() { + format_to!(new_buf, " = {}", expr.syntax()); } + Some(new_buf) } } -- cgit v1.2.3