Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/inlay_hints.rs')
-rw-r--r--crates/ide/src/inlay_hints.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/crates/ide/src/inlay_hints.rs b/crates/ide/src/inlay_hints.rs
index 97e712356b..fcf262877d 100644
--- a/crates/ide/src/inlay_hints.rs
+++ b/crates/ide/src/inlay_hints.rs
@@ -475,6 +475,18 @@ impl InlayHintLabel {
}
}
+ pub fn append_part(&mut self, part: InlayHintLabelPart) {
+ if part.linked_location.is_none() && part.tooltip.is_none() {
+ if let Some(InlayHintLabelPart { text, linked_location: None, tooltip: None }) =
+ self.parts.last_mut()
+ {
+ text.push_str(&part.text);
+ return;
+ }
+ }
+ self.parts.push(part);
+ }
+
pub fn needs_resolve(&self) -> bool {
self.parts.iter().any(|part| part.linked_location.is_some() || part.tooltip.is_some())
}