diff --git a/crates/languages/src/vtsls.rs b/crates/languages/src/vtsls.rs index 4c23362a99d58be520557ef86c9630fed4f4ddf4..cccbccfdbb462ce1cdd0bc4e49b9f66280e4bdcd 100644 --- a/crates/languages/src/vtsls.rs +++ b/crates/languages/src/vtsls.rs @@ -138,9 +138,16 @@ impl LspAdapter for VtslsLspAdapter { _ => None, }?; - let text = match &item.detail { - Some(detail) => format!("{} {}", item.label, detail), - None => item.label.clone(), + let text = if let Some(description) = item + .label_details + .as_ref() + .and_then(|label_details| label_details.description.as_ref()) + { + format!("{} {}", item.label, description) + } else if let Some(detail) = &item.detail { + format!("{} {}", item.label, detail) + } else { + item.label.clone() }; Some(language::CodeLabel { diff --git a/crates/lsp/src/lsp.rs b/crates/lsp/src/lsp.rs index 3e3ac2557f7f39d9572606efd32dfba3b9f26f41..256b13a128381f0ba08c2a4ba3ebb84a0b329c72 100644 --- a/crates/lsp/src/lsp.rs +++ b/crates/lsp/src/lsp.rs @@ -660,6 +660,7 @@ impl LanguageServer { ], }), insert_replace_support: Some(true), + label_details_support: Some(true), ..Default::default() }), completion_list: Some(CompletionListCapability { @@ -670,6 +671,7 @@ impl LanguageServer { "data".to_owned(), ]), }), + context_support: Some(true), ..Default::default() }), rename: Some(RenameClientCapabilities {