5a70119860e10ac13b628bf0f2690c298da260c0

Author
Christian Rocha <christian@rocha.is>
Committer
Ayman Bagabas <ayman.bagabas@gmail.com>
Date

Message

feat: also apply highlight color to directory names

Diff

 1diff --git a/ui/pages/repo/filesitem.go b/ui/pages/repo/filesitem.go
 2index 2ca491ce7f5ba4f425a12679b463645cdd37ae78..9be5f4a76b0aa7f0044d0e08f83de22172048396 100644
 3--- a/ui/pages/repo/filesitem.go
 4+++ b/ui/pages/repo/filesitem.go
 5@@ -108,7 +108,11 @@ func (d FileItemDelegate) Render(w io.Writer, m list.Model, index int, listItem
 6 	sizeLen := lipgloss.Width(size)
 7 	if i.entry.IsTree() {
 8 		size = strings.Repeat(" ", sizeLen)
 9-		name = s.TreeFileDir.Render(name)
10+		if index == m.Index() {
11+			name = s.TreeFileDirActive.Render(name)
12+		} else {
13+			name = s.TreeFileDirInactive.Render(name)
14+		}
15 	}
16 	var nameStyle, sizeStyle, modeStyle lipgloss.Style
17 	mode := i.Mode()
18diff --git a/ui/styles/styles.go b/ui/styles/styles.go
19index 96ab269d568fb7bd49bee53c61a721ffb993e3f0..5e31984dd9bf1b3f3b65a6c095a3c4fd044b26f5 100644
20--- a/ui/styles/styles.go
21+++ b/ui/styles/styles.go
22@@ -69,7 +69,8 @@ type Styles struct {
23 	TreeItemSelector     lipgloss.Style
24 	TreeItemActive       lipgloss.Style
25 	TreeItemInactive     lipgloss.Style
26-	TreeFileDir          lipgloss.Style
27+	TreeFileDirInactive  lipgloss.Style
28+	TreeFileDirActive    lipgloss.Style
29 	TreeFileModeInactive lipgloss.Style
30 	TreeFileModeActive   lipgloss.Style
31 	TreeFileSizeInactive lipgloss.Style
32@@ -97,6 +98,9 @@ type Styles struct {
33 
34 // DefaultStyles returns default styles for the UI.
35 func DefaultStyles() *Styles {
36+	highlightColor := lipgloss.Color("210")
37+	highlightColorDim := lipgloss.Color("174")
38+
39 	s := new(Styles)
40 
41 	s.ActiveBorderColor = lipgloss.Color("62")
42@@ -270,23 +274,26 @@ func DefaultStyles() *Styles {
43 
44 	s.TreeItemActive = s.TreeItemInactive.Copy().
45 		Bold(true).
46-		Foreground(lipgloss.Color("210"))
47+		Foreground(highlightColor)
48 
49-	s.TreeFileDir = lipgloss.NewStyle().
50+	s.TreeFileDirInactive = lipgloss.NewStyle().
51 		Foreground(lipgloss.Color("39"))
52 
53+	s.TreeFileDirActive = lipgloss.NewStyle().
54+		Foreground(highlightColor)
55+
56 	s.TreeFileModeInactive = s.TreeItemInactive.Copy().
57 		Width(10).
58 		Foreground(lipgloss.Color("243"))
59 
60 	s.TreeFileModeActive = s.TreeFileModeInactive.Copy().
61-		Foreground(lipgloss.Color("174"))
62+		Foreground(highlightColorDim)
63 
64 	s.TreeFileSizeInactive = s.TreeItemInactive.Copy().
65 		Foreground(lipgloss.Color("243"))
66 
67 	s.TreeFileSizeActive = s.TreeItemInactive.Copy().
68-		Foreground(lipgloss.Color("174"))
69+		Foreground(highlightColorDim)
70 
71 	s.TreeFileContent = lipgloss.NewStyle()
72