lsp: Always report innermost workspace_folders (#36407)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
This commit is contained in:
parent
57198f33c4
commit
5225844c9e
3 changed files with 3 additions and 33 deletions
|
@ -283,15 +283,6 @@ impl CachedLspAdapter {
|
|||
}
|
||||
}
|
||||
|
||||
/// Determines what gets sent out as a workspace folders content
|
||||
#[derive(Clone, Copy, Debug, PartialEq)]
|
||||
pub enum WorkspaceFoldersContent {
|
||||
/// Send out a single entry with the root of the workspace.
|
||||
WorktreeRoot,
|
||||
/// Send out a list of subproject roots.
|
||||
SubprojectRoots,
|
||||
}
|
||||
|
||||
/// [`LspAdapterDelegate`] allows [`LspAdapter]` implementations to interface with the application
|
||||
// e.g. to display a notification or fetch data from the web.
|
||||
#[async_trait]
|
||||
|
@ -580,13 +571,6 @@ pub trait LspAdapter: 'static + Send + Sync {
|
|||
Ok(original)
|
||||
}
|
||||
|
||||
/// Determines whether a language server supports workspace folders.
|
||||
///
|
||||
/// And does not trip over itself in the process.
|
||||
fn workspace_folders_content(&self) -> WorkspaceFoldersContent {
|
||||
WorkspaceFoldersContent::SubprojectRoots
|
||||
}
|
||||
|
||||
/// Method only implemented by the default JSON language server adapter.
|
||||
/// Used to provide dynamic reloading of the JSON schemas used to
|
||||
/// provide autocompletion and diagnostics in Zed setting and keybind
|
||||
|
|
|
@ -4,13 +4,13 @@ use async_trait::async_trait;
|
|||
use collections::HashMap;
|
||||
use gpui::{App, Task};
|
||||
use gpui::{AsyncApp, SharedString};
|
||||
use language::Toolchain;
|
||||
use language::ToolchainList;
|
||||
use language::ToolchainLister;
|
||||
use language::language_settings::language_settings;
|
||||
use language::{ContextLocation, LanguageToolchainStore};
|
||||
use language::{ContextProvider, LspAdapter, LspAdapterDelegate};
|
||||
use language::{LanguageName, ManifestName, ManifestProvider, ManifestQuery};
|
||||
use language::{Toolchain, WorkspaceFoldersContent};
|
||||
use lsp::LanguageServerBinary;
|
||||
use lsp::LanguageServerName;
|
||||
use node_runtime::{NodeRuntime, VersionStrategy};
|
||||
|
@ -389,10 +389,6 @@ impl LspAdapter for PythonLspAdapter {
|
|||
user_settings
|
||||
})
|
||||
}
|
||||
|
||||
fn workspace_folders_content(&self) -> WorkspaceFoldersContent {
|
||||
WorkspaceFoldersContent::WorktreeRoot
|
||||
}
|
||||
}
|
||||
|
||||
async fn get_cached_server_binary(
|
||||
|
@ -1257,9 +1253,6 @@ impl LspAdapter for PyLspAdapter {
|
|||
user_settings
|
||||
})
|
||||
}
|
||||
fn workspace_folders_content(&self) -> WorkspaceFoldersContent {
|
||||
WorkspaceFoldersContent::WorktreeRoot
|
||||
}
|
||||
}
|
||||
|
||||
pub(crate) struct BasedPyrightLspAdapter {
|
||||
|
@ -1577,10 +1570,6 @@ impl LspAdapter for BasedPyrightLspAdapter {
|
|||
user_settings
|
||||
})
|
||||
}
|
||||
|
||||
fn workspace_folders_content(&self) -> WorkspaceFoldersContent {
|
||||
WorkspaceFoldersContent::WorktreeRoot
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
|
|
|
@ -57,7 +57,7 @@ use language::{
|
|||
DiagnosticEntry, DiagnosticSet, DiagnosticSourceKind, Diff, File as _, Language, LanguageName,
|
||||
LanguageRegistry, LocalFile, LspAdapter, LspAdapterDelegate, ManifestDelegate, ManifestName,
|
||||
Patch, PointUtf16, TextBufferSnapshot, ToOffset, ToPointUtf16, Toolchain, Transaction,
|
||||
Unclipped, WorkspaceFoldersContent,
|
||||
Unclipped,
|
||||
language_settings::{
|
||||
FormatOnSave, Formatter, LanguageSettings, SelectedFormatter, language_settings,
|
||||
},
|
||||
|
@ -344,10 +344,7 @@ impl LocalLspStore {
|
|||
binary,
|
||||
&root_path,
|
||||
code_action_kinds,
|
||||
Some(pending_workspace_folders).filter(|_| {
|
||||
adapter.adapter.workspace_folders_content()
|
||||
== WorkspaceFoldersContent::SubprojectRoots
|
||||
}),
|
||||
Some(pending_workspace_folders),
|
||||
cx,
|
||||
)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue