From 76ce59936d6d1c03ea291e6631db26339d310c19 Mon Sep 17 00:00:00 2001 From: Jonas Maier <> Date: Sun, 24 May 2026 19:25:45 +0200 Subject: less broken multiline editing --- src/cursor.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/cursor.rs') diff --git a/src/cursor.rs b/src/cursor.rs index 959b15f..e6f99f1 100644 --- a/src/cursor.rs +++ b/src/cursor.rs @@ -27,12 +27,20 @@ pub fn move_cursor(direction: Direction, n: usize) { fmove_cursor(direction, n, &mut std::io::stdout()).unwrap() } +pub fn f_save(stdout: &mut dyn Write) -> std::io::Result<()> { + stdout.write_all(b"\x1b[s") +} + +pub fn f_restore(stdout: &mut dyn Write) -> std::io::Result<()> { + stdout.write_all(b"\x1b[u") +} + pub fn save() { - std::io::stdout().lock().write_all(b"\x1b[s").unwrap(); + f_save(&mut std::io::stdout().lock()).unwrap(); } pub fn restore() { - std::io::stdout().lock().write_all(b"\x1b[u").unwrap(); + f_restore(&mut std::io::stdout().lock()).unwrap(); } /// Represents a cursor position -- cgit v1.2.3