From 1c53b0a1c0d0afb7a5e15d62f63d512822a1fe3f Mon Sep 17 00:00:00 2001 From: Kirill Bulatov Date: Wed, 20 Sep 2023 12:39:08 +0300 Subject: [PATCH] Properly re-add Copilot LSP server --- crates/project/src/project.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/crates/project/src/project.rs b/crates/project/src/project.rs index 83aba85bd3..e4858587ad 100644 --- a/crates/project/src/project.rs +++ b/crates/project/src/project.rs @@ -8039,11 +8039,9 @@ fn subscribe_for_copilot_events( copilot, |project, copilot, copilot_event, cx| match copilot_event { copilot::Event::CopilotLanguageServerStarted => { - if let Some((name, copilot_server)) = copilot.read(cx).language_server() { - let new_server_id = copilot_server.server_id(); - if let hash_map::Entry::Vacant(v) = - project.supplementary_language_servers.entry(new_server_id) - { + match copilot.read(cx).language_server() { + Some((name, copilot_server)) => { + let new_server_id = copilot_server.server_id(); let weak_project = cx.weak_handle(); let copilot_log_subscription = copilot_server .on_notification::( @@ -8058,10 +8056,11 @@ fn subscribe_for_copilot_events( } }, ); + project.supplementary_language_servers.insert(new_server_id, (name.clone(), Arc::clone(copilot_server))); project.copilot_log_subscription = Some(copilot_log_subscription); - v.insert((name.clone(), Arc::clone(copilot_server))); cx.emit(Event::LanguageServerAdded(new_server_id)); } + None => debug_panic!("Received Copilot language server started event, but no language server is running"), } } },