summaryrefslogtreecommitdiffstats
path: root/src/repl/handler.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2023-03-07 11:38:44 +0800
committerGitHub <noreply@github.com>2023-03-07 11:38:44 +0800
commit1640456049cda9999bb27501af30e05e46b0360d (patch)
tree8cc1ad88bd233a5898bff0520fd933db41f1e0da /src/repl/handler.rs
parentc12ae0275108acbbb124a41ff936b441723ae625 (diff)
downloadaichat-1640456049cda9999bb27501af30e05e46b0360d.tar.gz
refactor: use syntect for highlight, abandon mdcat (#26)
* refactor: use syntect for highlight, abandon mdcat * split src/render.rs to sub modules. embed a default theme * simulate typing effect. * fix format
Diffstat (limited to 'src/repl/handler.rs')
-rw-r--r--src/repl/handler.rs8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/repl/handler.rs b/src/repl/handler.rs
index 40ce101..809c202 100644
--- a/src/repl/handler.rs
+++ b/src/repl/handler.rs
@@ -1,6 +1,6 @@
use crate::client::ChatGptClient;
use crate::config::SharedConfig;
-use crate::render::{self, MarkdownRender};
+use crate::render::render_stream;
use crate::utils::dump;
use anyhow::Result;
@@ -26,7 +26,6 @@ pub struct ReplCmdHandler {
config: SharedConfig,
state: RefCell<ReplCmdHandlerState>,
ctrlc: Arc<AtomicBool>,
- render: Arc<MarkdownRender>,
}
pub struct ReplCmdHandlerState {
@@ -36,7 +35,6 @@ pub struct ReplCmdHandlerState {
impl ReplCmdHandler {
pub fn init(client: ChatGptClient, config: SharedConfig) -> Result<Self> {
- let render = Arc::new(MarkdownRender::init()?);
let save_file = config.as_ref().borrow().open_message_file()?;
let ctrlc = Arc::new(AtomicBool::new(false));
let state = RefCell::new(ReplCmdHandlerState {
@@ -48,7 +46,6 @@ impl ReplCmdHandler {
config,
state,
ctrlc,
- render,
})
}
@@ -66,9 +63,8 @@ impl ReplCmdHandler {
let (tx, rx) = unbounded();
let ctrlc = self.ctrlc.clone();
let wg = wg.clone();
- let render = self.render.clone();
spawn(move || {
- let _ = render::render_stream(rx, ctrlc, render);
+ let _ = render_stream(rx, ctrlc);
drop(wg);
});
ReplyStreamHandler::new(Some(tx), self.ctrlc.clone())