Unnamed repository; edit this file 'description' to name the repository.
When `experimental/serverStatus` is not supported by the client, only update the status if the message is different
Not if other parts of the status, i.e. `health` or `quiescent`, are different, since this is sent as `window/showMessage` which often ends up as a message box, and getting the same message box multiple times is disrupting.
We could still do that if the health is more serious (change from `Warning` to `Error`), but I opted not to.
| -rw-r--r-- | crates/rust-analyzer/src/main_loop.rs | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/crates/rust-analyzer/src/main_loop.rs b/crates/rust-analyzer/src/main_loop.rs index 972570b925..c73be92a90 100644 --- a/crates/rust-analyzer/src/main_loop.rs +++ b/crates/rust-analyzer/src/main_loop.rs @@ -829,6 +829,7 @@ impl GlobalState { health @ (lsp_ext::Health::Warning | lsp_ext::Health::Error), Some(message), ) = (status.health, &status.message) + && self.last_reported_status.message != status.message { let open_log_button = tracing::enabled!(tracing::Level::ERROR) && (self.fetch_build_data_error().is_err() |