diff --git a/src/termio/Termio.zig b/src/termio/Termio.zig index 40af3cd94..dee58dc22 100644 --- a/src/termio/Termio.zig +++ b/src/termio/Termio.zig @@ -175,15 +175,25 @@ pub const DerivedConfig = struct { errdefer arena.deinit(); const alloc = arena.allocator(); - const palette: terminalpkg.color.Palette = if (config.@"palette-generate") - terminalpkg.color.generate256Color( - config.palette.value, - config.palette.mask, - config.background.toTerminalRGB(), - config.foreground.toTerminalRGB(), - ) - else - config.palette.value; + const palette: terminalpkg.color.Palette = palette: { + if (config.@"palette-generate") generate: { + if (config.palette.mask.findFirstSet() == null) { + // If the user didn't set any values manually, then + // we're using the default palette and we don't need + // to apply the generation code to it. + break :generate; + } + + break :palette terminalpkg.color.generate256Color( + config.palette.value, + config.palette.mask, + config.background.toTerminalRGB(), + config.foreground.toTerminalRGB(), + ); + } + + break :palette config.palette.value; + }; return .{ .palette = palette,