From a47527041ec88230939d978fb24fb576dda73535 Mon Sep 17 00:00:00 2001 From: "gcp-cherry-pick-bot[bot]" <98988430+gcp-cherry-pick-bot[bot]@users.noreply.github.com> Date: Sun, 12 Jan 2025 16:45:54 +0200 Subject: [PATCH] Reuse vtsls logic for completion details display (cherry-pick #23030) (#23033) --- crates/languages/src/typescript.rs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/crates/languages/src/typescript.rs b/crates/languages/src/typescript.rs index 3a0291feb5d5a33d5ca23ff77fae0ddb289a197c..13a9a34a8ded203649d38428ce329bbce278a8fe 100644 --- a/crates/languages/src/typescript.rs +++ b/crates/languages/src/typescript.rs @@ -212,9 +212,18 @@ impl LspAdapter for TypeScriptLspAdapter { _ => None, }?; - let text = match &item.detail { - Some(detail) => format!("{} {}", item.label, detail), - None => item.label.clone(), + let one_line = |s: &str| s.replace(" ", "").replace('\n', " "); + + let text = if let Some(description) = item + .label_details + .as_ref() + .and_then(|label_details| label_details.description.as_ref()) + { + format!("{} {}", item.label, one_line(description)) + } else if let Some(detail) = &item.detail { + format!("{} {}", item.label, one_line(detail)) + } else { + item.label.clone() }; Some(language::CodeLabel {