diff --git a/internal/tui/components/dialogs/lazygit/lazygit.go b/internal/tui/components/dialogs/lazygit/lazygit.go index ef1c425b594f81a17f9752cdc4a83da64d3de30d..635dae6a57efcfdfe238612a087c4a48cf7c8efe 100644 --- a/internal/tui/components/dialogs/lazygit/lazygit.go +++ b/internal/tui/components/dialogs/lazygit/lazygit.go @@ -49,6 +49,10 @@ func colorToHex(c color.Color) string { } // createThemedConfig creates a temporary lazygit config file with Crush theme. +// Theme mappings align with Crush's UX patterns: +// - Borders: BorderFocus (purple) for active, Border (gray) for inactive +// - Selection: Primary (purple) background matches app's TextSelected style +// - Status: Success (green), Error (red), Info (blue), Warning (orange) func createThemedConfig() string { t := styles.CurrentTheme() @@ -89,17 +93,17 @@ func createThemedConfig() string { defaultFgColor: - default `, - colorToHex(t.BorderFocus), - colorToHex(t.Border), - colorToHex(t.Warning), - colorToHex(t.FgHalfMuted), - colorToHex(t.Primary), - colorToHex(t.BgSubtle), - colorToHex(t.Secondary), - colorToHex(t.BgOverlay), - colorToHex(t.Warning), - colorToHex(t.BgOverlay), - colorToHex(t.Error), + colorToHex(t.BorderFocus), // Active border: purple (Charple) + colorToHex(t.Border), // Inactive border: gray (Charcoal) + colorToHex(t.Info), // Search border: blue (Malibu) - calmer than warning + colorToHex(t.FgMuted), // Options text: muted gray (Squid) - matches help text + colorToHex(t.Primary), // Selected line bg: purple (Charple) - matches TextSelected + colorToHex(t.BgSubtle), // Inactive selected: subtle gray (Charcoal) + colorToHex(t.Success), // Cherry-picked fg: green (Guac) - positive action + colorToHex(t.BgSubtle), // Cherry-picked bg: subtle (Charcoal) + colorToHex(t.Info), // Marked base fg: blue (Malibu) - distinct from cherry + colorToHex(t.BgSubtle), // Marked base bg: subtle (Charcoal) + colorToHex(t.Error), // Unstaged changes: red (Sriracha) ) f, err := os.CreateTemp("", "crush-lazygit-*.yml")