diff --git a/crates/editor/src/editor.rs b/crates/editor/src/editor.rs index 238f07f3e7..5972f245b2 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); + } _ => {} } }