feat: also apply highlight color to directory names

Christian Rocha created

Change summary

ui/pages/repo/filesitem.go |  6 +++++-
ui/styles/styles.go        | 17 ++++++++++++-----
2 files changed, 17 insertions(+), 6 deletions(-)

Detailed changes

ui/pages/repo/filesitem.go 🔗

@@ -108,7 +108,11 @@ func (d FileItemDelegate) Render(w io.Writer, m list.Model, index int, listItem
 	sizeLen := lipgloss.Width(size)
 	if i.entry.IsTree() {
 		size = strings.Repeat(" ", sizeLen)
-		name = s.TreeFileDir.Render(name)
+		if index == m.Index() {
+			name = s.TreeFileDirActive.Render(name)
+		} else {
+			name = s.TreeFileDirInactive.Render(name)
+		}
 	}
 	var nameStyle, sizeStyle, modeStyle lipgloss.Style
 	mode := i.Mode()

ui/styles/styles.go 🔗

@@ -69,7 +69,8 @@ type Styles struct {
 	TreeItemSelector     lipgloss.Style
 	TreeItemActive       lipgloss.Style
 	TreeItemInactive     lipgloss.Style
-	TreeFileDir          lipgloss.Style
+	TreeFileDirInactive  lipgloss.Style
+	TreeFileDirActive    lipgloss.Style
 	TreeFileModeInactive lipgloss.Style
 	TreeFileModeActive   lipgloss.Style
 	TreeFileSizeInactive lipgloss.Style
@@ -97,6 +98,9 @@ type Styles struct {
 
 // DefaultStyles returns default styles for the UI.
 func DefaultStyles() *Styles {
+	highlightColor := lipgloss.Color("210")
+	highlightColorDim := lipgloss.Color("174")
+
 	s := new(Styles)
 
 	s.ActiveBorderColor = lipgloss.Color("62")
@@ -270,23 +274,26 @@ func DefaultStyles() *Styles {
 
 	s.TreeItemActive = s.TreeItemInactive.Copy().
 		Bold(true).
-		Foreground(lipgloss.Color("210"))
+		Foreground(highlightColor)
 
-	s.TreeFileDir = lipgloss.NewStyle().
+	s.TreeFileDirInactive = lipgloss.NewStyle().
 		Foreground(lipgloss.Color("39"))
 
+	s.TreeFileDirActive = lipgloss.NewStyle().
+		Foreground(highlightColor)
+
 	s.TreeFileModeInactive = s.TreeItemInactive.Copy().
 		Width(10).
 		Foreground(lipgloss.Color("243"))
 
 	s.TreeFileModeActive = s.TreeFileModeInactive.Copy().
-		Foreground(lipgloss.Color("174"))
+		Foreground(highlightColorDim)
 
 	s.TreeFileSizeInactive = s.TreeItemInactive.Copy().
 		Foreground(lipgloss.Color("243"))
 
 	s.TreeFileSizeActive = s.TreeItemInactive.Copy().
-		Foreground(lipgloss.Color("174"))
+		Foreground(highlightColorDim)
 
 	s.TreeFileContent = lipgloss.NewStyle()