From f5670d81d4365afbc3fe818f6bed26fa4122e5eb Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Tue, 14 Jan 2025 15:40:43 -0800 Subject: [PATCH] config: fix window-decoration enum parsing to allow client, none --- src/config/Config.zig | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/config/Config.zig b/src/config/Config.zig index 6ae8a353e..4aba8ce32 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -5921,13 +5921,13 @@ pub const WindowDecoration = enum { server, none, - pub fn parseCLI(input: ?[]const u8) !WindowDecoration { - const input_ = input orelse return .client; + pub fn parseCLI(input_: ?[]const u8) !WindowDecoration { + const input = input_ orelse return .client; - return if (cli.args.parseBool(input_)) |b| + return if (cli.args.parseBool(input)) |b| if (b) .client else .none - else |_| if (std.mem.eql(u8, input_, "server")) - .server + else |_| if (std.meta.stringToEnum(WindowDecoration, input)) |v| + v else error.InvalidValue; } @@ -5964,6 +5964,14 @@ pub const WindowDecoration = enum { const v = try WindowDecoration.parseCLI("server"); try testing.expectEqual(WindowDecoration.server, v); } + { + const v = try WindowDecoration.parseCLI("client"); + try testing.expectEqual(WindowDecoration.client, v); + } + { + const v = try WindowDecoration.parseCLI("none"); + try testing.expectEqual(WindowDecoration.none, v); + } { try testing.expectError(error.InvalidValue, WindowDecoration.parseCLI("")); try testing.expectError(error.InvalidValue, WindowDecoration.parseCLI("aaaa"));