aboutsummaryrefslogtreecommitdiffstats
path: root/src/cursor.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/cursor.rs')
-rw-r--r--src/cursor.rs12
1 files changed, 10 insertions, 2 deletions
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