Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'helix-term/src/application.rs')
-rw-r--r--helix-term/src/application.rs14
1 files changed, 10 insertions, 4 deletions
diff --git a/helix-term/src/application.rs b/helix-term/src/application.rs
index 00aa7390..ba74a817 100644
--- a/helix-term/src/application.rs
+++ b/helix-term/src/application.rs
@@ -722,7 +722,7 @@ impl Application {
// This might not be required by the spec but Neovim does this as well, so it's
// probably a good idea for compatibility.
if let Some(config) = language_server.config() {
- tokio::spawn(language_server.did_change_configuration(config.clone()));
+ language_server.did_change_configuration(config.clone());
}
let docs = self
@@ -740,12 +740,12 @@ impl Application {
let language_id =
doc.language_id().map(ToOwned::to_owned).unwrap_or_default();
- tokio::spawn(language_server.text_document_did_open(
+ language_server.text_document_did_open(
url,
doc.version(),
doc.text(),
language_id,
- ));
+ );
}
}
Notification::PublishDiagnostics(mut params) => {
@@ -1131,7 +1131,13 @@ impl Application {
}
};
- tokio::spawn(language_server!().reply(id, reply));
+ let language_server = language_server!();
+ if let Err(err) = language_server.reply(id.clone(), reply) {
+ log::error!(
+ "Failed to send reply to server '{}' request {id}: {err}",
+ language_server.name()
+ );
+ }
}
Call::Invalid { id } => log::error!("LSP invalid method call id={:?}", id),
}