summaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-04-15 11:28:25 +0800
committerGitHub <noreply@github.com>2024-04-15 11:28:25 +0800
commit9149954c7bbc5cce541793e2e7cdcd50b6af2a3c (patch)
tree6520478e9a7f4bf7c0a099e8b5584f52de38011c /src/main.rs
parent16e9c647d469b19f94cc90e1bfa5142175a6d75a (diff)
downloadaichat-9149954c7bbc5cce541793e2e7cdcd50b6af2a3c.tar.gz
feat: always use stream unless set `--no-stream` explicitly (#415)
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs
index dc66657..be46bf1 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -118,9 +118,10 @@ fn start_directive(
ensure_model_capabilities(client.as_mut(), input.required_capabilities())?;
config.read().maybe_print_send_tokens(&input);
let is_terminal_stdout = stdout().is_terminal();
- let output = if !is_terminal_stdout || no_stream {
+ let extract_code = !is_terminal_stdout && code_mode;
+ let output = if no_stream || extract_code {
let output = client.send_message(input.clone())?;
- let output = if code_mode && output.trim_start().starts_with("```") {
+ let output = if extract_code && output.trim_start().starts_with("```") {
extract_block(&output)
} else {
output.clone()