From d52f07b77c6d87141e34bfa8d4279e34313f5780 Mon Sep 17 00:00:00 2001 From: Danilo Leal <67129314+danilo-leal@users.noreply.github.com> Date: Thu, 10 Jul 2025 22:00:01 -0300 Subject: [PATCH] lsp tool: Make "Restart All Servers" always visible (#34255) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Next step is to have a "Restart Current Buffer Server(s)". 😬 Release Notes: - N/A --- crates/language_tools/src/lsp_tool.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/crates/language_tools/src/lsp_tool.rs b/crates/language_tools/src/lsp_tool.rs index d14a6fb781..fd84391680 100644 --- a/crates/language_tools/src/lsp_tool.rs +++ b/crates/language_tools/src/lsp_tool.rs @@ -119,6 +119,7 @@ impl LanguageServerState { return menu; }; + let mut first_button_encountered = false; for (i, item) in self.items.iter().enumerate() { if let LspItem::ToggleServersButton { restart } = item { let label = if *restart { @@ -183,7 +184,11 @@ impl LanguageServerState { .ok(); } }); - menu = menu.separator().item(button); + if !first_button_encountered { + menu = menu.separator(); + first_button_encountered = true; + } + menu = menu.item(button); continue; }; @@ -706,6 +711,7 @@ impl LspTool { new_lsp_items.extend(other_servers.into_iter().map(ServerData::into_lsp_item)); if !new_lsp_items.is_empty() { if can_stop_all { + new_lsp_items.push(LspItem::ToggleServersButton { restart: true }); new_lsp_items.push(LspItem::ToggleServersButton { restart: false }); } else if can_restart_all { new_lsp_items.push(LspItem::ToggleServersButton { restart: true });