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
		Add a link
		
	
		Reference in a new issue