From 7c6375f744cba0f617a8f1f71e190881522df36b Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Sat, 22 Feb 2025 20:53:27 +0800 Subject: [PATCH 1/2] Allow whitespace after commas in ColorList values --- src/config/Config.zig | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/config/Config.zig b/src/config/Config.zig index a5f5b56b3..5426c1077 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -4338,7 +4338,9 @@ pub const ColorList = struct { count += 1; if (count > 64) return error.InvalidValue; - const color = try Color.parseCLI(raw); + // Trim whitespace from each color value + const trimmed = std.mem.trim(u8, raw, " \t"); + const color = try Color.parseCLI(trimmed); try self.colors.append(alloc, color); try self.colors_c.append(alloc, color.cval()); } From 1b6b029e0d10ad69d015cd0d60e5995d99e21d56 Mon Sep 17 00:00:00 2001 From: Bryan Lee <38807139+liby@users.noreply.github.com> Date: Sat, 22 Feb 2025 22:11:35 +0800 Subject: [PATCH 2/2] Add test cases for whitespace handling for ColorList --- src/config/Config.zig | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/config/Config.zig b/src/config/Config.zig index 5426c1077..c87c02867 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -4409,6 +4409,14 @@ pub const ColorList = struct { try p.parseCLI(alloc, "black,white"); try testing.expectEqual(2, p.colors.items.len); + // Test whitespace handling + try p.parseCLI(alloc, "black, white"); // space after comma + try testing.expectEqual(2, p.colors.items.len); + try p.parseCLI(alloc, "black , white"); // spaces around comma + try testing.expectEqual(2, p.colors.items.len); + try p.parseCLI(alloc, " black , white "); // extra spaces at ends + try testing.expectEqual(2, p.colors.items.len); + // Error cases try testing.expectError(error.ValueRequired, p.parseCLI(alloc, null)); try testing.expectError(error.InvalidValue, p.parseCLI(alloc, " "));