From 3e78c04989f399bea229645ee7734b2a5d8be102 Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Wed, 4 Oct 2023 17:06:17 -0700 Subject: [PATCH] improve perf of generate script runner cursor now stays on the same line and only goes left to right --- scripts/_common.zig | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/scripts/_common.zig b/scripts/_common.zig index 4e4f37f1d54fb2ce4e0e0599de7d7c5423680eb5..69244f9f55d15516f3215dfe3cba626c31901689 100644 --- a/scripts/_common.zig +++ b/scripts/_common.zig @@ -49,12 +49,15 @@ pub fn Main(comptime T: type) type { const r = req.reader(); var line_num: usize = 1; - std.debug.print("\n", .{}); + // std.debug.print("\n", .{}); var arena = std.heap.ArenaAllocator.init(alloc); defer arena.deinit(); while (true) { - const line = r.readUntilDelimiterAlloc(alloc, '\n', max_size) catch |e| if (e == error.EndOfStream) break else return e; + const line = r.readUntilDelimiterAlloc(alloc, '\n', max_size) catch |err| switch (err) { + error.EndOfStream => break, + else => |e| return e, + }; defer alloc.free(line); if (line.len == 0) { @@ -66,11 +69,12 @@ pub fn Main(comptime T: type) type { try T.exec(arena.allocator(), line, w); - std.debug.print("{s}", .{ansi.csi.CursorUp(1)}); + std.debug.print("{s}", .{ansi.csi.CursorHorzAbs(1)}); std.debug.print("{s}", .{ansi.csi.EraseInLine(0)}); - std.debug.print("{d}\n", .{line_num}); + std.debug.print("{d}", .{line_num}); line_num += 1; } + std.debug.print("\n", .{}); try w.writeAll(T.dest_footer); try bufw.flush(); } -- 2.54.0