feat: good error reporting

This commit is contained in:
LordMZTE 2022-12-26 21:22:58 +01:00
parent bdf88a8e50
commit a9fdcf6cf7
Signed by: LordMZTE
GPG Key ID: B64802DC33A64FF6
2 changed files with 13 additions and 2 deletions

View File

@ -346,7 +346,7 @@ pub const Tab = struct {
self.focus_left = findKey(kbs, .GoToPreviousTab);
self.focus_right = findKey(kbs, .GoToNextTab);
self.toggle_tab = findKey(kbs, .ToggleTab);
self.new = findKey(kbs, .{ .NewTab = .{ null, null } });
self.new = findKey(kbs, .{ .NewTab = .{ null, &.{}, null } });
self.close = findKey(kbs, .Quit);
self.rename = findKey(kbs, .{ .SwitchToMode = .RenameTab });
self.sync = findKey(kbs, .ToggleActiveSyncTab);

View File

@ -30,8 +30,19 @@ var event_heap: [1024 * 128]u8 = undefined;
var event_fba = std.heap.FixedBufferAllocator.init(&event_heap);
pub fn update() bool {
defer event_fba.end_index = 0;
var ev = zz.getEvent(event_fba.allocator()) catch |e| {
var err_ctx: ?zz.DeserErrorCtx = null;
var ev = zz.getEvent(event_fba.allocator(), &err_ctx) catch |e| {
std.log.err("Failed to deserialize event: {}", .{e});
if (err_ctx) |ctx| {
defer ctx.deinit();
std.log.err(
\\At char {d}:
\\{s}
\\ ^
,
.{ctx.pos, ctx.sample},
);
}
return false;
};