diff --git a/crates/lsp/src/lsp.rs b/crates/lsp/src/lsp.rs index f5fc98640d7400160b104ec6654d0260c3ffd25c..c0b21eeedaa0b12b30a7adae8b274bd4f3bb6e09 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()