From f694a59dccef877a026c043cee236f57a93033a6 Mon Sep 17 00:00:00 2001 From: sigoden Date: Wed, 8 Mar 2023 11:58:50 +0800 Subject: refactor: replace dump with print_now! (#35) --- src/repl/handler.rs | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) (limited to 'src/repl/handler.rs') diff --git a/src/repl/handler.rs b/src/repl/handler.rs index e971ff8..dddd531 100644 --- a/src/repl/handler.rs +++ b/src/repl/handler.rs @@ -1,7 +1,7 @@ use crate::client::ChatGptClient; use crate::config::SharedConfig; +use crate::print_now; use crate::render::render_stream; -use crate::utils::dump; use anyhow::Result; use crossbeam::channel::Sender; @@ -67,23 +67,28 @@ impl ReplCmdHandler { } ReplCmd::SetRole(name) => { let output = self.config.borrow_mut().change_role(&name); - dump(output, 1); + print_now!("{}\n\n", output.trim_end()); } ReplCmd::ClearRole => { self.config.borrow_mut().role = None; - dump("", 1); + print_now!("\n"); } ReplCmd::Prompt(prompt) => { self.config.borrow_mut().create_temp_role(&prompt); - dump("", 1); + print_now!("\n"); } ReplCmd::Info => { let output = self.config.borrow().info()?; - dump(output, 1); + print_now!("{}\n\n", output.trim_end()); } ReplCmd::UpdateConfig(input) => { let output = self.config.borrow_mut().update(&input)?; - dump(output, 1); + let output = output.trim(); + if output.is_empty() { + print_now!("\n"); + } else { + print_now!("{}\n\n", output); + } } } Ok(()) @@ -111,7 +116,7 @@ impl ReplyStreamHandler { let _ = tx.send(ReplyStreamEvent::Text(text.to_string())); } None => { - dump(text, 0); + print_now!("{}", text); } } self.buffer.push_str(text); @@ -123,7 +128,11 @@ impl ReplyStreamHandler { let _ = tx.send(ReplyStreamEvent::Done); } None => { - dump("", 2); + if self.buffer.ends_with('\n') { + print_now!("\n"); + } else { + print_now!("\n\n"); + } } } } -- cgit v1.2.3