aboutsummaryrefslogtreecommitdiffstats
path: root/src/cursor.rs
diff options
context:
space:
mode:
authorJonas Maier <jonas@x77.dev>2026-05-22 21:26:41 +0200
committerJonas Maier <jonas@x77.dev>2026-05-22 21:26:41 +0200
commiteeb267c46340d5d47f41cc2440f0b281f9ae9261 (patch)
treeabcbc6624e0903cc1c7cd919d15a42ebb970692a /src/cursor.rs
parent07daff9331dbdc607584edbf1a8fb3e415c338ea (diff)
downloadpish-eeb267c46340d5d47f41cc2440f0b281f9ae9261.tar.gz
basic syntax highlighting
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() {