small software-rendered rust tty
-rw-r--r--src/main.rs1
-rw-r--r--src/term.rs5
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(),