From f72bbc4963453e643fc6d1a5c90bbc6eb39852ee Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Tue, 4 Jun 2024 23:15:43 +0200 Subject: [PATCH] fix: add output buffering on render --- src/renderer/vaxis/renderer.zig | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/renderer/vaxis/renderer.zig b/src/renderer/vaxis/renderer.zig index e37b62d..6d626d0 100644 --- a/src/renderer/vaxis/renderer.zig +++ b/src/renderer/vaxis/renderer.zig @@ -98,7 +98,9 @@ pub fn run(self: *Self) !void { } pub fn render(self: *Self) !void { - return self.vx.render(self.tty.anyWriter()); + var bufferedWriter = self.tty.bufferedWriter(); + try self.vx.render(bufferedWriter.writer().any()); + try bufferedWriter.flush(); } pub fn refresh(self: *Self) !void { @@ -310,7 +312,9 @@ pub fn set_terminal_title(self: *Self, text: []const u8) void { } pub fn copy_to_system_clipboard(self: *Self, text: []const u8) void { - self.vx.copyToSystemClipboard(self.tty.anyWriter(), text, self.a) catch |e| log.logger(log_name).err("copy_to_system_clipboard", e); + var bufferedWriter = self.tty.bufferedWriter(); + self.vx.copyToSystemClipboard(bufferedWriter.writer().any(), text, self.a) catch |e| log.logger(log_name).err("copy_to_system_clipboard", e); + bufferedWriter.flush() catch @panic("flush failed"); } pub fn request_system_clipboard(self: *Self) void {