From 828b5ab9758ebcb0f2889f2af48fdb0cf415b5ea Mon Sep 17 00:00:00 2001 From: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Date: Thu, 23 Jan 2025 13:03:37 +0100 Subject: [PATCH] project: Reorder LSP Adapters within LanguageRegistry (#23528) Closes #ISSUE Release Notes: - N/A --- crates/project/src/project_tree/server_tree.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/crates/project/src/project_tree/server_tree.rs b/crates/project/src/project_tree/server_tree.rs index eb6496db32..c222b68a2b 100644 --- a/crates/project/src/project_tree/server_tree.rs +++ b/crates/project/src/project_tree/server_tree.rs @@ -286,6 +286,20 @@ impl LanguageServerTree { )) }) .collect::>(); + // After starting all the language servers, reorder them to reflect the desired order + // based on the settings. + // + // This is done, in part, to ensure that language servers loaded at different points + // (e.g., native vs extension) still end up in the right order at the end, rather than + // it being based on which language server happened to be loaded in first. + self.languages.reorder_language_servers( + &language_name, + adapters_with_settings + .keys() + .map(|wrapper| wrapper.0.clone()) + .collect(), + ); + adapters_with_settings }