summaryrefslogtreecommitdiffstats
path: root/src/repl/handler.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2023-03-08 11:58:50 +0800
committerGitHub <noreply@github.com>2023-03-08 11:58:50 +0800
commitf694a59dccef877a026c043cee236f57a93033a6 (patch)
tree6e67db7939474606aaae9bb01b765b8a4c4784da /src/repl/handler.rs
parentb7cb6f89f137e20f1d6dbb1f66e40f319c978a45 (diff)
downloadaichat-f694a59dccef877a026c043cee236f57a93033a6.tar.gz
refactor: replace dump with print_now! (#35)
Diffstat (limited to 'src/repl/handler.rs')
-rw-r--r--src/repl/handler.rs25
1 files changed, 17 insertions, 8 deletions
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");
+ }
}
}
}