Set language id for PHP. LSP works!
This commit is contained in:
parent
965cc2efbc
commit
94796e943b
1 changed files with 5 additions and 8 deletions
|
@ -2,6 +2,7 @@ use anyhow::{anyhow, Result};
|
||||||
use async_compression::futures::bufread::GzipDecoder;
|
use async_compression::futures::bufread::GzipDecoder;
|
||||||
use async_tar::Archive;
|
use async_tar::Archive;
|
||||||
use async_trait::async_trait;
|
use async_trait::async_trait;
|
||||||
|
use collections::HashMap;
|
||||||
use futures::{future::BoxFuture, FutureExt};
|
use futures::{future::BoxFuture, FutureExt};
|
||||||
use gpui::AppContext;
|
use gpui::AppContext;
|
||||||
use language::{LanguageServerName, LspAdapter, LspAdapterDelegate};
|
use language::{LanguageServerName, LspAdapter, LspAdapterDelegate};
|
||||||
|
@ -50,7 +51,6 @@ impl LspAdapter for IntelephenseLspAdapter {
|
||||||
// At the time of writing the latest vscode-eslint release was released in 2020 and requires
|
// At the time of writing the latest vscode-eslint release was released in 2020 and requires
|
||||||
// special custom LSP protocol extensions be handled to fully initialize. Download the latest
|
// special custom LSP protocol extensions be handled to fully initialize. Download the latest
|
||||||
// prerelease instead to sidestep this issue
|
// prerelease instead to sidestep this issue
|
||||||
dbg!("Strarting fetching server binary version");
|
|
||||||
Ok(Box::new(IntelephenseVersion(
|
Ok(Box::new(IntelephenseVersion(
|
||||||
self.node.npm_package_latest_version("intelephense").await?,
|
self.node.npm_package_latest_version("intelephense").await?,
|
||||||
)) as Box<_>)
|
)) as Box<_>)
|
||||||
|
@ -62,7 +62,6 @@ impl LspAdapter for IntelephenseLspAdapter {
|
||||||
container_dir: PathBuf,
|
container_dir: PathBuf,
|
||||||
_delegate: &dyn LspAdapterDelegate,
|
_delegate: &dyn LspAdapterDelegate,
|
||||||
) -> Result<LanguageServerBinary> {
|
) -> Result<LanguageServerBinary> {
|
||||||
dbg!("Strarting fetching server binary");
|
|
||||||
let version = version.downcast::<IntelephenseVersion>().unwrap();
|
let version = version.downcast::<IntelephenseVersion>().unwrap();
|
||||||
let server_path = container_dir.join(Self::SERVER_PATH);
|
let server_path = container_dir.join(Self::SERVER_PATH);
|
||||||
|
|
||||||
|
@ -71,9 +70,8 @@ impl LspAdapter for IntelephenseLspAdapter {
|
||||||
.npm_install_packages(&container_dir, [("intelephense", version.0.as_str())])
|
.npm_install_packages(&container_dir, [("intelephense", version.0.as_str())])
|
||||||
.await?;
|
.await?;
|
||||||
}
|
}
|
||||||
dbg!("Fetched server binary");
|
|
||||||
Ok(LanguageServerBinary {
|
Ok(LanguageServerBinary {
|
||||||
path: dbg!(self.node.binary_path().await)?,
|
path: self.node.binary_path().await?,
|
||||||
arguments: intelephense_server_binary_arguments(&server_path),
|
arguments: intelephense_server_binary_arguments(&server_path),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -83,7 +81,6 @@ impl LspAdapter for IntelephenseLspAdapter {
|
||||||
container_dir: PathBuf,
|
container_dir: PathBuf,
|
||||||
_: &dyn LspAdapterDelegate,
|
_: &dyn LspAdapterDelegate,
|
||||||
) -> Option<LanguageServerBinary> {
|
) -> Option<LanguageServerBinary> {
|
||||||
dbg!("cached_server_binary");
|
|
||||||
get_cached_server_binary(container_dir, &self.node).await
|
get_cached_server_binary(container_dir, &self.node).await
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,7 +88,6 @@ impl LspAdapter for IntelephenseLspAdapter {
|
||||||
&self,
|
&self,
|
||||||
container_dir: PathBuf,
|
container_dir: PathBuf,
|
||||||
) -> Option<LanguageServerBinary> {
|
) -> Option<LanguageServerBinary> {
|
||||||
dbg!("installation_test_binary");
|
|
||||||
get_cached_server_binary(container_dir, &self.node).await
|
get_cached_server_binary(container_dir, &self.node).await
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -100,14 +96,15 @@ impl LspAdapter for IntelephenseLspAdapter {
|
||||||
_item: &lsp::CompletionItem,
|
_item: &lsp::CompletionItem,
|
||||||
_language: &Arc<language::Language>,
|
_language: &Arc<language::Language>,
|
||||||
) -> Option<language::CodeLabel> {
|
) -> Option<language::CodeLabel> {
|
||||||
dbg!(_item.kind);
|
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn initialization_options(&self) -> Option<serde_json::Value> {
|
async fn initialization_options(&self) -> Option<serde_json::Value> {
|
||||||
dbg!("init_options");
|
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
|
async fn language_ids(&self) -> HashMap<String, String> {
|
||||||
|
HashMap::from_iter([("PHP".into(), "php".into())])
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn get_cached_server_binary(
|
async fn get_cached_server_binary(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue