diff --git a/crates/project/src/project.rs b/crates/project/src/project.rs index 5a42399040cec41a9e691f69dbf45a456fff265d..490d9fff800064bbcaf2e6f02d827875d27e7890 100644 --- a/crates/project/src/project.rs +++ b/crates/project/src/project.rs @@ -2528,6 +2528,13 @@ impl Project { _ => return None, }; + for worktree in &self.worktrees { + if let Some(worktree) = worktree.upgrade(cx) { + let key = (worktree.read(cx).id(), adapter.name.clone()); + self.language_server_ids.remove(&key); + } + } + Some(cx.spawn(move |this, mut cx| async move { if let Some(task) = server.and_then(|server| server.shutdown()) { println!("shutting down existing server");