lsp: Do not drop lsp buffer handle from editor when a language change leads to buffer having a legit language (#44469)

Fixes a bug that led to us unnecessarily restarting a language server
when we were looking at a single file of a given language.

Release Notes:

- Fixed a bug that led to Zed sometimes starting an excessive amount of
language servers
This commit is contained in:
Piotr Osiewicz
2025-12-09 21:37:39 +01:00
committed by GitHub
parent 5dd8561b06
commit 3180f44477
10 changed files with 23 additions and 16 deletions
+1 -1
View File
@@ -108,7 +108,7 @@ impl FileDiffView {
for buffer in [&old_buffer, &new_buffer] {
cx.subscribe(buffer, move |this, _, event, _| match event {
language::BufferEvent::Edited
| language::BufferEvent::LanguageChanged
| language::BufferEvent::LanguageChanged(_)
| language::BufferEvent::Reparsed => {
this.buffer_changes_tx.send(()).ok();
}
+1 -1
View File
@@ -170,7 +170,7 @@ impl TextDiffView {
cx.subscribe(&source_buffer, move |this, _, event, _| match event {
language::BufferEvent::Edited
| language::BufferEvent::LanguageChanged
| language::BufferEvent::LanguageChanged(_)
| language::BufferEvent::Reparsed => {
this.buffer_changes_tx.send(()).ok();
}