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:
@@ -1141,7 +1141,7 @@ impl BufferStore {
|
||||
})
|
||||
.log_err();
|
||||
}
|
||||
BufferEvent::LanguageChanged => {}
|
||||
BufferEvent::LanguageChanged(_) => {}
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1451,7 +1451,7 @@ impl GitStore {
|
||||
match event {
|
||||
BufferStoreEvent::BufferAdded(buffer) => {
|
||||
cx.subscribe(buffer, |this, buffer, event, cx| {
|
||||
if let BufferEvent::LanguageChanged = event {
|
||||
if let BufferEvent::LanguageChanged(_) = event {
|
||||
let buffer_id = buffer.read(cx).remote_id();
|
||||
if let Some(diff_state) = this.diffs.get(&buffer_id) {
|
||||
diff_state.update(cx, |diff_state, cx| {
|
||||
|
||||
@@ -219,7 +219,7 @@ struct UnifiedLanguageServer {
|
||||
project_roots: HashSet<Arc<RelPath>>,
|
||||
}
|
||||
|
||||
#[derive(Clone, Hash, PartialEq, Eq)]
|
||||
#[derive(Clone, Debug, Hash, PartialEq, Eq)]
|
||||
struct LanguageServerSeed {
|
||||
worktree_id: WorktreeId,
|
||||
name: LanguageServerName,
|
||||
|
||||
Reference in New Issue
Block a user