summaryrefslogtreecommitdiffstats
path: root/src/config/mod.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2023-03-10 07:02:44 +0800
committerGitHub <noreply@github.com>2023-03-10 07:02:44 +0800
commit4161eaa6c3ea0b6a10bd70d36f47bbbae0ae209c (patch)
tree354998d30ededfd7e7bccf9a147cc29fd08c73ff /src/config/mod.rs
parent0044399509dc26df4f0d1d776ca97edc73b041e5 (diff)
downloadaichat-4161eaa6c3ea0b6a10bd70d36f47bbbae0ae209c.tar.gz
fix: cli specify role is not applied when conversation_first set true (#57)
close #56
Diffstat (limited to 'src/config/mod.rs')
-rw-r--r--src/config/mod.rs10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/config/mod.rs b/src/config/mod.rs
index 644d162..ebbd909 100644
--- a/src/config/mod.rs
+++ b/src/config/mod.rs
@@ -82,13 +82,17 @@ impl Config {
let mut config: Config = serde_yaml::from_str(&content)
.with_context(|| format!("Invalid config at {}", config_path.display()))?;
config.load_roles()?;
- if config.conversation_first {
- config.start_conversation()?;
- }
Ok(config)
}
+ pub fn on_repl(&mut self) -> Result<()> {
+ if self.conversation_first {
+ self.start_conversation()?;
+ }
+ Ok(())
+ }
+
pub fn find_role(&self, name: &str) -> Option<Role> {
self.roles.iter().find(|v| v.name == name).cloned()
}