diff options
| author | Jonas Maier <> | 2026-03-05 08:21:24 +0100 |
|---|---|---|
| committer | Jonas Maier <> | 2026-03-05 08:21:24 +0100 |
| commit | b2c463e8bbc8c4685d5979d2b8c5a0cb2706fba2 (patch) | |
| tree | a67c11a0684b9b575c99002eae101b30355ca828 /src/cursor.rs | |
| parent | a8f9ac71cfa31302b8577065c56fab2bc4b035d2 (diff) | |
| download | pish-b2c463e8bbc8c4685d5979d2b8c5a0cb2706fba2.tar.gz | |
restructure
Diffstat (limited to 'src/cursor.rs')
| -rw-r--r-- | src/cursor.rs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/cursor.rs b/src/cursor.rs new file mode 100644 index 0000000..7913d3c --- /dev/null +++ b/src/cursor.rs @@ -0,0 +1,29 @@ +#[derive(Debug, Clone, Copy)] +pub enum Direction { + Up, + Down, + Left, + Right, +} + +pub fn move_cursor(direction: Direction, n: usize) { + if n == 0 { + return; + } + + let code = match direction { + Direction::Up => 'A', + Direction::Down => 'B', + Direction::Right => 'C', + Direction::Left => 'D', + }; + + print!("\x1b[{n}{code}"); +} + +/// Represents a cursor position +#[derive(Debug, Clone, Copy)] +pub struct CursorPos { + pub row: usize, + pub col: usize, +} |
