diff --git a/crates/editor/src/editor.rs b/crates/editor/src/editor.rs index 238f07f3e7d864d8e1c48c9cbb44a0ac3fa06815..5972f245b2e6afce1dcd1448b929e770f8e2218f 100644 --- a/crates/editor/src/editor.rs +++ b/crates/editor/src/editor.rs @@ -4857,8 +4857,6 @@ impl Editor { } fn on_buffer_changed(&mut self, _: ModelHandle, cx: &mut ViewContext) { - self.refresh_active_diagnostics(cx); - self.refresh_code_actions(cx); cx.notify(); } @@ -4869,12 +4867,19 @@ impl Editor { cx: &mut ViewContext, ) { match event { - language::Event::Edited => cx.emit(Event::Edited), + language::Event::Edited => { + self.refresh_active_diagnostics(cx); + self.refresh_code_actions(cx); + cx.emit(Event::Edited); + } language::Event::Dirtied => cx.emit(Event::Dirtied), language::Event::Saved => cx.emit(Event::Saved), language::Event::FileHandleChanged => cx.emit(Event::TitleChanged), language::Event::Reloaded => cx.emit(Event::TitleChanged), language::Event::Closed => cx.emit(Event::Closed), + language::Event::DiagnosticsUpdated => { + self.refresh_active_diagnostics(cx); + } _ => {} } }