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",
|
|
},
|
|
}
|
|
} |