diff --git a/crates/lsp/src/lsp.rs b/crates/lsp/src/lsp.rs index f5fc98640d..c0b21eeeda 100644 --- a/crates/lsp/src/lsp.rs +++ b/crates/lsp/src/lsp.rs @@ -201,6 +201,9 @@ impl LanguageServer { std::str::from_utf8(&buffer)? )); } + + // Don't starve the main thread when receiving lots of messages at once. + smol::future::yield_now().await; } } .log_err()