From 132143f84e578edf1f67dc79f829c58c0b1ce48e 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 cf521a7136724d892fe7dc829c195bb2ecc4def3..771a30d55829d00a88d8547b6e5fb6a5e7c6b31f 100644 --- a/assets/settings/default.json +++ b/assets/settings/default.json @@ -836,6 +836,7 @@ "language_servers": ["starpls", "!buck2-lsp", "..."] }, "Svelte": { + "language_servers": ["svelte-language-server", "..."], "prettier": { "allowed": true, "plugins": ["prettier-plugin-svelte"] @@ -859,6 +860,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 ddb65fd594e61c747fb115078e7767900d366dd3..1a60ba158e2cfafaf7ad8a97553d2d81133ca3a8 100644 --- a/crates/language/src/language.rs +++ b/crates/language/src/language.rs @@ -159,6 +159,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();