Unnamed repository; edit this file 'description' to name the repository.
internal: record Event kind in `handle_event`
David Barsky 2024-02-01
parent 251b14f · commit 579e98c
-rw-r--r--crates/rust-analyzer/src/main_loop.rs14
1 files changed, 13 insertions, 1 deletions
diff --git a/crates/rust-analyzer/src/main_loop.rs b/crates/rust-analyzer/src/main_loop.rs
index 3c86414d02..f3ead6d04f 100644
--- a/crates/rust-analyzer/src/main_loop.rs
+++ b/crates/rust-analyzer/src/main_loop.rs
@@ -60,6 +60,17 @@ enum Event {
Flycheck(flycheck::Message),
}
+impl fmt::Display for Event {
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+ match self {
+ Event::Lsp(_) => write!(f, "Event::Lsp"),
+ Event::Task(_) => write!(f, "Event::Task"),
+ Event::Vfs(_) => write!(f, "Event::Vfs"),
+ Event::Flycheck(_) => write!(f, "Event::Flycheck"),
+ }
+ }
+}
+
#[derive(Debug)]
pub(crate) enum Task {
Response(lsp_server::Response),
@@ -196,7 +207,8 @@ impl GlobalState {
fn handle_event(&mut self, event: Event) -> anyhow::Result<()> {
let loop_start = Instant::now();
// NOTE: don't count blocking select! call as a loop-turn time
- let _p = tracing::span!(tracing::Level::INFO, "GlobalState::handle_event").entered();
+ let _p = tracing::span!(tracing::Level::INFO, "GlobalState::handle_event", event = %event)
+ .entered();
let event_dbg_msg = format!("{event:?}");
tracing::debug!("{:?} handle_event({})", loop_start, event_dbg_msg);