diff --git a/crates/languages/src/bash.rs b/crates/languages/src/bash.rs index 2335b0a170..103cacdc16 100644 --- a/crates/languages/src/bash.rs +++ b/crates/languages/src/bash.rs @@ -1,11 +1,13 @@ use anyhow::Result; use async_trait::async_trait; use collections::HashMap; +use gpui::AsyncApp; use language::{LanguageServerName, LspAdapter, LspAdapterDelegate, LspInstaller, Toolchain}; -use lsp::LanguageServerBinary; +use lsp::{LanguageServerBinary, Uri}; use node_runtime::{NodeRuntime, VersionStrategy}; -use project::ContextProviderWithTasks; +use project::{ContextProviderWithTasks, lsp_store::language_server_settings}; use semver::Version; +use serde_json::Value; use std::{future::Future, path::PathBuf, sync::Arc, vec}; use task::{TaskTemplate, TaskTemplates, VariableName}; use util::{ResultExt, maybe}; @@ -171,6 +173,21 @@ impl LspAdapter for BashLspAdapter { fn name(&self) -> LanguageServerName { LanguageServerName::new_static(Self::PACKAGE_NAME) } + + async fn workspace_configuration( + self: Arc, + delegate: &Arc, + _: Option, + _: Option, + cx: &mut AsyncApp, + ) -> Result { + let settings = cx.update(|cx| { + language_server_settings(delegate.as_ref(), &self.name(), cx) + .and_then(|s| s.settings.clone()) + }); + + Ok(settings.unwrap_or_default()) + } } #[cfg(test)]