aboutsummaryrefslogtreecommitdiffstats
path: root/src/cursor.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/cursor.rs')
-rw-r--r--src/cursor.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/cursor.rs b/src/cursor.rs
index 7913d3c..fbaacbb 100644
--- a/src/cursor.rs
+++ b/src/cursor.rs
@@ -1,3 +1,5 @@
+use std::io::Write;
+
#[derive(Debug, Clone, Copy)]
pub enum Direction {
Up,
@@ -21,6 +23,14 @@ pub fn move_cursor(direction: Direction, n: usize) {
print!("\x1b[{n}{code}");
}
+pub fn save() {
+ std::io::stdout().lock().write_all(b"\x1b[s").unwrap();
+}
+
+pub fn restore() {
+ std::io::stdout().lock().write_all(b"\x1b[u").unwrap();
+}
+
/// Represents a cursor position
#[derive(Debug, Clone, Copy)]
pub struct CursorPos {