diff --git a/crates/agent/src/assistant_panel.rs b/crates/agent/src/assistant_panel.rs index 4ac3826127fe181790fca8932afe0cc8d9549eb8..0870f4ce29513b2624bac8de59e303c77ab0d49d 100644 --- a/crates/agent/src/assistant_panel.rs +++ b/crates/agent/src/assistant_panel.rs @@ -1462,6 +1462,7 @@ impl AssistantPanel { let thread = active_thread.thread().read(cx); let thread_id = thread.id().clone(); let is_empty = active_thread.is_empty(); + let editor_empty = self.message_editor.read(cx).is_editor_fully_empty(cx); let last_usage = active_thread.thread().read(cx).last_usage().or_else(|| { maybe!({ let amount = user_store.model_request_usage_amount()?; @@ -1484,7 +1485,7 @@ impl AssistantPanel { let account_url = zed_urls::account_url(cx); let show_token_count = match &self.active_view { - ActiveView::Thread { .. } => !is_empty, + ActiveView::Thread { .. } => !is_empty || !editor_empty, ActiveView::PromptEditor { .. } => true, _ => false, }; diff --git a/crates/agent/src/message_editor.rs b/crates/agent/src/message_editor.rs index 938ebf4cc05b0ab51c1192267c1e3296ddd98c73..958f0f45a572589a78609e765858aa20fc910ab1 100644 --- a/crates/agent/src/message_editor.rs +++ b/crates/agent/src/message_editor.rs @@ -315,6 +315,10 @@ impl MessageEditor { self.editor.read(cx).text(cx).trim().is_empty() } + pub fn is_editor_fully_empty(&self, cx: &App) -> bool { + self.editor.read(cx).is_empty(cx) + } + fn send_to_model(&mut self, window: &mut Window, cx: &mut Context) { let Some(ConfiguredModel { model, provider }) = self .thread diff --git a/crates/agent/src/thread.rs b/crates/agent/src/thread.rs index 7f7870fb0e5ff7a7a173862f5561e64538797410..abf50699b809c236546172903edc8044e0044242 100644 --- a/crates/agent/src/thread.rs +++ b/crates/agent/src/thread.rs @@ -267,7 +267,7 @@ impl DetailedSummaryState { } } -#[derive(Default)] +#[derive(Default, Debug)] pub struct TotalTokenUsage { pub total: usize, pub max: usize,