small software-rendered rust tty
fix overflow behaviour
| -rw-r--r-- | src/main.rs | 1 | ||||
| -rw-r--r-- | src/term.rs | 5 |
2 files changed, 2 insertions, 4 deletions
diff --git a/src/main.rs b/src/main.rs index 1b5fd5d..ef9c4ac 100644 --- a/src/main.rs +++ b/src/main.rs @@ -120,6 +120,7 @@ fn main() -> Result<()> { continue; } Enter => &b"\n"[..], + Escape => b"\x1b", Up => b"\x1b[A", Down => b"\x1b[B", Right => b"\x1b[C", diff --git a/src/term.rs b/src/term.rs index 9652b0f..3ece3c1 100644 --- a/src/term.rs +++ b/src/term.rs @@ -86,7 +86,7 @@ impl Terminal { Continue => {} Char(x) => { self.cursor.0 += 1; - if self.cursor.0 == self.size.0 { + if self.cursor.0 == self.size.0 + 1 { println!("overflow"); self.cursor.0 = 1; self.cursor.1 += 1; @@ -94,9 +94,6 @@ impl Terminal { while self.cursor.1 > self.size.1 { println!("newline"); self.cursor.1 -= 1; - // self.cells - // .drain(..self.size.0 as usize) - // .for_each(drop); self.row += 1; self.cells.extend(repeat_n( Cell::default(), |