aboutsummaryrefslogtreecommitdiffstats
path: root/src/cursor.rs
diff options
context:
space:
mode:
authorJonas Maier <jonas@x77.dev>2026-03-05 23:54:56 +0100
committerJonas Maier <jonas@x77.dev>2026-03-05 23:54:56 +0100
commitfb80e9c1cd4c2dcbb2d2ba1e2be8c7e19b9f0ce1 (patch)
treee6980a3ae362de33f1521c647e18dad16b02363e /src/cursor.rs
parentf03a0863ba3da7cf34e938a7de1cf92675b09c41 (diff)
downloadpish-fb80e9c1cd4c2dcbb2d2ba1e2be8c7e19b9f0ce1.tar.gz
very buggy beginning of tab completion
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 {