mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-28 21:05:02 +00:00
Improve hover over derference message
This commit is contained in:
parent
4d9728ccb2
commit
8de5d66e25
1 changed files with 11 additions and 11 deletions
|
@ -375,20 +375,20 @@ fn hover_deref_expr(
|
||||||
let original = original.display(sema.db).to_string();
|
let original = original.display(sema.db).to_string();
|
||||||
let adjusted = adjusted_ty.display(sema.db).to_string();
|
let adjusted = adjusted_ty.display(sema.db).to_string();
|
||||||
let inner = inner_ty.display(sema.db).to_string();
|
let inner = inner_ty.display(sema.db).to_string();
|
||||||
let type_len = "Type: ".len();
|
let type_len = "To type: ".len();
|
||||||
let coerced_len = "Coerced to: ".len();
|
let coerced_len = "Coerced to: ".len();
|
||||||
let deref_len = "Dereferenced from: ".len();
|
let deref_len = "Dereferenced from: ".len();
|
||||||
let max_len = (original.len() + type_len)
|
let max_len = (original.len() + type_len)
|
||||||
.max(adjusted.len() + coerced_len)
|
.max(adjusted.len() + coerced_len)
|
||||||
.max(inner.len() + deref_len);
|
.max(inner.len() + deref_len);
|
||||||
format!(
|
format!(
|
||||||
"{bt_start}Type: {:>apad$}\nCoerced to: {:>opad$}\nDereferenced from: {:>ipad$}\n{bt_end}",
|
"{bt_start}Dereferenced from: {:>ipad$}\nTo type: {:>apad$}\nCoerced to: {:>opad$}\n{bt_end}",
|
||||||
|
inner,
|
||||||
original,
|
original,
|
||||||
adjusted,
|
adjusted,
|
||||||
inner,
|
ipad = max_len - deref_len,
|
||||||
apad = max_len - type_len,
|
apad = max_len - type_len,
|
||||||
opad = max_len - coerced_len,
|
opad = max_len - coerced_len,
|
||||||
ipad = max_len - deref_len,
|
|
||||||
bt_start = if config.markdown() { "```text\n" } else { "" },
|
bt_start = if config.markdown() { "```text\n" } else { "" },
|
||||||
bt_end = if config.markdown() { "```\n" } else { "" }
|
bt_end = if config.markdown() { "```\n" } else { "" }
|
||||||
)
|
)
|
||||||
|
@ -396,15 +396,15 @@ fn hover_deref_expr(
|
||||||
} else {
|
} else {
|
||||||
let original = original.display(sema.db).to_string();
|
let original = original.display(sema.db).to_string();
|
||||||
let inner = inner_ty.display(sema.db).to_string();
|
let inner = inner_ty.display(sema.db).to_string();
|
||||||
let type_len = "Type: ".len();
|
let type_len = "To type: ".len();
|
||||||
let deref_len = "Dereferenced from: ".len();
|
let deref_len = "Dereferenced from: ".len();
|
||||||
let max_len = (original.len() + type_len).max(inner.len() + deref_len);
|
let max_len = (original.len() + type_len).max(inner.len() + deref_len);
|
||||||
format!(
|
format!(
|
||||||
"{bt_start}Type: {:>apad$}\nDereferenced from: {:>ipad$}\n{bt_end}",
|
"{bt_start}Dereferenced from: {:>ipad$}\nTo type: {:>apad$}\n{bt_end}",
|
||||||
original,
|
|
||||||
inner,
|
inner,
|
||||||
apad = max_len - type_len,
|
original,
|
||||||
ipad = max_len - deref_len,
|
ipad = max_len - deref_len,
|
||||||
|
apad = max_len - type_len,
|
||||||
bt_start = if config.markdown() { "```text\n" } else { "" },
|
bt_start = if config.markdown() { "```text\n" } else { "" },
|
||||||
bt_end = if config.markdown() { "```\n" } else { "" }
|
bt_end = if config.markdown() { "```\n" } else { "" }
|
||||||
)
|
)
|
||||||
|
@ -4542,8 +4542,8 @@ fn foo() {
|
||||||
"#,
|
"#,
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
```text
|
```text
|
||||||
Type: i32
|
|
||||||
Dereferenced from: DerefExample<i32>
|
Dereferenced from: DerefExample<i32>
|
||||||
|
To type: i32
|
||||||
```
|
```
|
||||||
"#]],
|
"#]],
|
||||||
);
|
);
|
||||||
|
@ -4575,9 +4575,9 @@ fn foo() {
|
||||||
"#,
|
"#,
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
```text
|
```text
|
||||||
Type: &&&&&i32
|
|
||||||
Coerced to: &i32
|
|
||||||
Dereferenced from: DerefExample<&&&&&i32>
|
Dereferenced from: DerefExample<&&&&&i32>
|
||||||
|
To type: &&&&&i32
|
||||||
|
Coerced to: &i32
|
||||||
```
|
```
|
||||||
"#]],
|
"#]],
|
||||||
);
|
);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue