diff --git a/crates/project/src/project.rs b/crates/project/src/project.rs index 4f5c3b613c..d0ddaa1fab 100644 --- a/crates/project/src/project.rs +++ b/crates/project/src/project.rs @@ -2249,6 +2249,10 @@ impl Project { ) -> Task<()> { let key = (worktree_id, adapter_name); if let Some(server_id) = self.language_server_ids.remove(&key) { + // Remove other entries for this language server + self.language_server_ids + .retain(|_, other_id| other_id != &server_id); + self.language_server_statuses.remove(&server_id); cx.notify();