From 2e26b58d160cc7cfc5c403cd63cbb30fad9fe8d0 Mon Sep 17 00:00:00 2001 From: Adam <2363879+adamdotdevin@users.noreply.github.com> Date: Thu, 26 Jun 2025 10:16:07 -0500 Subject: feat: default system theme (#419) Co-authored-by: adamdottv <2363879+adamdottv@users.noreply.github.com> --- packages/tui/internal/theme/loader.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'packages/tui/internal/theme/loader.go') diff --git a/packages/tui/internal/theme/loader.go b/packages/tui/internal/theme/loader.go index 7df46b7fe..82c2fcd24 100644 --- a/packages/tui/internal/theme/loader.go +++ b/packages/tui/internal/theme/loader.go @@ -171,7 +171,7 @@ func (r *colorResolver) resolveColor(key string, value any) (any, error) { switch v := value.(type) { case string: - if strings.HasPrefix(v, "#") { + if strings.HasPrefix(v, "#") || v == "none" { return v, nil } return r.resolveReference(v) @@ -205,7 +205,7 @@ func (r *colorResolver) resolveColor(key string, value any) (any, error) { func (r *colorResolver) resolveColorValue(value any) (any, error) { switch v := value.(type) { case string: - if strings.HasPrefix(v, "#") { + if strings.HasPrefix(v, "#") || v == "none" { return v, nil } return r.resolveReference(v) @@ -240,6 +240,12 @@ func (r *colorResolver) resolveReference(ref string) (any, error) { func parseResolvedColor(value any) (compat.AdaptiveColor, error) { switch v := value.(type) { case string: + if v == "none" { + return compat.AdaptiveColor{ + Dark: lipgloss.NoColor{}, + Light: lipgloss.NoColor{}, + }, nil + } return compat.AdaptiveColor{ Dark: lipgloss.Color(v), Light: lipgloss.Color(v), @@ -277,6 +283,9 @@ func parseResolvedColor(value any) (compat.AdaptiveColor, error) { func parseColorValue(value any) (color.Color, error) { switch v := value.(type) { case string: + if v == "none" { + return lipgloss.NoColor{}, nil + } return lipgloss.Color(v), nil case float64: return lipgloss.Color(fmt.Sprintf("%d", int(v))), nil -- cgit v1.2.3