From e71b642f444896d61469b633975b7694069b889a Mon Sep 17 00:00:00 2001 From: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Date: Thu, 27 Jun 2024 11:11:22 +0200 Subject: [PATCH] vue: Release 0.0.4 (#13580) Respect user settings in initialization_options. Release Notes: - Fixed Vue extension not picking up user-provided initialization options. --- Cargo.lock | 2 +- extensions/vue/Cargo.toml | 2 +- extensions/vue/extension.toml | 2 +- extensions/vue/src/vue.rs | 23 ++++++++++++++++------- 4 files changed, 19 insertions(+), 10 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c565aa3a83f161652e35c8af51733b064e5e24d6..de4bcb531a1da9663d2051a97ed9249e0780ede4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -13854,7 +13854,7 @@ dependencies = [ [[package]] name = "zed_vue" -version = "0.0.3" +version = "0.0.4" dependencies = [ "zed_extension_api 0.0.6", ] diff --git a/extensions/vue/Cargo.toml b/extensions/vue/Cargo.toml index 219281c9a1bf1777aba608ee883377bd65cf358b..08d14ea5dc3fa41b3c7901406f29efad574013e9 100644 --- a/extensions/vue/Cargo.toml +++ b/extensions/vue/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zed_vue" -version = "0.0.3" +version = "0.0.4" edition = "2021" publish = false license = "Apache-2.0" diff --git a/extensions/vue/extension.toml b/extensions/vue/extension.toml index dad02ec59009f62fc3d3838eaaa0be049ba17d89..8cbb70399f2ec8b403b76a99dea8e0c11af10166 100644 --- a/extensions/vue/extension.toml +++ b/extensions/vue/extension.toml @@ -1,7 +1,7 @@ id = "vue" name = "Vue" description = "Vue support." -version = "0.0.3" +version = "0.0.4" schema_version = 1 authors = ["Piotr Osiewicz "] repository = "https://github.com/zed-industries/zed" diff --git a/extensions/vue/src/vue.rs b/extensions/vue/src/vue.rs index 27d4a5d39930b7156260a1dc0e50f22650a24a2c..d286616e6708e3575e0668cc49b1c5ad46debdea 100644 --- a/extensions/vue/src/vue.rs +++ b/extensions/vue/src/vue.rs @@ -1,6 +1,7 @@ use std::{env, fs}; use zed::lsp::{Completion, CompletionKind}; use zed::CodeLabelSpan; +use zed_extension_api::settings::LspSettings; use zed_extension_api::{self as zed, serde_json, Result}; struct VueExtension { @@ -86,14 +87,22 @@ impl zed::Extension for VueExtension { fn language_server_initialization_options( &mut self, - _: &zed::LanguageServerId, - _: &zed::Worktree, + language_server_id: &zed::LanguageServerId, + worktree: &zed::Worktree, ) -> Result> { - Ok(Some(serde_json::json!({ - "typescript": { - "tsdk": "node_modules/typescript/lib" - } - }))) + let initialization_options = + LspSettings::for_worktree(language_server_id.as_ref(), worktree) + .ok() + .and_then(|lsp_settings| lsp_settings.initialization_options.clone()) + .unwrap_or_else(|| { + serde_json::json!({ + "typescript": { + "tsdk": "node_modules/typescript/lib" + } + }) + }); + + Ok(Some(serde_json::json!(initialization_options))) } fn label_for_completion(