From 6b9fa68dc521a34a19133d6243a51f82b225c14b Mon Sep 17 00:00:00 2001 From: Kirill Bulatov Date: Thu, 22 Aug 2024 15:36:31 +0300 Subject: [PATCH] Force Vue and Svelte language servers to be the first in the list for their languages (#16654) Follow-up of https://github.com/zed-industries/zed/pull/15624 Fixes https://github.com/zed-industries/zed/issues/13769 Fixes https://github.com/zed-industries/zed/issues/16469 This way, those are considered "primary" and serve all LSP requests like go to definition. Before, Tailwind language server was first and returned nothing for all LSP requests. - Fixed Vue and Svelte languages integrations not handling LSP requests properly ([#13769](https://github.com/zed-industries/zed/issues/13769)) ([#16469](https://github.com/zed-industries/zed/issues/16469)) --- assets/settings/default.json | 2 ++ crates/language/src/language.rs | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/assets/settings/default.json b/assets/settings/default.json index c232d0ba68d7f5d9606876e7af60fc726154fd05..cd4bff5b6e522b279a5ccdbd1c1084808ca7e8e2 100644 --- a/assets/settings/default.json +++ b/assets/settings/default.json @@ -838,6 +838,7 @@ "language_servers": ["starpls", "!buck2-lsp", "..."] }, "Svelte": { + "language_servers": ["svelte-language-server", "..."], "prettier": { "allowed": true, "plugins": ["prettier-plugin-svelte"] @@ -861,6 +862,7 @@ } }, "Vue.js": { + "language_servers": ["vue-language-server", "..."], "prettier": { "allowed": true } diff --git a/crates/language/src/language.rs b/crates/language/src/language.rs index 7d4c9294a7243b51f14b7e39b30f519781f7cfe6..ee1c468d17289b2413624f47bdb42a1efac7c392 100644 --- a/crates/language/src/language.rs +++ b/crates/language/src/language.rs @@ -158,6 +158,24 @@ pub struct CachedLspAdapter { cached_binary: futures::lock::Mutex>, } +impl Debug for CachedLspAdapter { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + f.debug_struct("CachedLspAdapter") + .field("name", &self.name) + .field( + "disk_based_diagnostic_sources", + &self.disk_based_diagnostic_sources, + ) + .field( + "disk_based_diagnostics_progress_token", + &self.disk_based_diagnostics_progress_token, + ) + .field("language_ids", &self.language_ids) + .field("reinstall_attempt_count", &self.reinstall_attempt_count) + .finish_non_exhaustive() + } +} + impl CachedLspAdapter { pub fn new(adapter: Arc) -> Arc { let name = adapter.name();