From 15e82d6c9def95befad453c0c1de087e1ff821da Mon Sep 17 00:00:00 2001 From: Leonard Kugis Date: Sat, 3 Oct 2026 04:44:13 +0200 Subject: Fixed subquery tool double adding --- src/render/stream.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/render/stream.rs') diff --git a/src/render/stream.rs b/src/render/stream.rs index af69176..e5db8b2 100644 --- a/src/render/stream.rs +++ b/src/render/stream.rs @@ -1,6 +1,6 @@ use super::{MarkdownRender, SseEvent}; -use crate::utils::{poll_abort_signal, spawn_spinner, AbortSignal}; +use crate::utils::{dimmed_text, poll_abort_signal, spawn_spinner, AbortSignal}; use anyhow::Result; use crossterm::{ @@ -18,7 +18,11 @@ pub async fn markdown_stream( rx: UnboundedReceiver, render: &mut MarkdownRender, abort_signal: &AbortSignal, + prefix: Option, ) -> Result<()> { + if let Some(prefix) = &prefix { + println!("{}", dimmed_text(prefix)); + } enable_raw_mode()?; let mut stdout = io::stdout(); @@ -35,12 +39,13 @@ pub async fn markdown_stream( pub async fn raw_stream( mut rx: UnboundedReceiver, abort_signal: &AbortSignal, + prefix: Option, ) -> Result<()> { let mut spinner = Some(spawn_spinner(&match crate::utils::current_query_scope() { Some(scope) => format!("{scope} Generating"), None => "Generating".to_string(), })); - + let mut prefix = prefix; loop { if abort_signal.aborted() { break; @@ -52,6 +57,9 @@ pub async fn raw_stream( match evt { SseEvent::Text(text) => { + if let Some(prefix) = prefix.take() { + println!("{}", dimmed_text(&prefix)); + } print!("{text}"); stdout().flush()?; } -- cgit v1.2.3