mirror of
https://github.com/zed-industries/zed.git
synced 2025-01-27 12:54:42 +00:00
Remove the async
modifier from the workspace_configuration
method
This commit is contained in:
parent
351914f4bd
commit
ab8585ee7e
6 changed files with 31 additions and 63 deletions
|
@ -23,7 +23,7 @@ use async_trait::async_trait;
|
|||
use collections::{HashMap, HashSet};
|
||||
use futures::{
|
||||
channel::{mpsc, oneshot},
|
||||
future::{BoxFuture, Shared},
|
||||
future::Shared,
|
||||
FutureExt, TryFutureExt as _,
|
||||
};
|
||||
use gpui::{AppContext, AsyncAppContext, BackgroundExecutor, Task};
|
||||
|
@ -216,11 +216,7 @@ impl CachedLspAdapter {
|
|||
self.adapter.code_action_kinds()
|
||||
}
|
||||
|
||||
pub fn workspace_configuration(
|
||||
&self,
|
||||
workspace_root: &Path,
|
||||
cx: &mut AppContext,
|
||||
) -> BoxFuture<'static, Value> {
|
||||
pub fn workspace_configuration(&self, workspace_root: &Path, cx: &mut AppContext) -> Value {
|
||||
self.adapter.workspace_configuration(workspace_root, cx)
|
||||
}
|
||||
|
||||
|
@ -345,8 +341,8 @@ pub trait LspAdapter: 'static + Send + Sync {
|
|||
None
|
||||
}
|
||||
|
||||
fn workspace_configuration(&self, _: &Path, _: &mut AppContext) -> BoxFuture<'static, Value> {
|
||||
futures::future::ready(serde_json::json!({})).boxed()
|
||||
fn workspace_configuration(&self, _: &Path, _: &mut AppContext) -> Value {
|
||||
serde_json::json!({})
|
||||
}
|
||||
|
||||
/// Returns a list of code actions supported by a given LspAdapter
|
||||
|
|
|
@ -664,7 +664,7 @@ impl Project {
|
|||
next_diagnostic_group_id: Default::default(),
|
||||
supplementary_language_servers: HashMap::default(),
|
||||
language_servers: Default::default(),
|
||||
language_server_ids: Default::default(),
|
||||
language_server_ids: HashMap::default(),
|
||||
language_server_statuses: Default::default(),
|
||||
last_workspace_edits_by_language_server: Default::default(),
|
||||
buffers_being_formatted: Default::default(),
|
||||
|
@ -752,7 +752,7 @@ impl Project {
|
|||
},
|
||||
supplementary_language_servers: HashMap::default(),
|
||||
language_servers: Default::default(),
|
||||
language_server_ids: Default::default(),
|
||||
language_server_ids: HashMap::default(),
|
||||
language_server_statuses: response
|
||||
.payload
|
||||
.language_servers
|
||||
|
@ -2700,7 +2700,7 @@ impl Project {
|
|||
});
|
||||
|
||||
cx.spawn(move |this, mut cx| async move {
|
||||
while let Some(_) = settings_changed_rx.next().await {
|
||||
while let Some(()) = settings_changed_rx.next().await {
|
||||
let servers: Vec<_> = this.update(&mut cx, |this, _| {
|
||||
this.language_servers
|
||||
.values()
|
||||
|
@ -2714,9 +2714,8 @@ impl Project {
|
|||
})?;
|
||||
|
||||
for (adapter, server) in servers {
|
||||
let workspace_config = cx
|
||||
.update(|cx| adapter.workspace_configuration(server.root_path(), cx))?
|
||||
.await;
|
||||
let workspace_config =
|
||||
cx.update(|cx| adapter.workspace_configuration(server.root_path(), cx))?;
|
||||
server
|
||||
.notify::<lsp::notification::DidChangeConfiguration>(
|
||||
lsp::DidChangeConfigurationParams {
|
||||
|
@ -3020,9 +3019,8 @@ impl Project {
|
|||
server_id: LanguageServerId,
|
||||
cx: &mut AsyncAppContext,
|
||||
) -> Result<Arc<LanguageServer>> {
|
||||
let workspace_config = cx
|
||||
.update(|cx| adapter.workspace_configuration(worktree_path, cx))?
|
||||
.await;
|
||||
let workspace_config =
|
||||
cx.update(|cx| adapter.workspace_configuration(worktree_path, cx))?;
|
||||
let language_server = pending_server.task.await?;
|
||||
|
||||
language_server
|
||||
|
@ -3056,9 +3054,8 @@ impl Project {
|
|||
let adapter = adapter.clone();
|
||||
let worktree_path = worktree_path.clone();
|
||||
async move {
|
||||
let workspace_config = cx
|
||||
.update(|cx| adapter.workspace_configuration(&worktree_path, cx))?
|
||||
.await;
|
||||
let workspace_config =
|
||||
cx.update(|cx| adapter.workspace_configuration(&worktree_path, cx))?;
|
||||
Ok(params
|
||||
.items
|
||||
.into_iter()
|
||||
|
|
|
@ -2,7 +2,7 @@ use anyhow::{anyhow, Result};
|
|||
use async_trait::async_trait;
|
||||
use collections::HashMap;
|
||||
use feature_flags::FeatureFlagAppExt;
|
||||
use futures::{future::BoxFuture, FutureExt, StreamExt};
|
||||
use futures::StreamExt;
|
||||
use gpui::AppContext;
|
||||
use language::{LanguageRegistry, LanguageServerName, LspAdapter, LspAdapterDelegate};
|
||||
use lsp::LanguageServerBinary;
|
||||
|
@ -13,7 +13,6 @@ use smol::fs;
|
|||
use std::{
|
||||
any::Any,
|
||||
ffi::OsString,
|
||||
future,
|
||||
path::{Path, PathBuf},
|
||||
sync::Arc,
|
||||
};
|
||||
|
@ -107,7 +106,7 @@ impl LspAdapter for JsonLspAdapter {
|
|||
&self,
|
||||
_workspace_root: &Path,
|
||||
cx: &mut AppContext,
|
||||
) -> BoxFuture<'static, serde_json::Value> {
|
||||
) -> serde_json::Value {
|
||||
let action_names = cx.all_action_names();
|
||||
let staff_mode = cx.is_staff();
|
||||
let language_names = &self.languages.language_names();
|
||||
|
@ -119,7 +118,7 @@ impl LspAdapter for JsonLspAdapter {
|
|||
cx,
|
||||
);
|
||||
|
||||
future::ready(serde_json::json!({
|
||||
serde_json::json!({
|
||||
"json": {
|
||||
"format": {
|
||||
"enable": true,
|
||||
|
@ -138,8 +137,7 @@ impl LspAdapter for JsonLspAdapter {
|
|||
}
|
||||
]
|
||||
}
|
||||
}))
|
||||
.boxed()
|
||||
})
|
||||
}
|
||||
|
||||
async fn language_ids(&self) -> HashMap<String, String> {
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
use anyhow::{anyhow, Result};
|
||||
use async_trait::async_trait;
|
||||
use collections::HashMap;
|
||||
use futures::{
|
||||
future::{self, BoxFuture},
|
||||
FutureExt, StreamExt,
|
||||
};
|
||||
use futures::StreamExt;
|
||||
use gpui::AppContext;
|
||||
use language::{LanguageServerName, LspAdapter, LspAdapterDelegate};
|
||||
use lsp::LanguageServerBinary;
|
||||
|
@ -107,17 +104,12 @@ impl LspAdapter for TailwindLspAdapter {
|
|||
}))
|
||||
}
|
||||
|
||||
fn workspace_configuration(
|
||||
&self,
|
||||
_workspace_root: &Path,
|
||||
_: &mut AppContext,
|
||||
) -> BoxFuture<'static, Value> {
|
||||
future::ready(json!({
|
||||
fn workspace_configuration(&self, _workspace_root: &Path, _: &mut AppContext) -> Value {
|
||||
json!({
|
||||
"tailwindCSS": {
|
||||
"emmetCompletions": true,
|
||||
}
|
||||
}))
|
||||
.boxed()
|
||||
})
|
||||
}
|
||||
|
||||
async fn language_ids(&self) -> HashMap<String, String> {
|
||||
|
|
|
@ -3,7 +3,6 @@ use async_compression::futures::bufread::GzipDecoder;
|
|||
use async_tar::Archive;
|
||||
use async_trait::async_trait;
|
||||
use collections::HashMap;
|
||||
use futures::{future::BoxFuture, FutureExt};
|
||||
use gpui::AppContext;
|
||||
use language::{LanguageServerName, LspAdapter, LspAdapterDelegate};
|
||||
use lsp::{CodeActionKind, LanguageServerBinary};
|
||||
|
@ -13,7 +12,6 @@ use smol::{fs, io::BufReader, stream::StreamExt};
|
|||
use std::{
|
||||
any::Any,
|
||||
ffi::OsString,
|
||||
future,
|
||||
path::{Path, PathBuf},
|
||||
sync::Arc,
|
||||
};
|
||||
|
@ -212,12 +210,8 @@ impl EsLintLspAdapter {
|
|||
|
||||
#[async_trait]
|
||||
impl LspAdapter for EsLintLspAdapter {
|
||||
fn workspace_configuration(
|
||||
&self,
|
||||
workspace_root: &Path,
|
||||
_: &mut AppContext,
|
||||
) -> BoxFuture<'static, Value> {
|
||||
future::ready(json!({
|
||||
fn workspace_configuration(&self, workspace_root: &Path, _: &mut AppContext) -> Value {
|
||||
json!({
|
||||
"": {
|
||||
"validate": "on",
|
||||
"rulesCustomizations": [],
|
||||
|
@ -230,8 +224,7 @@ impl LspAdapter for EsLintLspAdapter {
|
|||
.unwrap_or_else(|| workspace_root.as_os_str()),
|
||||
},
|
||||
}
|
||||
}))
|
||||
.boxed()
|
||||
})
|
||||
}
|
||||
|
||||
async fn name(&self) -> LanguageServerName {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
use anyhow::{anyhow, Result};
|
||||
use async_trait::async_trait;
|
||||
use futures::{future::BoxFuture, FutureExt, StreamExt};
|
||||
use futures::StreamExt;
|
||||
use gpui::AppContext;
|
||||
use language::{
|
||||
language_settings::all_language_settings, LanguageServerName, LspAdapter, LspAdapterDelegate,
|
||||
|
@ -12,7 +12,6 @@ use smol::fs;
|
|||
use std::{
|
||||
any::Any,
|
||||
ffi::OsString,
|
||||
future,
|
||||
path::{Path, PathBuf},
|
||||
sync::Arc,
|
||||
};
|
||||
|
@ -93,24 +92,17 @@ impl LspAdapter for YamlLspAdapter {
|
|||
) -> Option<LanguageServerBinary> {
|
||||
get_cached_server_binary(container_dir, &*self.node).await
|
||||
}
|
||||
fn workspace_configuration(
|
||||
&self,
|
||||
_workspace_root: &Path,
|
||||
cx: &mut AppContext,
|
||||
) -> BoxFuture<'static, Value> {
|
||||
let tab_size = all_language_settings(None, cx)
|
||||
.language(Some("YAML"))
|
||||
.tab_size;
|
||||
|
||||
future::ready(serde_json::json!({
|
||||
fn workspace_configuration(&self, _workspace_root: &Path, cx: &mut AppContext) -> Value {
|
||||
serde_json::json!({
|
||||
"yaml": {
|
||||
"keyOrdering": false
|
||||
},
|
||||
"[yaml]": {
|
||||
"editor.tabSize": tab_size,
|
||||
"editor.tabSize": all_language_settings(None, cx)
|
||||
.language(Some("YAML"))
|
||||
.tab_size,
|
||||
}
|
||||
}))
|
||||
.boxed()
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue