on master help sign in
Only write newlines in menu selection popup if the lsp returns detail (#4902)
6798a66ath3
helix-term/src/ui/completion.rs+9−10
@@ -411,7 +411,7 @@ impl Component for Completion {
411 "```{}\n{}\n```\n{}",
411 "```{}\n{}\n```\n{}",
412 language,
412 language,
413 option.detail.as_deref().unwrap_or_default(),
413 option.detail.as_deref().unwrap_or_default(),
414− contents.clone()
414+ contents
415 ),
415 ),
416 cx.editor.syn_loader.clone(),
416 cx.editor.syn_loader.clone(),
417 )
417 )
@@ -421,15 +421,14 @@ impl Component for Completion {
421 value: contents,
421 value: contents,
422 })) => {
422 })) => {
423 // TODO: set language based on doc scope
423 // TODO: set language based on doc scope
424+ if let Some(detail) = &option.detail.as_deref() {
424− Markdown::new(
425+ Markdown::new(
425− format!(
426− "```{}\n{}\n```\n{}",
427− language,
426+ format!("```{}\n{}\n```\n{}", language, detail, contents),
428− option.detail.as_deref().unwrap_or_default(),
427+ cx.editor.syn_loader.clone(),
429− contents.clone()
430− ),
428+ )
429+ } else {
431− cx.editor.syn_loader.clone(),
430+ Markdown::new(contents.to_string(), cx.editor.syn_loader.clone())
432− )
431+ }
433 }
432 }
434 None if option.detail.is_some() => {
433 None if option.detail.is_some() => {
435 // TODO: copied from above
434 // TODO: copied from above