From d1dc63df8c27a44236cf1b9ae4a4488270f20f6f Mon Sep 17 00:00:00 2001 From: Justus Rossmeier Date: Thu, 30 Oct 2025 18:02:22 +0100 Subject: [PATCH] fix crash when autocompleting port map 4f20cbd introduced a regression that causes `completion_item_to_lsp_item` to fail for a formal as insert_text is no longer set now. The new implementation for the conversion function is robust and uses insert_text when available and falls back to the item's label (as an LSP client would) --- vhdl_ls/src/vhdl_server/completion.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/vhdl_ls/src/vhdl_server/completion.rs b/vhdl_ls/src/vhdl_server/completion.rs index 091f25a8..19117f6a 100644 --- a/vhdl_ls/src/vhdl_server/completion.rs +++ b/vhdl_ls/src/vhdl_server/completion.rs @@ -28,7 +28,10 @@ impl VHDLServer { let mut item = self.entity_to_completion_item(ent); if self.client_supports_snippets() { item.insert_text_format = Some(InsertTextFormat::SNIPPET); - item.insert_text = Some(format!("{} => $1,", item.insert_text.unwrap())); + item.insert_text = Some(format!( + "{} => $1,", + item.insert_text.as_ref().unwrap_or(&item.label) + )); } item }