summaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-03-02 22:02:29 +0800
committerGitHub <noreply@github.com>2024-03-02 22:02:29 +0800
commitb2f86f2899b79b291eb56435f99402509105b7ec (patch)
treeeaba5d76d05289c25f2f7e027c05c2fa3aec9928 /src/main.rs
parent3c16aff59145134885f32056fa3be9bd6bed2cce (diff)
downloadaichat-b2f86f2899b79b291eb56435f99402509105b7ec.tar.gz
refactor: auto_copy works when executing command (#328)
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/main.rs b/src/main.rs
index f9be816..30e7f8f 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -122,7 +122,7 @@ fn start_directive(
config.read().maybe_print_send_tokens(&input);
let output = if !stdout().is_terminal() || no_stream {
let output = client.send_message(input.clone())?;
- let to_print = if code_mode && output.trim_start().starts_with("```") {
+ let output = if code_mode && output.trim_start().starts_with("```") {
extract_block(&output)
} else {
output.clone()
@@ -130,16 +130,17 @@ fn start_directive(
if no_stream {
let render_options = config.read().get_render_options()?;
let mut markdown_render = MarkdownRender::init(render_options)?;
- println!("{}", markdown_render.render(&to_print).trim());
+ println!("{}", markdown_render.render(&output).trim());
} else {
- println!("{}", to_print);
+ println!("{}", output);
}
output
} else {
let abort = create_abort_signal();
render_stream(&input, client.as_ref(), config, abort)?
};
- config.write().save_message(input, &output)
+ config.write().save_message(input, &output)?;
+ Ok(())
}
fn start_interactive(config: &GlobalConfig) -> Result<()> {
@@ -157,6 +158,7 @@ fn execute(config: &GlobalConfig, text: &str) -> Result<()> {
eval_str = extract_block(&eval_str);
}
config.write().save_message(input, &eval_str)?;
+ config.read().maybe_copy(&eval_str);
let render_options = config.read().get_render_options()?;
let mut markdown_render = MarkdownRender::init(render_options)?;
if config.read().dry_run {