From 10c48188ad8a85565c350cf756bd3912213af0e7 Mon Sep 17 00:00:00 2001 From: Squibid Date: Wed, 10 Dec 2025 20:14:49 -0500 Subject: [PATCH] cleaning up some messiness --- src/main.zig | 5 +++-- src/remote.zig | 8 +++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main.zig b/src/main.zig index c75b56a..18dcd2b 100644 --- a/src/main.zig +++ b/src/main.zig @@ -7,6 +7,7 @@ const Remote = @import("remote.zig"); const gpa = std.heap.c_allocator; +pub const prompt = "> "; var remote: Remote = undefined; const usage = @@ -26,8 +27,8 @@ fn inputThreadRun() !void { defer ln.deinit(); while (true) { - const in = ln.linenoise("> ") catch |err| switch (err) { - error.CtrlC => std.process.exit(130), + const in = ln.linenoise(prompt) catch |err| switch (err) { + error.CtrlC => std.process.exit(0), else => return err, } orelse continue; defer gpa.free(in); diff --git a/src/remote.zig b/src/remote.zig index d227206..58fb149 100644 --- a/src/remote.zig +++ b/src/remote.zig @@ -7,6 +7,7 @@ const wl = wayland.client.wl; const mez = wayland.client.zmez; const util = @import("util.zig"); +const prompt = @import("main.zig").prompt; display: *wl.Display, registry: *wl.Registry, @@ -89,7 +90,12 @@ fn registry_event(registry: *wl.Registry, event: wl.Registry.Event, remote: *Rem fn handleRemote(_: *mez.RemoteLuaV1, event: mez.RemoteLuaV1.Event, _: *Remote) void { switch (event) { .new_log_entry => |e| { - std.debug.print("\r{s}\r\n", .{e.text}); + const buffer: [1024]u8 = undefined; + const stdout = @constCast(&std.fs.File.stdout().writer(@constCast(&buffer)).interface); + // HACK: to make the prompt look correct we just redraw it after logging + // an entry. + stdout.print("\r{s}\r\n" ++ prompt, .{e.text}) catch {}; + stdout.flush() catch {}; }, } }