From e987541cc11cdda6bc016eb83c5bf609b42a9cd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20=C4=8Cert=C3=ADk?= Date: Fri, 13 Sep 2024 14:36:02 -0600 Subject: [PATCH 1/2] Set Ctrl-C signal handler --- crates/shell/Cargo.toml | 1 + crates/shell/src/main.rs | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/crates/shell/Cargo.toml b/crates/shell/Cargo.toml index e134ed6..fc8c45f 100644 --- a/crates/shell/Cargo.toml +++ b/crates/shell/Cargo.toml @@ -34,6 +34,7 @@ dirs = "5.0.1" which = "6.0.3" uu_uname = "0.0.27" uu_date = "0.0.27" +ctrlc = "3.4.5" [package.metadata.release] # Dont publish the binary diff --git a/crates/shell/src/main.rs b/crates/shell/src/main.rs index b6c3be3..56a7e72 100644 --- a/crates/shell/src/main.rs +++ b/crates/shell/src/main.rs @@ -35,6 +35,11 @@ async fn interactive() -> anyhow::Result<()> { .completion_type(CompletionType::Circular) .build(); + ctrlc::set_handler(move || { + println!("Received Ctrl+C"); + }) + .expect("Error setting Ctrl-C handler"); + let mut rl = Editor::with_config(config)?; let helper = helper::ShellPromptHelper::default(); From 82e0febddc61447f1921617fc6aed15e2985dc56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20=C4=8Cert=C3=ADk?= Date: Fri, 27 Sep 2024 14:14:35 -0600 Subject: [PATCH 2/2] Update Cargo.lock --- Cargo.lock | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1ee73ef..8bece03 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -189,6 +189,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "chrono" version = "0.4.38" @@ -282,6 +288,16 @@ dependencies = [ "typenum", ] +[[package]] +name = "ctrlc" +version = "3.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3" +dependencies = [ + "nix 0.29.0", + "windows-sys 0.59.0", +] + [[package]] name = "deno_task_shell" version = "0.17.0" @@ -748,7 +764,19 @@ checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" dependencies = [ "bitflags", "cfg-if", - "cfg_aliases", + "cfg_aliases 0.1.1", + "libc", +] + +[[package]] +name = "nix" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" +dependencies = [ + "bitflags", + "cfg-if", + "cfg_aliases 0.2.1", "libc", ] @@ -1086,7 +1114,7 @@ dependencies = [ "libc", "log", "memchr", - "nix", + "nix 0.28.0", "radix_trie", "rustyline-derive", "unicode-segmentation", @@ -1167,6 +1195,7 @@ version = "0.1.0" dependencies = [ "anyhow", "clap", + "ctrlc", "deno_task_shell", "dirs", "futures", @@ -1468,7 +1497,7 @@ dependencies = [ "glob", "itertools", "libc", - "nix", + "nix 0.28.0", "number_prefix", "once_cell", "os_display",