Properly re-add Copilot LSP server

This commit is contained in:
Kirill Bulatov 2023-09-20 12:39:08 +03:00
parent a2ac5ae478
commit 1c53b0a1c0

View file

@ -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() {
match copilot.read(cx).language_server() {
Some((name, copilot_server)) => {
let new_server_id = copilot_server.server_id();
if let hash_map::Entry::Vacant(v) =
project.supplementary_language_servers.entry(new_server_id)
{
let weak_project = cx.weak_handle();
let copilot_log_subscription = copilot_server
.on_notification::<copilot::request::LogMessage, _>(
@ -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"),
}
}
},