diff options
| author | Lukas Wirth <lukastw97@gmail.com> | 2024-10-23 09:57:00 +0200 |
|---|---|---|
| committer | Lukas Wirth <lukastw97@gmail.com> | 2024-10-23 09:57:00 +0200 |
| commit | 49322a176f984849b5953c5a42fb9d0c246a5b16 (patch) | |
| tree | 2dcd1eb204514d193adf9673ec44b3ccbe0a9f8f /src/tools/rust-analyzer/crates | |
| parent | c92f76d7d7fe819b3f6ba26c6224acd74194b2ea (diff) | |
| download | rust-49322a176f984849b5953c5a42fb9d0c246a5b16.tar.gz rust-49322a176f984849b5953c5a42fb9d0c246a5b16.zip | |
Add text edit to discriminant hints
Diffstat (limited to 'src/tools/rust-analyzer/crates')
| -rw-r--r-- | src/tools/rust-analyzer/crates/ide/src/inlay_hints/discriminant.rs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/tools/rust-analyzer/crates/ide/src/inlay_hints/discriminant.rs b/src/tools/rust-analyzer/crates/ide/src/inlay_hints/discriminant.rs index 35b62878329..40d7367dba3 100644 --- a/src/tools/rust-analyzer/crates/ide/src/inlay_hints/discriminant.rs +++ b/src/tools/rust-analyzer/crates/ide/src/inlay_hints/discriminant.rs @@ -8,6 +8,7 @@ use hir::Semantics; use ide_db::{famous_defs::FamousDefs, RootDatabase}; use span::EditionedFileId; use syntax::ast::{self, AstNode, HasName}; +use text_edit::TextEdit; use crate::{ DiscriminantHints, InlayHint, InlayHintLabel, InlayHintPosition, InlayHintsConfig, InlayKind, @@ -65,11 +66,11 @@ fn variant_hints( let eq_ = if eq_token.is_none() { " =" } else { "" }; let label = InlayHintLabel::simple( match d { - Ok(x) => { - if x >= 10 { - format!("{eq_} {x} ({x:#X})") + Ok(val) => { + if val >= 10 { + format!("{eq_} {val} ({val:#X})") } else { - format!("{eq_} {x}") + format!("{eq_} {val}") } } Err(_) => format!("{eq_} ?"), @@ -87,7 +88,7 @@ fn variant_hints( }, kind: InlayKind::Discriminant, label, - text_edit: None, + text_edit: d.ok().map(|val| TextEdit::insert(range.start(), format!("{eq_} {val}"))), position: InlayHintPosition::After, pad_left: false, pad_right: false, |
