From fb6800c8ce2cca466c1539e33fc248bc3b786976 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Sat, 25 Jun 2022 10:06:40 -0700 Subject: [PATCH] handle SO/SI but don't do anything yet (just don't crash) --- src/terminal/ansi.zig | 4 ++++ src/terminal/stream.zig | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/terminal/ansi.zig b/src/terminal/ansi.zig index f34acf008..7cbd7d874 100644 --- a/src/terminal/ansi.zig +++ b/src/terminal/ansi.zig @@ -17,6 +17,10 @@ pub const C0 = enum(u7) { VT = 0x0B, /// Carriage return CR = 0x0D, + /// Shift out + SO = 0x0E, + /// Shift in + SI = 0x0F, }; /// The SGR rendition aspects that can be set, sometimes known as attributes. diff --git a/src/terminal/stream.zig b/src/terminal/stream.zig index a07ca39a2..2958de0c0 100644 --- a/src/terminal/stream.zig +++ b/src/terminal/stream.zig @@ -67,6 +67,7 @@ pub fn Stream(comptime Handler: type) type { } fn execute(self: *Self, c: u8) !void { + // log.warn("C0: {}", .{c}); switch (@intToEnum(ansi.C0, c)) { .NUL => {}, @@ -100,6 +101,9 @@ pub fn Stream(comptime Handler: type) type { try self.handler.carriageReturn() else log.warn("unimplemented execute: {x}", .{c}), + + // TODO + .SO, .SI => log.warn("TODO: Shift out/Shift in", .{}), } }