feat: provide user feadback on bar misconfiguration
This commit is contained in:
parent
dec2399b19
commit
a6f09895d1
1 changed files with 13 additions and 1 deletions
|
@ -1,6 +1,7 @@
|
|||
const std = @import("std");
|
||||
const EventHandler = @import("EventHandler");
|
||||
const Plane = @import("renderer").Plane;
|
||||
const log = @import("log");
|
||||
|
||||
const Widget = @import("../Widget.zig");
|
||||
|
||||
|
@ -21,6 +22,17 @@ pub const CreateError = error{ OutOfMemory, Exit };
|
|||
pub const CreateFunction = *const fn (allocator: std.mem.Allocator, parent: Plane, event_handler: ?EventHandler) CreateError!Widget;
|
||||
|
||||
pub fn create(name: []const u8, allocator: std.mem.Allocator, parent: Plane, event_handler: ?EventHandler) CreateError!?Widget {
|
||||
const create_ = widgets.get(name) orelse return null;
|
||||
const create_ = widgets.get(name) orelse {
|
||||
const logger = log.logger("statusbar");
|
||||
logger.print_err("config", "unknown widget \"{s}\" (see log)", .{name});
|
||||
log_widgets(logger);
|
||||
return null;
|
||||
};
|
||||
return try create_(allocator, parent, event_handler);
|
||||
}
|
||||
|
||||
fn log_widgets(logger: anytype) void {
|
||||
logger.print("available widgets:", .{});
|
||||
for (widgets.keys()) |name|
|
||||
logger.print(" {s}", .{name});
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue