fix: Respect workspace-lsp-roots on doc opening (#12223)
When a new language server is started, find_lsp_workspace is called with LanguageConfiguration::workspace_lsp_roots as the root_dirs. This behavior is different when a new document is opened. find_lsp_workspace is called with editor::Config::workspace_lsp_roots which is never set. This leads to a bug where workspace-lsp-roots is not respected when opening a new document. This commit fixes this bug.
This commit is contained in:
parent
ba6e6dc3dd
commit
b946b21b01
1 changed files with 5 additions and 1 deletions
|
@ -701,7 +701,11 @@ impl Registry {
|
|||
}
|
||||
|
||||
if let Some((_, client)) = clients.iter().enumerate().find(|(i, client)| {
|
||||
client.try_add_doc(&language_config.roots, root_dirs, doc_path, *i == 0)
|
||||
let manual_roots = language_config
|
||||
.workspace_lsp_roots
|
||||
.as_deref()
|
||||
.unwrap_or(root_dirs);
|
||||
client.try_add_doc(&language_config.roots, manual_roots, doc_path, *i == 0)
|
||||
}) {
|
||||
return Some((name.to_owned(), Ok(client.clone())));
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue