fix(styles): use ANSI palette colors so text is readable on light terminals#43
Merged
Merged
Conversation
…minals Foregrounds that render against the terminal background were fixed hex values chosen for dark terminals (#E5E7EB, #FFFFFF, #6B7280, ...), which made list items nearly invisible on light color schemes. Switch those to ANSI palette colors or the terminal default foreground so they follow the user's own theme. titleStyle keeps its hex pair since it sets both foreground and background. Fixes cloudmanic#40
jkrperson
marked this pull request as ready for review
July 19, 2026 07:18
cloudmanic
approved these changes
Jul 22, 2026
cloudmanic
left a comment
Owner
There was a problem hiding this comment.
Thanks for this, @jkrperson — this is the right fix. Using the terminal's default foreground for body text and ANSI palette colors for the accents is exactly how this should adapt across themes, and I appreciate you keeping the title chip as a self-contained fg/bg pair. The before/after made it easy to evaluate. Approving.
I'm knowingly taking the tradeoff that accent shades now follow the user's 16-color palette rather than the fixed violet — readability everywhere is worth more than the exact brand shade, and the title bar keeps it regardless. Thanks for taking care of #40.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #40
Summary
Quick Actions and Projects text is nearly invisible on light terminal themes. This switches foregrounds that render against the terminal background from dark-theme hex values to ANSI palette colors (or the terminal's default foreground), so both UIs stay readable on light and dark themes.
The Problem
The shared palette in
styles.go(and the Projects styles inprojectsmodel.go) hardcodes foregrounds chosen for dark terminals —#E5E7EBfor list items,#FFFFFFfor the selected row, grays for muted text. On a light background these have almost no contrast (see #40).The Solution
5/13(magenta), muted text →8, fuzzy-match highlights →3, links →6— these track whatever palette the user's terminal defines.titleStyle(the purple title chip) keeps its hex pair since it sets both foreground and background and is self-contained.One tradeoff: exact accent shades now follow the user's 16-color palette rather than the fixed violet, so the dark-theme look can shift slightly depending on the palette.
Before / After
(light terminal theme, Quick Actions inside herdr)
Testing
go build,go vet,go test -race ./...pass on macOS. Verified visually in a light-themed terminal inside herdr.