From f1ab39576eaea0384b72faa84d5d075230b3b652 Mon Sep 17 00:00:00 2001 From: Konrad Dybcio Date: Tue, 7 May 2024 02:57:52 +0200 Subject: [PATCH] main: Stop the write(ln)!(stdout()..) craziness stop the crossterm docs propaganda and flush stdout where ncessary Signed-off-by: Konrad Dybcio --- src/lib.rs | 9 +++++---- src/main.rs | 5 +++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 33ea649..20581f4 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -111,7 +111,7 @@ pub async fn send_image(write_sink: &mut Arc>, buf: &[u8]) -> if percent_done != last_percent_done { let s = format!(" Sending image: {}%\r", percent_done); - write!(stdout(), "{}", s.green()).unwrap(); + print!("{}", s.green()); stdout().flush()?; } @@ -121,8 +121,9 @@ pub async fn send_image(write_sink: &mut Arc>, buf: &[u8]) -> last_percent_done = percent_done; if bytes_sent == buf.len() { - write!(stdout(), "\r{}\r", " ".repeat(80))?; - write!(stdout(), "{}\r\n", String::from("Image sent!").green())?; + print!("\r{}\r", " ".repeat(80)); + print!("{}\r\n", String::from("Image sent!").green()); + stdout().flush()?; } } @@ -154,7 +155,7 @@ pub fn print_string_msg(buf: &[u8]) { return; } - writeln!(stdout(), "{}\r", String::from_utf8_lossy(buf)).unwrap(); + println!("{}\r", String::from_utf8_lossy(buf)); stdout().flush().unwrap(); } diff --git a/src/main.rs b/src/main.rs index e1486ef..6a3c870 100644 --- a/src/main.rs +++ b/src/main.rs @@ -64,7 +64,8 @@ async fn handle_keypress( macro_rules! todo { ($s: expr) => {{ let val = format!($s); - writeln!(stdout(), "{val}\r").unwrap(); + println!("{val}\r"); + stdout().flush()?; }}; } @@ -134,7 +135,7 @@ async fn main() -> anyhow::Result<()> { // Stream of "blue text" - status updates from the server if let Ok(bytes_read) = (*get_arc!(chan)).stderr().read(&mut buf) { let s = String::from_utf8_lossy(&buf[..bytes_read]); - print!("{}\r", s.replace("\n", "\r\n").blue()); + print!("{}\r", s.replace('\n', "\r\n").blue()); stdout().flush()?; }