summaryrefslogtreecommitdiffstats
path: root/src/repl
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2023-03-09 07:58:44 +0800
committerGitHub <noreply@github.com>2023-03-09 07:58:44 +0800
commit1ec451da896f930829d8908da81e416d891f9aa5 (patch)
treea5a99ba939cd67dd735bdd87912bd8cb23926a67 /src/repl
parentebd3cb2401739305c6f36c1f7a4cd543a1fdf419 (diff)
downloadaichat-1ec451da896f930829d8908da81e416d891f9aa5.tar.gz
refactor: replace Arc<Refcell<Config>> with Arc<Mutex<Config>> (#46)
Diffstat (limited to 'src/repl')
-rw-r--r--src/repl/handler.rs14
-rw-r--r--src/repl/init.rs2
2 files changed, 8 insertions, 8 deletions
diff --git a/src/repl/handler.rs b/src/repl/handler.rs
index 22d8fd0..6a7fc93 100644
--- a/src/repl/handler.rs
+++ b/src/repl/handler.rs
@@ -48,7 +48,7 @@ impl ReplCmdHandler {
self.reply.borrow_mut().clear();
return Ok(());
}
- let highlight = self.config.borrow().highlight;
+ let highlight = self.config.lock().highlight;
let wg = WaitGroup::new();
let ret = render_stream(
&input,
@@ -60,27 +60,27 @@ impl ReplCmdHandler {
);
wg.wait();
let buffer = ret?;
- self.config.borrow().save_message(&input, &buffer)?;
+ self.config.lock().save_message(&input, &buffer)?;
*self.reply.borrow_mut() = buffer;
}
ReplCmd::SetRole(name) => {
- let output = self.config.borrow_mut().change_role(&name);
+ let output = self.config.lock().change_role(&name);
print_now!("{}\n\n", output.trim_end());
}
ReplCmd::ClearRole => {
- self.config.borrow_mut().role = None;
+ self.config.lock().role = None;
print_now!("\n");
}
ReplCmd::Prompt(prompt) => {
- self.config.borrow_mut().create_temp_role(&prompt);
+ self.config.lock().create_temp_role(&prompt);
print_now!("\n");
}
ReplCmd::Info => {
- let output = self.config.borrow().info()?;
+ let output = self.config.lock().info()?;
print_now!("{}\n\n", output.trim_end());
}
ReplCmd::UpdateConfig(input) => {
- let output = self.config.borrow_mut().update(&input)?;
+ let output = self.config.lock().update(&input)?;
let output = output.trim();
if output.is_empty() {
print_now!("\n");
diff --git a/src/repl/init.rs b/src/repl/init.rs
index f640deb..88f66fa 100644
--- a/src/repl/init.rs
+++ b/src/repl/init.rs
@@ -47,7 +47,7 @@ impl Repl {
.into_iter()
.map(|(v, _, _)| v.to_string())
.collect();
- completion.extend(config.borrow().repl_completions());
+ completion.extend(config.lock().repl_completions());
let mut completer = DefaultCompleter::with_inclusions(&['.', '-', '_']).set_min_word_len(2);
completer.insert(completion.clone());
completer