mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-04-20 00:18:53 +03:00
Allow whitespace in ColorList values (#5925)
The following formats are now all valid: ```zig macos-icon-screen-color = #00FF00,#FF1000,#00FFFF macos-icon-screen-color = #00FF00, #FF1000, #00FFFF macos-icon-screen-color = #00FF00 ,#FF1000 ,#00FFFF macos-icon-screen-color = #00FF00 , #FF1000 , #00FFFF ``` Fixes #5918
This commit is contained in:
@ -4354,7 +4354,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());
|
||||
}
|
||||
@ -4423,6 +4425,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, " "));
|
||||
|
Reference in New Issue
Block a user