Enable CSS, JSON, Python, and Tailwind to lookup LSP installed in PATH (#22037)

Co-authored-by: Peter Tripp <peter@zed.dev>
This commit is contained in:
Henry Chu
2025-02-04 14:50:49 -05:00
committed by GitHub
co-authored by Peter Tripp
parent ee422dea6e
commit 7da60995cc
4 changed files with 96 additions and 25 deletions
+20 -1
View File
@@ -1,7 +1,8 @@
use anyhow::{anyhow, Result};
use async_trait::async_trait;
use futures::StreamExt;
use language::{LspAdapter, LspAdapterDelegate};
use gpui::AsyncApp;
use language::{LanguageToolchainStore, LspAdapter, LspAdapterDelegate};
use lsp::{LanguageServerBinary, LanguageServerName};
use node_runtime::NodeRuntime;
use project::Fs;
@@ -39,6 +40,24 @@ impl LspAdapter for CssLspAdapter {
LanguageServerName("vscode-css-language-server".into())
}
async fn check_if_user_installed(
&self,
delegate: &dyn LspAdapterDelegate,
_: Arc<dyn LanguageToolchainStore>,
_: &AsyncApp,
) -> Option<LanguageServerBinary> {
let path = delegate
.which("vscode-css-language-server".as_ref())
.await?;
let env = delegate.shell_env().await;
Some(LanguageServerBinary {
path,
env: Some(env),
arguments: vec!["--stdio".into()],
})
}
async fn fetch_latest_server_version(
&self,
_: &dyn LspAdapterDelegate,