summaryrefslogtreecommitdiffstats
path: root/src/config.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2023-03-05 06:17:43 +0800
committerGitHub <noreply@github.com>2023-03-05 06:17:43 +0800
commit822f0eed9429f71524e739352da3f76d604071d5 (patch)
tree30787848b82dba796b0a7fc54069f72012c268d9 /src/config.rs
parent7a60a3636780974dd4dfc7e73e4df0d5ab2f7f93 (diff)
downloadaichat-822f0eed9429f71524e739352da3f76d604071d5.tar.gz
refactor: message record format (#12)
``` i am excited -------- 😃💥🎉 -------- ```
Diffstat (limited to 'src/config.rs')
-rw-r--r--src/config.rs16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/config.rs b/src/config.rs
index b5220dd..3a85066 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -10,6 +10,8 @@ use anyhow::{anyhow, Result};
use inquire::{Confirm, Text};
use serde::Deserialize;
+use crate::utils::now;
+
const CONFIG_FILE_NAME: &str = "config.yaml";
const ROLES_FILE_NAME: &str = "roles.yaml";
const HISTORY_FILE_NAME: &str = "history.txt";
@@ -97,11 +99,21 @@ impl Config {
Ok(file)
}
- pub fn save_message(file: Option<&mut File>, input: &str, output: &str) {
+ pub fn save_message(
+ file: Option<&mut File>,
+ input: &str,
+ output: &str,
+ role_name: &Option<String>,
+ ) {
+ let role_name = match role_name {
+ Some(v) => format!("({v})"),
+ None => String::new(),
+ };
+ let timestamp = format!("[{}]", now());
if let (false, Some(file)) = (output.is_empty(), file) {
let _ = file.write_all(
format!(
- "AICHAT: {}\n\n--------\n{}\n--------\n\n",
+ "# CHAT:{timestamp} {role_name}\n{}\n\n--------\n{}\n--------\n\n",
input.trim(),
output.trim(),
)