Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-completion/src/tests.rs')
-rw-r--r--crates/ide-completion/src/tests.rs19
1 files changed, 16 insertions, 3 deletions
diff --git a/crates/ide-completion/src/tests.rs b/crates/ide-completion/src/tests.rs
index 9db8e972dd..f28afacc58 100644
--- a/crates/ide-completion/src/tests.rs
+++ b/crates/ide-completion/src/tests.rs
@@ -150,16 +150,29 @@ fn render_completion_list(completions: Vec<CompletionItem>) -> String {
fn monospace_width(s: &str) -> usize {
s.chars().count()
}
- let label_width =
- completions.iter().map(|it| monospace_width(&it.label)).max().unwrap_or_default().min(22);
+ let label_width = completions
+ .iter()
+ .map(|it| {
+ monospace_width(&it.label)
+ + monospace_width(it.label_detail.as_deref().unwrap_or_default())
+ })
+ .max()
+ .unwrap_or_default()
+ .min(22);
completions
.into_iter()
.map(|it| {
let tag = it.kind.tag();
let var_name = format!("{tag} {}", it.label);
let mut buf = var_name;
+ if let Some(ref label_detail) = it.label_detail {
+ format_to!(buf, "{label_detail}");
+ }
if let Some(detail) = it.detail {
- let width = label_width.saturating_sub(monospace_width(&it.label));
+ let width = label_width.saturating_sub(
+ monospace_width(&it.label)
+ + monospace_width(&it.label_detail.unwrap_or_default()),
+ );
format_to!(buf, "{:width$} {}", "", detail, width = width);
}
if it.deprecated {