From c3f0891103a73720040a7e9bfc1500293aac8d79 Mon Sep 17 00:00:00 2001 From: ynqa Date: Wed, 3 Sep 2025 06:24:29 +0900 Subject: [PATCH 1/2] fix: do not return from std out/err each other --- src/main.rs | 4 ++-- src/spawn.rs | 15 ++++----------- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/src/main.rs b/src/main.rs index 5d5567c..11ab459 100644 --- a/src/main.rs +++ b/src/main.rs @@ -170,8 +170,8 @@ async fn main() -> anyhow::Result<()> { } } - // Ensure the input task has completed - input_task.handle.await??; + // Stop the input task + input_task.handle.abort(); crossterm::execute!( io::stdout(), diff --git a/src/spawn.rs b/src/spawn.rs index 4ec527a..b73774c 100644 --- a/src/spawn.rs +++ b/src/spawn.rs @@ -78,11 +78,8 @@ pub fn spawn_cmd_result_sender( let escaped = strip_ansi_escapes::strip_str(line.replace(['\n', '\t'], " ")); tx.send(escaped).await?; }, - // ignore timeout and continue - Err(_) => { - continue; - }, - _ => break, + // Don't break on stdout end, continue to read stderr (maybe) + _ => continue, } }, stderr_res = timeout(retrieval_timeout, stderr_reader.next_line()) => { @@ -91,16 +88,12 @@ pub fn spawn_cmd_result_sender( let escaped = strip_ansi_escapes::strip_str(line.replace(['\n', '\t'], " ")); tx.send(escaped).await?; }, - // ignore timeout and continue - Err(_) => { - continue; - }, - _ => break, + // Don't break on stdout end, continue to read stdout (maybe) + _ => continue, } } } } - Ok(()) }), child: Some(child), }) From a792eea62d3a2c4f86389e625f4d83d87f799a42 Mon Sep 17 00:00:00 2001 From: ynqa Date: Wed, 3 Sep 2025 21:15:59 +0900 Subject: [PATCH 2/2] chore: bump up version to v0.2.1 --- Cargo.lock | 14 +++++++------- Cargo.toml | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9c3ea45..e2cc2aa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -153,9 +153,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "clap" -version = "4.5.46" +version = "4.5.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c5e4fcf9c21d2e544ca1ee9d8552de13019a42aa7dbf32747fa7aaf1df76e57" +checksum = "7eac00902d9d136acd712710d71823fb8ac8004ca445a89e73a41d45aa712931" dependencies = [ "clap_builder", "clap_derive", @@ -163,9 +163,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.46" +version = "4.5.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fecb53a0e6fcfb055f686001bc2e2592fa527efaf38dbe81a6a9563562e57d41" +checksum = "2ad9bbf750e73b5884fb8a211a9424a1906c1e156724260fdae972f31d70e1d6" dependencies = [ "anstream", "anstyle", @@ -175,9 +175,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.45" +version = "4.5.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14cb31bb0a7d536caef2639baa7fad459e15c3144efefa6dbd1c84562c4739f6" +checksum = "bbfd7eae0b0f1a6e63d4b13c9c478de77c2eb546fba158ad50b4203dc24b9f9c" dependencies = [ "heck", "proc-macro2", @@ -937,7 +937,7 @@ dependencies = [ [[package]] name = "sigrs" -version = "0.2.0" +version = "0.2.1" dependencies = [ "anyhow", "clap", diff --git a/Cargo.toml b/Cargo.toml index 17dc813..e0cc842 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sigrs" -version = "0.2.0" +version = "0.2.1" authors = ["ynqa "] edition = "2021" description = "Interactive grep (for streaming)" @@ -14,7 +14,7 @@ path = "src/main.rs" [dependencies] anyhow = "1.0.99" -clap = { version = "4.5.46", features = ["derive"] } +clap = { version = "4.5.47", features = ["derive"] } grep = "0.3.2" promkit = "0.10.1" promkit-core = "0.2.0"