fix: add serialization of ansi_palette
Some checks are pending
Release tarball / release_tarball (push) Waiting to run

This commit is contained in:
CJ van den Berg 2026-04-08 11:19:16 +02:00
parent 61f1cc10fe
commit 32b5be45c4
Signed by: neurocyte
GPG key ID: 8EB1E1BB660E3FB9

View file

@ -1185,6 +1185,13 @@ fn write_field_Color(writer: *std.Io.Writer, name: []const u8, value: Color) !vo
}); });
} }
fn write_field_ansi_palette(writer: *std.Io.Writer, name: []const u8, value: [16][3]u8) !void {
try writer.print(" .@\"{s}\" = .{{\n", .{name});
for (value) |rgb|
try writer.print(" .{{ 0x{x:0>2}, 0x{x:0>2}, 0x{x:0>2} }},\n", .{ rgb[0], rgb[1], rgb[2] });
try writer.print(" }},\n", .{});
}
fn write_field_token_array(writer: *std.Io.Writer, name: []const u8, values: Tokens) !void { fn write_field_token_array(writer: *std.Io.Writer, name: []const u8, values: Tokens) !void {
_ = try writer.print(" .@\"{s}\" = &[_]theme.Token{{ \n", .{name}); _ = try writer.print(" .@\"{s}\" = &[_]theme.Token{{ \n", .{name});
for (values) |value| { for (values) |value| {
@ -1200,6 +1207,8 @@ fn write_field(writer: *std.Io.Writer, name: []const u8, value: anytype) !void {
write_field_Style(writer, name, value) write_field_Style(writer, name, value)
else if (@TypeOf(value) == Color) else if (@TypeOf(value) == Color)
write_field_Color(writer, name, value) write_field_Color(writer, name, value)
else if (@TypeOf(value) == [16][3]u8)
write_field_ansi_palette(writer, name, value)
else if (@TypeOf(value) == Tokens) else if (@TypeOf(value) == Tokens)
write_field_token_array(writer, name, value) write_field_token_array(writer, name, value)
else else