Notify all language servers only when a buffer is saved
Other notifications such as opening, closing or changing a document are still tied to the buffer's language.
This commit is contained in:
parent
4cb4b99c56
commit
0a9595b5fa
2 changed files with 129 additions and 198 deletions
|
@ -225,7 +225,9 @@ impl LspCommand for PerformRename {
|
|||
if let Some(edit) = message {
|
||||
let language_server = project
|
||||
.read_with(&cx, |project, cx| {
|
||||
project.language_server_for_buffer(&buffer, cx).cloned()
|
||||
project
|
||||
.language_server_for_buffer(buffer.read(cx), cx)
|
||||
.cloned()
|
||||
})
|
||||
.ok_or_else(|| anyhow!("no language server found for buffer"))?;
|
||||
let language = buffer
|
||||
|
@ -343,7 +345,9 @@ impl LspCommand for GetDefinition {
|
|||
let mut definitions = Vec::new();
|
||||
let language_server = project
|
||||
.read_with(&cx, |project, cx| {
|
||||
project.language_server_for_buffer(&buffer, cx).cloned()
|
||||
project
|
||||
.language_server_for_buffer(buffer.read(cx), cx)
|
||||
.cloned()
|
||||
})
|
||||
.ok_or_else(|| anyhow!("no language server found for buffer"))?;
|
||||
let language = buffer
|
||||
|
@ -519,7 +523,9 @@ impl LspCommand for GetReferences {
|
|||
let mut references = Vec::new();
|
||||
let language_server = project
|
||||
.read_with(&cx, |project, cx| {
|
||||
project.language_server_for_buffer(&buffer, cx).cloned()
|
||||
project
|
||||
.language_server_for_buffer(buffer.read(cx), cx)
|
||||
.cloned()
|
||||
})
|
||||
.ok_or_else(|| anyhow!("no language server found for buffer"))?;
|
||||
let language = buffer
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue