From f5fbfd848ec0a5c9771dd103e921e7064445c9ba Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Sun, 7 Jun 2026 18:06:07 +0900 Subject: [PATCH] Let bw theme inherit overridden colors - Mark derived color slots undefined so fg/bg/list-bg propagate - Add missing Footer slot (was rendering black) --- src/tui/tui.go | 81 +++++++++++++++++++++++++++----------------------- 1 file changed, 43 insertions(+), 38 deletions(-) diff --git a/src/tui/tui.go b/src/tui/tui.go index 09ee9454..bc6e094e 100644 --- a/src/tui/tui.go +++ b/src/tui/tui.go @@ -1002,51 +1002,56 @@ func init() { undefined := ColorAttr{colUndefined, AttrUndefined} NoColorTheme = &ColorTheme{ - Colored: false, - Input: defaultColor, - Fg: defaultColor, - Bg: defaultColor, - ListFg: defaultColor, - ListBg: defaultColor, + Colored: false, + // Root colors. Everything else is left undefined so that overriding a + // root (e.g. --color bw,bg:blue) propagates to the derived colors, + // just like in the colored base themes. + Input: defaultColor, + Fg: defaultColor, + Bg: defaultColor, + DarkBg: defaultColor, + Prompt: defaultColor, + Match: defaultColor, + Spinner: defaultColor, + Info: defaultColor, + Pointer: defaultColor, + Marker: defaultColor, + Header: defaultColor, + Footer: defaultColor, + BorderLabel: defaultColor, + // Derived colors. Left undefined so they inherit from a root. + ListFg: undefined, + ListBg: undefined, AltBg: undefined, - SelectedFg: defaultColor, - SelectedBg: defaultColor, - SelectedMatch: defaultColor, - DarkBg: defaultColor, - Prompt: defaultColor, - Match: defaultColor, + SelectedFg: undefined, + SelectedBg: undefined, + SelectedMatch: undefined, Current: undefined, CurrentMatch: undefined, - Spinner: defaultColor, - Info: defaultColor, - Pointer: defaultColor, - Marker: defaultColor, - Header: defaultColor, Border: undefined, - BorderLabel: defaultColor, Ghost: undefined, - Disabled: defaultColor, - PreviewFg: defaultColor, - PreviewBg: defaultColor, + Disabled: undefined, + PreviewFg: undefined, + PreviewBg: undefined, Gutter: undefined, AltGutter: undefined, - PreviewBorder: defaultColor, - PreviewScrollbar: defaultColor, - PreviewLabel: defaultColor, - ListLabel: defaultColor, - ListBorder: defaultColor, - Separator: defaultColor, - Scrollbar: defaultColor, - InputBg: defaultColor, - InputBorder: defaultColor, - InputLabel: defaultColor, - HeaderBg: defaultColor, - HeaderBorder: defaultColor, - HeaderLabel: defaultColor, - FooterBg: defaultColor, - FooterBorder: defaultColor, - FooterLabel: defaultColor, - GapLine: defaultColor, + PreviewBorder: undefined, + PreviewScrollbar: undefined, + PreviewLabel: undefined, + ListLabel: undefined, + ListBorder: undefined, + Separator: undefined, + Scrollbar: undefined, + InputBg: undefined, + InputBorder: undefined, + InputLabel: undefined, + HeaderBg: undefined, + HeaderBorder: undefined, + HeaderLabel: undefined, + FooterBg: undefined, + FooterBorder: undefined, + FooterLabel: undefined, + GapLine: undefined, Nth: undefined, Nomatch: undefined, }