83 lines
1.7 KiB
Go
83 lines
1.7 KiB
Go
package ui
|
|
|
|
import (
|
|
"github.com/charmbracelet/lipgloss"
|
|
)
|
|
|
|
// base - background
|
|
// surface - not active popups, inputs, etc
|
|
// overlay - active popups, inputs ,etc
|
|
// muted - ignored, not needed
|
|
// subtle - inactive tabs, items, etc
|
|
// text - text color
|
|
// err - errors
|
|
// info - informational messages
|
|
// cyan, green, blue, magenta - accessory colors for styling
|
|
|
|
type rosepine struct {
|
|
base lipgloss.AdaptiveColor
|
|
surface lipgloss.AdaptiveColor
|
|
overlay lipgloss.AdaptiveColor
|
|
muted lipgloss.AdaptiveColor
|
|
subtle lipgloss.AdaptiveColor
|
|
text lipgloss.AdaptiveColor
|
|
err lipgloss.AdaptiveColor
|
|
info lipgloss.AdaptiveColor
|
|
cyan lipgloss.AdaptiveColor
|
|
green lipgloss.AdaptiveColor
|
|
blue lipgloss.AdaptiveColor
|
|
magenta lipgloss.AdaptiveColor
|
|
}
|
|
|
|
func MakeTheme() rosepine {
|
|
return rosepine{
|
|
base: lipgloss.AdaptiveColor{
|
|
Light:"#faf4ed",
|
|
Dark:"#232136",
|
|
},
|
|
surface: lipgloss.AdaptiveColor{
|
|
Light:"#fffaf3",
|
|
Dark:"#2a273f",
|
|
},
|
|
overlay: lipgloss.AdaptiveColor{
|
|
Light:"#f2e9e1",
|
|
Dark:"#393552",
|
|
},
|
|
muted: lipgloss.AdaptiveColor{
|
|
Light:"#9893a5",
|
|
Dark:"#6e6a86",
|
|
},
|
|
subtle: lipgloss.AdaptiveColor{
|
|
Light:"#797593",
|
|
Dark:"#908caa",
|
|
},
|
|
text: lipgloss.AdaptiveColor{
|
|
Light:"#575279",
|
|
Dark:"#e0def4",
|
|
},
|
|
err: lipgloss.AdaptiveColor{
|
|
Light:"#b4637a",
|
|
Dark:"#eb6f92",
|
|
},
|
|
info: lipgloss.AdaptiveColor{
|
|
Light:"#ea9d34",
|
|
Dark:"#f6c177",
|
|
},
|
|
cyan: lipgloss.AdaptiveColor{
|
|
Light:"#d7827e",
|
|
Dark:"#ea9a97",
|
|
},
|
|
green: lipgloss.AdaptiveColor{
|
|
Light:"#286983",
|
|
Dark:"#3e8fb0",
|
|
},
|
|
blue: lipgloss.AdaptiveColor{
|
|
Light:"#56949f",
|
|
Dark:"#9ccfd8",
|
|
},
|
|
magenta: lipgloss.AdaptiveColor{
|
|
Light:"#907aa9",
|
|
Dark:"#c4a7e7",
|
|
},
|
|
}
|
|
} |