diff options
Diffstat (limited to 'src/repl')
| -rw-r--r-- | src/repl/handler.rs | 13 | ||||
| -rw-r--r-- | src/repl/mod.rs | 5 |
2 files changed, 6 insertions, 12 deletions
diff --git a/src/repl/handler.rs b/src/repl/handler.rs index 53cdd98..e512cb5 100644 --- a/src/repl/handler.rs +++ b/src/repl/handler.rs @@ -1,4 +1,4 @@ -use crate::client::Client; +use crate::client::init_client; use crate::config::SharedConfig; use crate::print_now; use crate::render::render_stream; @@ -26,7 +26,6 @@ pub enum ReplCmd { #[allow(clippy::module_name_repetitions)] pub struct ReplCmdHandler { - client: Box<dyn Client>, config: SharedConfig, reply: RefCell<String>, abort: SharedAbortSignal, @@ -34,14 +33,9 @@ pub struct ReplCmdHandler { impl ReplCmdHandler { #[allow(clippy::unnecessary_wraps)] - pub fn init( - client: Box<dyn Client>, - config: SharedConfig, - abort: SharedAbortSignal, - ) -> Result<Self> { + pub fn init(config: SharedConfig, abort: SharedAbortSignal) -> Result<Self> { let reply = RefCell::new(String::new()); Ok(Self { - client, config, reply, abort, @@ -57,9 +51,10 @@ impl ReplCmdHandler { } self.config.read().maybe_print_send_tokens(&input); let wg = WaitGroup::new(); + let client = init_client(self.config.clone())?; let ret = render_stream( &input, - self.client.as_ref(), + client.as_ref(), &self.config, true, self.abort.clone(), diff --git a/src/repl/mod.rs b/src/repl/mod.rs index ce640f8..311ca72 100644 --- a/src/repl/mod.rs +++ b/src/repl/mod.rs @@ -9,7 +9,6 @@ pub use self::abort::*; pub use self::handler::*; pub use self::init::Repl; -use crate::client::Client; use crate::config::SharedConfig; use crate::print_now; use crate::term; @@ -35,9 +34,9 @@ pub const REPL_COMMANDS: [(&str, &str); 13] = [ ]; impl Repl { - pub fn run(&mut self, client: Box<dyn Client>, config: SharedConfig) -> Result<()> { + pub fn run(&mut self, config: SharedConfig) -> Result<()> { let abort = AbortSignal::new(); - let handler = ReplCmdHandler::init(client, config, abort.clone())?; + let handler = ReplCmdHandler::init(config, abort.clone())?; print_now!("Welcome to aichat {}\n", env!("CARGO_PKG_VERSION")); print_now!("Type \".help\" for more information.\n"); let mut already_ctrlc = false; |
