summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2023-11-08 08:24:27 +0800
committerGitHub <noreply@github.com>2023-11-08 08:24:27 +0800
commit819f50d9b16cb2afef5e3865de64bd0698910b27 (patch)
tree1a68d1ada1a3eac3f05cfc85cb2f3508ad7350c5 /src
parente8461b846260299cb0a60de143950fbf5e91adfa (diff)
downloadaichat-819f50d9b16cb2afef5e3865de64bd0698910b27.tar.gz
fix: unexpected additional newline in REPL (#231)
Diffstat (limited to 'src')
-rw-r--r--src/config/mod.rs6
-rw-r--r--src/render/repl.rs2
2 files changed, 6 insertions, 2 deletions
diff --git a/src/config/mod.rs b/src/config/mod.rs
index 5219727..9c86e4c 100644
--- a/src/config/mod.rs
+++ b/src/config/mod.rs
@@ -866,8 +866,12 @@ fn set_bool(target: &mut bool, value: &str) {
fn setup_logger() -> Result<()> {
use simplelog::{LevelFilter, WriteLogger};
let file = std::fs::File::create(Config::local_path("debug.log")?)?;
+ let log_filter = match std::env::var("AICHAT_LOG_FILTER") {
+ Ok(v) => v,
+ Err(_) => "aichat".into(),
+ };
let config = simplelog::ConfigBuilder::new()
- .add_filter_allow_str("aichat")
+ .add_filter_allow(log_filter)
.set_thread_level(LevelFilter::Off)
.set_time_level(LevelFilter::Off)
.build();
diff --git a/src/render/repl.rs b/src/render/repl.rs
index ca11e17..eeb5420 100644
--- a/src/render/repl.rs
+++ b/src/render/repl.rs
@@ -158,6 +158,6 @@ fn print_block(writer: &mut Stdout, text: &str, columns: u16) -> Result<u16> {
}
fn need_rows(text: &str, columns: u16) -> u16 {
- let buffer_width = display_width(text) as u16;
+ let buffer_width = display_width(text).max(1) as u16;
(buffer_width + columns - 1) / columns
}