From 52c5af92280a60d06b4898995a9111d46ed79a63 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 24 Jun 2022 10:02:50 -0700 Subject: [PATCH] erase line complete --- src/terminal/Terminal.zig | 5 +++++ src/terminal/csi.zig | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/terminal/Terminal.zig b/src/terminal/Terminal.zig index 68080637e..3a6422b50 100644 --- a/src/terminal/Terminal.zig +++ b/src/terminal/Terminal.zig @@ -329,6 +329,11 @@ pub fn eraseLine( std.mem.set(Screen.Cell, row[0..self.cursor.x], self.cursor.pen); }, + .complete => { + const row = self.screen.getRow(self.cursor.y); + std.mem.set(Screen.Cell, row, self.cursor.pen); + }, + else => { log.err("unimplemented erase line mode: {}", .{mode}); @panic("unimplemented"); diff --git a/src/terminal/csi.zig b/src/terminal/csi.zig index 85d23a3b8..6f1fa7ae7 100644 --- a/src/terminal/csi.zig +++ b/src/terminal/csi.zig @@ -10,6 +10,10 @@ pub const EraseDisplay = enum(u8) { pub const EraseLine = enum(u8) { right = 0, left = 1, - complete = 3, + complete = 2, right_unless_pending_wrap = 4, + + // Non-exhaustive so that @intToEnum never fails since the inputs are + // user-generated. + _, };