chore(list): set selection colors

Christian Rocha created

Change summary

internal/tui/exp/list/list.go    | 6 +++++-
internal/tui/styles/charmtone.go | 3 +++
internal/tui/styles/theme.go     | 3 +++
3 files changed, 11 insertions(+), 1 deletion(-)

Detailed changes

internal/tui/exp/list/list.go 🔗

@@ -415,8 +415,12 @@ func (l *list[T]) selectionView(view string, textOnly bool) string {
 					continue
 				}
 
+				// Text selection styling, which is a Lip Gloss style. We must
+				// extract the values to use in a UV style, below.
+				ts := t.TextSelection
+
 				cell = cell.Clone()
-				cell.Style = cell.Style.Background(t.BgOverlay).Foreground(t.White)
+				cell.Style = cell.Style.Background(ts.GetBackground()).Foreground(ts.GetForeground())
 				scr.SetCell(x, y, cell)
 			}
 		}

internal/tui/styles/charmtone.go 🔗

@@ -56,6 +56,9 @@ func NewCharmtoneTheme() *Theme {
 		Cherry:   charmtone.Cherry,
 	}
 
+	// Text selection.
+	t.TextSelection = lipgloss.NewStyle().Foreground(charmtone.Salt).Background(charmtone.Charple)
+
 	// LSP and MCP status.
 	t.ItemOfflineIcon = lipgloss.NewStyle().Foreground(charmtone.Squid).SetString("●")
 	t.ItemBusyIcon = t.ItemOfflineIcon.Foreground(charmtone.Citron)

internal/tui/styles/theme.go 🔗

@@ -74,6 +74,9 @@ type Theme struct {
 	RedLight color.Color
 	Cherry   color.Color
 
+	// Text selection.
+	TextSelection lipgloss.Style
+
 	// LSP and MCP status indicators.
 	ItemOfflineIcon lipgloss.Style
 	ItemBusyIcon    lipgloss.Style