From d5498c52f8205d8e02e0a489ae3707960476a425 Mon Sep 17 00:00:00 2001 From: Bennet Bo Fenner Date: Tue, 10 Sep 2024 11:45:21 -0400 Subject: [PATCH] assistant: Fix terminal inline assistant not showing retry on error (#17651) Release Notes: - Fixed an issue where a failed inline assistant prompt could not be restarted --- crates/assistant/src/terminal_inline_assistant.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/crates/assistant/src/terminal_inline_assistant.rs b/crates/assistant/src/terminal_inline_assistant.rs index bb3f9d36bffbb5f02ab9b464a75a8e9772b515ad..61a8813f6c55ed5a74eab51da7cd8293411bb162 100644 --- a/crates/assistant/src/terminal_inline_assistant.rs +++ b/crates/assistant/src/terminal_inline_assistant.rs @@ -465,7 +465,8 @@ impl EventEmitter for PromptEditor {} impl Render for PromptEditor { fn render(&mut self, cx: &mut ViewContext) -> impl IntoElement { - let buttons = match &self.codegen.read(cx).status { + let status = &self.codegen.read(cx).status; + let buttons = match status { CodegenStatus::Idle => { vec![ IconButton::new("cancel", IconName::Close) @@ -516,7 +517,8 @@ impl Render for PromptEditor { .tooltip(|cx| Tooltip::for_action("Cancel Assist", &menu::Cancel, cx)) .on_click(cx.listener(|_, _, cx| cx.emit(PromptEditorEvent::CancelRequested))); - if self.edited_since_done { + let has_error = matches!(status, CodegenStatus::Error(_)); + if has_error || self.edited_since_done { vec![ cancel, IconButton::new("restart", IconName::RotateCw)