config: fix window-decoration enum parsing to allow client, none (#5082)

This commit is contained in:
Mitchell Hashimoto
2025-01-14 15:53:09 -08:00
committed by GitHub

View File

@ -5921,13 +5921,13 @@ pub const WindowDecoration = enum {
server, server,
none, none,
pub fn parseCLI(input: ?[]const u8) !WindowDecoration { pub fn parseCLI(input_: ?[]const u8) !WindowDecoration {
const input_ = input orelse return .client; 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 if (b) .client else .none
else |_| if (std.mem.eql(u8, input_, "server")) else |_| if (std.meta.stringToEnum(WindowDecoration, input)) |v|
.server v
else else
error.InvalidValue; error.InvalidValue;
} }
@ -5964,6 +5964,14 @@ pub const WindowDecoration = enum {
const v = try WindowDecoration.parseCLI("server"); const v = try WindowDecoration.parseCLI("server");
try testing.expectEqual(WindowDecoration.server, v); 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(""));
try testing.expectError(error.InvalidValue, WindowDecoration.parseCLI("aaaa")); try testing.expectError(error.InvalidValue, WindowDecoration.parseCLI("aaaa"));