86 lines
4.0 KiB
Go
86 lines
4.0 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/charmbracelet/lipgloss"
|
|
)
|
|
|
|
func applyTheme(name string) error {
|
|
colorEnabled = true
|
|
switch name {
|
|
case "dark":
|
|
titleStyle = lipgloss.NewStyle().Bold(true).Foreground(lipgloss.Color("#F0B72F"))
|
|
dimStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("#777777"))
|
|
activeStyle = lipgloss.NewStyle().Bold(true).Foreground(lipgloss.Color("#FFFFFF")).Background(lipgloss.Color("#3B4261"))
|
|
okStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("#67C587"))
|
|
warnStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("#E5C07B"))
|
|
badStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("#E06C75"))
|
|
paneInactiveColor = lipgloss.Color("#50566F")
|
|
paneActiveColor = lipgloss.Color("#F0B72F")
|
|
authorPalette = []lipgloss.Color{
|
|
"#61AFEF", "#C678DD", "#56B6C2", "#E5C07B",
|
|
"#E06C75", "#98C379", "#D19A66", "#7FC8FF",
|
|
}
|
|
codeHighlightTheme = "github-dark"
|
|
markdownStyleName = "dark"
|
|
quoteRailStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("#777777"))
|
|
selectedLineBackground = "\x1b[48;5;24m"
|
|
suggestionRemoveBackground = "\x1b[48;5;52m"
|
|
suggestionAddBackground = "\x1b[48;5;22m"
|
|
changedRemoveBackground = "\x1b[48;2;55;0;0m"
|
|
changedAddBackground = "\x1b[48;2;0;55;0m"
|
|
case "light":
|
|
titleStyle = lipgloss.NewStyle().Bold(true).Foreground(lipgloss.Color("#9A6700"))
|
|
dimStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("#656D76"))
|
|
activeStyle = lipgloss.NewStyle().Bold(true).Foreground(lipgloss.Color("#FFFFFF")).Background(lipgloss.Color("#0969DA"))
|
|
okStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("#1A7F37"))
|
|
warnStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("#9A6700"))
|
|
badStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("#CF222E"))
|
|
paneInactiveColor = lipgloss.Color("#8C959F")
|
|
paneActiveColor = lipgloss.Color("#0969DA")
|
|
authorPalette = []lipgloss.Color{
|
|
"#0550AE", "#8250DF", "#0A706F", "#9A6700",
|
|
"#CF222E", "#116329", "#953800", "#0969DA",
|
|
}
|
|
codeHighlightTheme = "github"
|
|
markdownStyleName = "light"
|
|
quoteRailStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("#656D76"))
|
|
selectedLineBackground = "\x1b[48;5;153m"
|
|
suggestionRemoveBackground = "\x1b[48;5;224m"
|
|
suggestionAddBackground = "\x1b[48;5;194m"
|
|
changedRemoveBackground = "\x1b[48;2;255;170;170m"
|
|
changedAddBackground = "\x1b[48;2;170;230;170m"
|
|
case "high-contrast":
|
|
titleStyle = lipgloss.NewStyle().Bold(true).Underline(true).Foreground(lipgloss.Color("#FFFF00"))
|
|
dimStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("#FFFFFF"))
|
|
activeStyle = lipgloss.NewStyle().Bold(true).Reverse(true)
|
|
okStyle = lipgloss.NewStyle().Bold(true).Foreground(lipgloss.Color("#00FF00"))
|
|
warnStyle = lipgloss.NewStyle().Bold(true).Foreground(lipgloss.Color("#FFFF00"))
|
|
badStyle = lipgloss.NewStyle().Bold(true).Foreground(lipgloss.Color("#FF5555"))
|
|
paneInactiveColor, paneActiveColor = lipgloss.Color("#FFFFFF"), lipgloss.Color("#FFFF00")
|
|
authorPalette = []lipgloss.Color{"#00FFFF", "#FF55FF", "#FFFF00", "#00FF00", "#FFFFFF"}
|
|
codeHighlightTheme, markdownStyleName = "github-dark", "dark"
|
|
quoteRailStyle = lipgloss.NewStyle().Bold(true).Foreground(lipgloss.Color("#FFFFFF"))
|
|
selectedLineBackground = "\x1b[7m"
|
|
suggestionRemoveBackground, suggestionAddBackground = "\x1b[48;5;88m", "\x1b[48;5;28m"
|
|
changedRemoveBackground, changedAddBackground = "\x1b[48;5;88m", "\x1b[48;5;28m"
|
|
case "no-color":
|
|
colorEnabled = false
|
|
titleStyle = lipgloss.NewStyle()
|
|
dimStyle = lipgloss.NewStyle()
|
|
activeStyle = lipgloss.NewStyle().Reverse(true)
|
|
okStyle, warnStyle, badStyle = lipgloss.NewStyle(), lipgloss.NewStyle(), lipgloss.NewStyle()
|
|
paneInactiveColor, paneActiveColor = "", ""
|
|
authorPalette = []lipgloss.Color{""}
|
|
codeHighlightTheme, markdownStyleName = "github", "notty"
|
|
quoteRailStyle = lipgloss.NewStyle()
|
|
selectedLineBackground, suggestionRemoveBackground, suggestionAddBackground = "", "", ""
|
|
changedRemoveBackground, changedAddBackground = "", ""
|
|
default:
|
|
return fmt.Errorf("unknown theme %q", name)
|
|
}
|
|
commentMarkdownRenderers.Clear()
|
|
return nil
|
|
}
|