rustyline-async/.patchy/0001-add-event-for-ctrl.patch
2025-06-21 00:43:25 +01:00

44 lines
1.1 KiB
Diff

From 67d8c49aeac03a5ef4e818f663eaa94dd7bf339b Mon Sep 17 00:00:00 2001
From: Jason Volk <jason@zemos.net>
Date: Thu, 4 Jul 2024 23:59:43 +0000
Subject: [PATCH] add event for ctrl-\
Signed-off-by: Jason Volk <jason@zemos.net>
---
src/lib.rs | 2 ++
src/line.rs | 6 ++++++
2 files changed, 8 insertions(+)
diff --git a/src/lib.rs b/src/lib.rs
index ec51963..1bb894c 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -87,6 +87,8 @@ pub enum ReadlineEvent {
Eof,
/// The user pressed Ctrl-C
Interrupted,
+ /// The user pressed Ctrl-\
+ Quit,
}
/// Clonable object that implements [`Write`][std::io::Write] and
diff --git a/src/line.rs b/src/line.rs
index 84e2ef8..bf53dc6 100644
--- a/src/line.rs
+++ b/src/line.rs
@@ -198,6 +198,12 @@ impl LineState {
self.clear(term)?;
return Ok(Some(ReadlineEvent::Eof));
}
+ // End of program (CTRL-\)
+ KeyCode::Char('4') => {
+ writeln!(term)?;
+ self.clear(term)?;
+ return Ok(Some(ReadlineEvent::Quit));
+ }
// End of text (CTRL-C)
KeyCode::Char('c') => {
if self.should_print_line_on_control_c {
--
2.39.5 (Apple Git-154)