diff --git a/crates/activity_indicator/src/activity_indicator.rs b/crates/activity_indicator/src/activity_indicator.rs index 90410d534c..f06ebe4b23 100644 --- a/crates/activity_indicator/src/activity_indicator.rs +++ b/crates/activity_indicator/src/activity_indicator.rs @@ -352,7 +352,10 @@ impl ActivityIndicator { .into_any_element(), ), message: format!("Formatting failed: {}. Click to see logs.", failure), - on_click: Some(Arc::new(|_, cx| { + on_click: Some(Arc::new(|indicator, cx| { + indicator.project.update(cx, |project, cx| { + project.reset_last_formatting_failure(cx); + }); cx.dispatch_action(Box::new(workspace::OpenLog)); })), }); diff --git a/crates/project/src/lsp_store.rs b/crates/project/src/lsp_store.rs index fe4127d536..bc0bfdf416 100644 --- a/crates/project/src/lsp_store.rs +++ b/crates/project/src/lsp_store.rs @@ -5270,6 +5270,10 @@ impl LspStore { self.last_formatting_failure.as_deref() } + pub fn reset_last_formatting_failure(&mut self) { + self.last_formatting_failure = None; + } + pub fn environment_for_buffer( &self, buffer: &Model, diff --git a/crates/project/src/project.rs b/crates/project/src/project.rs index 788de66996..41b5f8bfbc 100644 --- a/crates/project/src/project.rs +++ b/crates/project/src/project.rs @@ -2414,6 +2414,11 @@ impl Project { self.lsp_store.read(cx).last_formatting_failure() } + pub fn reset_last_formatting_failure(&self, cx: &mut AppContext) { + self.lsp_store + .update(cx, |store, _| store.reset_last_formatting_failure()); + } + pub fn update_diagnostics( &mut self, language_server_id: LanguageServerId,