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, 7 insertions, 3 deletions
diff --git a/src/cursor.rs b/src/cursor.rs
index fbaacbb..1ec23d5 100644
--- a/src/cursor.rs
+++ b/src/cursor.rs
@@ -8,9 +8,9 @@ pub enum Direction {
Right,
}
-pub fn move_cursor(direction: Direction, n: usize) {
+pub fn fmove_cursor(direction: Direction, n: usize, stdout: &mut dyn Write) -> std::io::Result<()> {
if n == 0 {
- return;
+ return Ok(());
}
let code = match direction {
@@ -20,7 +20,11 @@ pub fn move_cursor(direction: Direction, n: usize) {
Direction::Left => 'D',
};
- print!("\x1b[{n}{code}");
+ write!(stdout, "\x1b[{n}{code}")
+}
+
+pub fn move_cursor(direction: Direction, n: usize) {
+ fmove_cursor(direction, n, &mut std::io::stdout()).unwrap()
}
pub fn save() {