diff options
| author | Adam <[email protected]> | 2025-06-26 10:16:07 -0500 |
|---|---|---|
| committer | Jay V <[email protected]> | 2025-06-26 17:21:53 -0400 |
| commit | 2e26b58d160cc7cfc5c403cd63cbb30fad9fe8d0 (patch) | |
| tree | 8adf56cd142dd6426bfa93aa8ed891d326f69231 /packages/tui/internal/theme/loader.go | |
| parent | 31b56e5a05313fea9232bea4c9e90db00a2d23e7 (diff) | |
| download | opencode-2e26b58d160cc7cfc5c403cd63cbb30fad9fe8d0.tar.gz opencode-2e26b58d160cc7cfc5c403cd63cbb30fad9fe8d0.zip | |
feat: default system theme (#419)
Co-authored-by: adamdottv <[email protected]>
Diffstat (limited to 'packages/tui/internal/theme/loader.go')
| -rw-r--r-- | packages/tui/internal/theme/loader.go | 13 |
1 files changed, 11 insertions, 2 deletions
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 |
