From 4d2d4322f42cf14664f21fa4bd4062476a2cffeb Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 24 Jun 2022 18:00:42 -0700 Subject: [PATCH] implement VT --- src/Window.zig | 1 - src/terminal/ansi.zig | 2 ++ src/terminal/stream.zig | 6 ++++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Window.zig b/src/Window.zig index 85603e031..6167ca5a4 100644 --- a/src/Window.zig +++ b/src/Window.zig @@ -642,7 +642,6 @@ pub fn setCursorRow(self: *Window, row: u16) !void { } pub fn setCursorPos(self: *Window, row: u16, col: u16) !void { - if (self.terminal.mode_origin) unreachable; // TODO self.terminal.setCursorPos(row, col); } diff --git a/src/terminal/ansi.zig b/src/terminal/ansi.zig index f64fcf1c8..f34acf008 100644 --- a/src/terminal/ansi.zig +++ b/src/terminal/ansi.zig @@ -13,6 +13,8 @@ pub const C0 = enum(u7) { HT = 0x09, /// Line feed LF = 0x0A, + /// Vertical Tab + VT = 0x0B, /// Carriage return CR = 0x0D, }; diff --git a/src/terminal/stream.zig b/src/terminal/stream.zig index b49ae6b1d..2ab33dcf7 100644 --- a/src/terminal/stream.zig +++ b/src/terminal/stream.zig @@ -90,6 +90,12 @@ pub fn Stream(comptime Handler: type) type { else log.warn("unimplemented execute: {x}", .{c}), + // VT is same as LF + .VT => if (@hasDecl(T, "linefeed")) + try self.handler.linefeed() + else + log.warn("unimplemented execute: {x}", .{c}), + .CR => if (@hasDecl(T, "carriageReturn")) try self.handler.carriageReturn() else