Clear language server id for all worktrees when stopping a language server

Keith Simmons created

Change summary

crates/project/src/project.rs | 4 ++++
1 file changed, 4 insertions(+)

Detailed changes

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();