836 lines
32 KiB
Go
836 lines
32 KiB
Go
package theme
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
|
|
"github.com/charmbracelet/lipgloss"
|
|
)
|
|
|
|
type Palette struct {
|
|
Name string
|
|
Background lipgloss.Color
|
|
Panel lipgloss.Color
|
|
PanelInactive lipgloss.Color
|
|
PanelElevated lipgloss.Color
|
|
StatusBar lipgloss.Color
|
|
Footer lipgloss.Color
|
|
Border lipgloss.Color
|
|
BorderActive lipgloss.Color
|
|
Text lipgloss.Color
|
|
Muted lipgloss.Color
|
|
Accent lipgloss.Color
|
|
Info lipgloss.Color
|
|
Success lipgloss.Color
|
|
Selection lipgloss.Color
|
|
Hover lipgloss.Color
|
|
Marked lipgloss.Color
|
|
Warning lipgloss.Color
|
|
Danger lipgloss.Color
|
|
ActivePath lipgloss.Color
|
|
ConfirmButton lipgloss.Color
|
|
CancelButton lipgloss.Color
|
|
ProgressFill lipgloss.Color
|
|
ProgressEmpty lipgloss.Color
|
|
HelpNav lipgloss.Color
|
|
HelpPanels lipgloss.Color
|
|
HelpDialogs lipgloss.Color
|
|
HelpMouse lipgloss.Color
|
|
Folder lipgloss.Color
|
|
TextFile lipgloss.Color
|
|
ConfigFile lipgloss.Color
|
|
ExecFile lipgloss.Color
|
|
ImageFile lipgloss.Color
|
|
BinaryFile lipgloss.Color
|
|
FooterKey lipgloss.Color
|
|
}
|
|
|
|
var builtInThemes = []string{
|
|
"catppuccin-mocha",
|
|
"catppuccin-macchiato",
|
|
"catppuccin-lavender",
|
|
"tokyo-night",
|
|
"gruvbox-dark",
|
|
"nord",
|
|
"one-dark",
|
|
"everforest",
|
|
"github-dark",
|
|
"ayu-dark",
|
|
"breeze",
|
|
"cyberpunk",
|
|
"dracula",
|
|
"eldritch",
|
|
"kanagawa",
|
|
"kanagawa-paper",
|
|
"rose-pine",
|
|
"solarized-dark",
|
|
"vesper",
|
|
}
|
|
|
|
func Names() []string {
|
|
values := make([]string, len(builtInThemes))
|
|
copy(values, builtInThemes)
|
|
return values
|
|
}
|
|
|
|
func Next(current string) string {
|
|
values := Names()
|
|
if len(values) == 0 {
|
|
return current
|
|
}
|
|
current = strings.ToLower(strings.TrimSpace(current))
|
|
for idx, value := range values {
|
|
if value == current {
|
|
return values[(idx+1)%len(values)]
|
|
}
|
|
}
|
|
return values[0]
|
|
}
|
|
|
|
func Resolve(name string) (Palette, error) {
|
|
switch strings.ToLower(name) {
|
|
case "catppuccin-mocha":
|
|
return Palette{
|
|
Name: "catppuccin-mocha",
|
|
Background: lipgloss.Color("#11111B"),
|
|
Panel: lipgloss.Color("#181825"),
|
|
PanelInactive: lipgloss.Color("#1E1E2E"),
|
|
PanelElevated: lipgloss.Color("#24273A"),
|
|
StatusBar: lipgloss.Color("#1E1E2E"),
|
|
Footer: lipgloss.Color("#11111B"),
|
|
Border: lipgloss.Color("#45475A"),
|
|
BorderActive: lipgloss.Color("#89B4FA"),
|
|
Text: lipgloss.Color("#CDD6F4"),
|
|
Muted: lipgloss.Color("#A6ADC8"),
|
|
Accent: lipgloss.Color("#F5C2E7"),
|
|
Info: lipgloss.Color("#89DCEB"),
|
|
Success: lipgloss.Color("#A6E3A1"),
|
|
Selection: lipgloss.Color("#313244"),
|
|
Hover: lipgloss.Color("#2A2B3C"),
|
|
Marked: lipgloss.Color("#F38BA8"),
|
|
Warning: lipgloss.Color("#F9E2AF"),
|
|
Danger: lipgloss.Color("#F38BA8"),
|
|
ActivePath: lipgloss.Color("#89DCEB"),
|
|
ConfirmButton: lipgloss.Color("#A6E3A1"),
|
|
CancelButton: lipgloss.Color("#F38BA8"),
|
|
ProgressFill: lipgloss.Color("#89B4FA"),
|
|
ProgressEmpty: lipgloss.Color("#45475A"),
|
|
HelpNav: lipgloss.Color("#89B4FA"),
|
|
HelpPanels: lipgloss.Color("#F9E2AF"),
|
|
HelpDialogs: lipgloss.Color("#CBA6F7"),
|
|
HelpMouse: lipgloss.Color("#F38BA8"),
|
|
Folder: lipgloss.Color("#89B4FA"),
|
|
TextFile: lipgloss.Color("#A6E3A1"),
|
|
ConfigFile: lipgloss.Color("#F9E2AF"),
|
|
ExecFile: lipgloss.Color("#FAB387"),
|
|
ImageFile: lipgloss.Color("#94E2D5"),
|
|
BinaryFile: lipgloss.Color("#CBA6F7"),
|
|
FooterKey: lipgloss.Color("#89DCEB"),
|
|
}, nil
|
|
|
|
case "catppuccin-lavender":
|
|
return Palette{
|
|
Name: "catppuccin-lavender",
|
|
Background: lipgloss.Color("#11111B"),
|
|
Panel: lipgloss.Color("#181825"),
|
|
PanelInactive: lipgloss.Color("#1E1E2E"),
|
|
PanelElevated: lipgloss.Color("#24273A"),
|
|
StatusBar: lipgloss.Color("#1E1E2E"),
|
|
Footer: lipgloss.Color("#11111B"),
|
|
Border: lipgloss.Color("#45475A"),
|
|
BorderActive: lipgloss.Color("#B4BEFE"),
|
|
Text: lipgloss.Color("#CDD6F4"),
|
|
Muted: lipgloss.Color("#A6ADC8"),
|
|
Accent: lipgloss.Color("#B4BEFE"),
|
|
Info: lipgloss.Color("#89DCEB"),
|
|
Success: lipgloss.Color("#A6E3A1"),
|
|
Selection: lipgloss.Color("#313244"),
|
|
Hover: lipgloss.Color("#2A2B3C"),
|
|
Marked: lipgloss.Color("#F38BA8"),
|
|
Warning: lipgloss.Color("#F9E2AF"),
|
|
Danger: lipgloss.Color("#F38BA8"),
|
|
ActivePath: lipgloss.Color("#B4BEFE"),
|
|
ConfirmButton: lipgloss.Color("#A6E3A1"),
|
|
CancelButton: lipgloss.Color("#F38BA8"),
|
|
ProgressFill: lipgloss.Color("#B4BEFE"),
|
|
ProgressEmpty: lipgloss.Color("#45475A"),
|
|
HelpNav: lipgloss.Color("#B4BEFE"),
|
|
HelpPanels: lipgloss.Color("#F9E2AF"),
|
|
HelpDialogs: lipgloss.Color("#CBA6F7"),
|
|
HelpMouse: lipgloss.Color("#F38BA8"),
|
|
Folder: lipgloss.Color("#B4BEFE"),
|
|
TextFile: lipgloss.Color("#A6E3A1"),
|
|
ConfigFile: lipgloss.Color("#F9E2AF"),
|
|
ExecFile: lipgloss.Color("#FAB387"),
|
|
ImageFile: lipgloss.Color("#89DCEB"),
|
|
BinaryFile: lipgloss.Color("#CBA6F7"),
|
|
FooterKey: lipgloss.Color("#B4BEFE"),
|
|
}, nil
|
|
|
|
case "tokyo-night":
|
|
return Palette{
|
|
Name: "tokyo-night",
|
|
Background: lipgloss.Color("#16161E"),
|
|
Panel: lipgloss.Color("#1A1B26"),
|
|
PanelInactive: lipgloss.Color("#24283B"),
|
|
PanelElevated: lipgloss.Color("#2A2F44"),
|
|
StatusBar: lipgloss.Color("#24283B"),
|
|
Footer: lipgloss.Color("#16161E"),
|
|
Border: lipgloss.Color("#3B4261"),
|
|
BorderActive: lipgloss.Color("#7AA2F7"),
|
|
Text: lipgloss.Color("#C0CAF5"),
|
|
Muted: lipgloss.Color("#9AA5CE"),
|
|
Accent: lipgloss.Color("#BB9AF7"),
|
|
Info: lipgloss.Color("#73DACA"),
|
|
Success: lipgloss.Color("#9ECE6A"),
|
|
Selection: lipgloss.Color("#292E42"),
|
|
Hover: lipgloss.Color("#252A3D"),
|
|
Marked: lipgloss.Color("#F7768E"),
|
|
Warning: lipgloss.Color("#E0AF68"),
|
|
Danger: lipgloss.Color("#F7768E"),
|
|
ActivePath: lipgloss.Color("#73DACA"),
|
|
ConfirmButton: lipgloss.Color("#9ECE6A"),
|
|
CancelButton: lipgloss.Color("#F7768E"),
|
|
ProgressFill: lipgloss.Color("#7AA2F7"),
|
|
ProgressEmpty: lipgloss.Color("#3B4261"),
|
|
HelpNav: lipgloss.Color("#7AA2F7"),
|
|
HelpPanels: lipgloss.Color("#E0AF68"),
|
|
HelpDialogs: lipgloss.Color("#BB9AF7"),
|
|
HelpMouse: lipgloss.Color("#F7768E"),
|
|
Folder: lipgloss.Color("#7AA2F7"),
|
|
TextFile: lipgloss.Color("#9ECE6A"),
|
|
ConfigFile: lipgloss.Color("#E0AF68"),
|
|
ExecFile: lipgloss.Color("#FF9E64"),
|
|
ImageFile: lipgloss.Color("#73DACA"),
|
|
BinaryFile: lipgloss.Color("#BB9AF7"),
|
|
FooterKey: lipgloss.Color("#73DACA"),
|
|
}, nil
|
|
|
|
case "gruvbox-dark":
|
|
return Palette{
|
|
Name: name,
|
|
Background: lipgloss.Color("#1D2021"),
|
|
Panel: lipgloss.Color("#282828"),
|
|
PanelInactive: lipgloss.Color("#32302F"),
|
|
PanelElevated: lipgloss.Color("#3C3836"),
|
|
StatusBar: lipgloss.Color("#32302F"),
|
|
Footer: lipgloss.Color("#1D2021"),
|
|
Border: lipgloss.Color("#504945"),
|
|
BorderActive: lipgloss.Color("#FABD2F"),
|
|
Text: lipgloss.Color("#EBDBB2"),
|
|
Muted: lipgloss.Color("#BDAE93"),
|
|
Accent: lipgloss.Color("#83A598"),
|
|
Info: lipgloss.Color("#8EC07C"),
|
|
Success: lipgloss.Color("#B8BB26"),
|
|
Selection: lipgloss.Color("#3C3836"),
|
|
Hover: lipgloss.Color("#45403D"),
|
|
Marked: lipgloss.Color("#FB4934"),
|
|
Warning: lipgloss.Color("#FE8019"),
|
|
Danger: lipgloss.Color("#FB4934"),
|
|
ActivePath: lipgloss.Color("#8EC07C"),
|
|
ConfirmButton: lipgloss.Color("#B8BB26"),
|
|
CancelButton: lipgloss.Color("#FB4934"),
|
|
ProgressFill: lipgloss.Color("#FABD2F"),
|
|
ProgressEmpty: lipgloss.Color("#504945"),
|
|
HelpNav: lipgloss.Color("#83A598"),
|
|
HelpPanels: lipgloss.Color("#FABD2F"),
|
|
HelpDialogs: lipgloss.Color("#D3869B"),
|
|
HelpMouse: lipgloss.Color("#FB4934"),
|
|
Folder: lipgloss.Color("#83A598"),
|
|
TextFile: lipgloss.Color("#B8BB26"),
|
|
ConfigFile: lipgloss.Color("#FABD2F"),
|
|
ExecFile: lipgloss.Color("#FE8019"),
|
|
ImageFile: lipgloss.Color("#8EC07C"),
|
|
BinaryFile: lipgloss.Color("#D3869B"),
|
|
FooterKey: lipgloss.Color("#8EC07C"),
|
|
}, nil
|
|
|
|
case "nord":
|
|
return Palette{
|
|
Name: name,
|
|
Background: lipgloss.Color("#2E3440"),
|
|
Panel: lipgloss.Color("#3B4252"),
|
|
PanelInactive: lipgloss.Color("#434C5E"),
|
|
PanelElevated: lipgloss.Color("#4C566A"),
|
|
StatusBar: lipgloss.Color("#434C5E"),
|
|
Footer: lipgloss.Color("#2E3440"),
|
|
Border: lipgloss.Color("#4C566A"),
|
|
BorderActive: lipgloss.Color("#88C0D0"),
|
|
Text: lipgloss.Color("#ECEFF4"),
|
|
Muted: lipgloss.Color("#D8DEE9"),
|
|
Accent: lipgloss.Color("#81A1C1"),
|
|
Info: lipgloss.Color("#8FBCBB"),
|
|
Success: lipgloss.Color("#A3BE8C"),
|
|
Selection: lipgloss.Color("#434C5E"),
|
|
Hover: lipgloss.Color("#505A70"),
|
|
Marked: lipgloss.Color("#BF616A"),
|
|
Warning: lipgloss.Color("#EBCB8B"),
|
|
Danger: lipgloss.Color("#BF616A"),
|
|
ActivePath: lipgloss.Color("#8FBCBB"),
|
|
ConfirmButton: lipgloss.Color("#A3BE8C"),
|
|
CancelButton: lipgloss.Color("#BF616A"),
|
|
ProgressFill: lipgloss.Color("#88C0D0"),
|
|
ProgressEmpty: lipgloss.Color("#4C566A"),
|
|
HelpNav: lipgloss.Color("#81A1C1"),
|
|
HelpPanels: lipgloss.Color("#EBCB8B"),
|
|
HelpDialogs: lipgloss.Color("#B48EAD"),
|
|
HelpMouse: lipgloss.Color("#BF616A"),
|
|
Folder: lipgloss.Color("#81A1C1"),
|
|
TextFile: lipgloss.Color("#A3BE8C"),
|
|
ConfigFile: lipgloss.Color("#EBCB8B"),
|
|
ExecFile: lipgloss.Color("#D08770"),
|
|
ImageFile: lipgloss.Color("#8FBCBB"),
|
|
BinaryFile: lipgloss.Color("#B48EAD"),
|
|
FooterKey: lipgloss.Color("#8FBCBB"),
|
|
}, nil
|
|
|
|
case "one-dark":
|
|
return Palette{
|
|
Name: "one-dark",
|
|
Background: lipgloss.Color("#282C34"),
|
|
Panel: lipgloss.Color("#21252B"),
|
|
PanelInactive: lipgloss.Color("#1B1D23"),
|
|
PanelElevated: lipgloss.Color("#2C313A"),
|
|
StatusBar: lipgloss.Color("#21252B"),
|
|
Footer: lipgloss.Color("#282C34"),
|
|
Border: lipgloss.Color("#3B4048"),
|
|
BorderActive: lipgloss.Color("#61AFEF"),
|
|
Text: lipgloss.Color("#ABB2BF"),
|
|
Muted: lipgloss.Color("#5C6370"),
|
|
Accent: lipgloss.Color("#61AFEF"),
|
|
Info: lipgloss.Color("#56B6C2"),
|
|
Success: lipgloss.Color("#98C379"),
|
|
Selection: lipgloss.Color("#3E4451"),
|
|
Hover: lipgloss.Color("#333841"),
|
|
Marked: lipgloss.Color("#E06C75"),
|
|
Warning: lipgloss.Color("#E5C07B"),
|
|
Danger: lipgloss.Color("#E06C75"),
|
|
ActivePath: lipgloss.Color("#56B6C2"),
|
|
ConfirmButton: lipgloss.Color("#98C379"),
|
|
CancelButton: lipgloss.Color("#E06C75"),
|
|
ProgressFill: lipgloss.Color("#61AFEF"),
|
|
ProgressEmpty: lipgloss.Color("#3B4048"),
|
|
HelpNav: lipgloss.Color("#61AFEF"),
|
|
HelpPanels: lipgloss.Color("#E5C07B"),
|
|
HelpDialogs: lipgloss.Color("#C678DD"),
|
|
HelpMouse: lipgloss.Color("#E06C75"),
|
|
Folder: lipgloss.Color("#61AFEF"),
|
|
TextFile: lipgloss.Color("#98C379"),
|
|
ConfigFile: lipgloss.Color("#E5C07B"),
|
|
ExecFile: lipgloss.Color("#D19A66"),
|
|
ImageFile: lipgloss.Color("#56B6C2"),
|
|
BinaryFile: lipgloss.Color("#C678DD"),
|
|
FooterKey: lipgloss.Color("#56B6C2"),
|
|
}, nil
|
|
|
|
case "everforest":
|
|
return Palette{
|
|
Name: "everforest",
|
|
Background: lipgloss.Color("#2D353B"),
|
|
Panel: lipgloss.Color("#272E33"),
|
|
PanelInactive: lipgloss.Color("#232A2E"),
|
|
PanelElevated: lipgloss.Color("#333C43"),
|
|
StatusBar: lipgloss.Color("#232A2E"),
|
|
Footer: lipgloss.Color("#2D353B"),
|
|
Border: lipgloss.Color("#475258"),
|
|
BorderActive: lipgloss.Color("#A7C080"),
|
|
Text: lipgloss.Color("#D3C6AA"),
|
|
Muted: lipgloss.Color("#859289"),
|
|
Accent: lipgloss.Color("#A7C080"),
|
|
Info: lipgloss.Color("#83C092"),
|
|
Success: lipgloss.Color("#A7C080"),
|
|
Selection: lipgloss.Color("#3A454A"),
|
|
Hover: lipgloss.Color("#364147"),
|
|
Marked: lipgloss.Color("#E67E80"),
|
|
Warning: lipgloss.Color("#DBBC7F"),
|
|
Danger: lipgloss.Color("#E67E80"),
|
|
ActivePath: lipgloss.Color("#83C092"),
|
|
ConfirmButton: lipgloss.Color("#A7C080"),
|
|
CancelButton: lipgloss.Color("#E67E80"),
|
|
ProgressFill: lipgloss.Color("#A7C080"),
|
|
ProgressEmpty: lipgloss.Color("#475258"),
|
|
HelpNav: lipgloss.Color("#A7C080"),
|
|
HelpPanels: lipgloss.Color("#DBBC7F"),
|
|
HelpDialogs: lipgloss.Color("#D699B6"),
|
|
HelpMouse: lipgloss.Color("#E67E80"),
|
|
Folder: lipgloss.Color("#A7C080"),
|
|
TextFile: lipgloss.Color("#D3C6AA"),
|
|
ConfigFile: lipgloss.Color("#DBBC7F"),
|
|
ExecFile: lipgloss.Color("#E69875"),
|
|
ImageFile: lipgloss.Color("#83C092"),
|
|
BinaryFile: lipgloss.Color("#D699B6"),
|
|
FooterKey: lipgloss.Color("#83C092"),
|
|
}, nil
|
|
|
|
case "github-dark":
|
|
return Palette{
|
|
Name: "github-dark",
|
|
Background: lipgloss.Color("#0D1117"),
|
|
Panel: lipgloss.Color("#161B22"),
|
|
PanelInactive: lipgloss.Color("#1C2128"),
|
|
PanelElevated: lipgloss.Color("#21262D"),
|
|
StatusBar: lipgloss.Color("#1C2128"),
|
|
Footer: lipgloss.Color("#0D1117"),
|
|
Border: lipgloss.Color("#30363D"),
|
|
BorderActive: lipgloss.Color("#58A6FF"),
|
|
Text: lipgloss.Color("#E6EDF3"),
|
|
Muted: lipgloss.Color("#8B949E"),
|
|
Accent: lipgloss.Color("#58A6FF"),
|
|
Info: lipgloss.Color("#39D353"),
|
|
Success: lipgloss.Color("#3FB950"),
|
|
Selection: lipgloss.Color("#21262D"),
|
|
Hover: lipgloss.Color("#262C36"),
|
|
Marked: lipgloss.Color("#F85149"),
|
|
Warning: lipgloss.Color("#D29922"),
|
|
Danger: lipgloss.Color("#F85149"),
|
|
ActivePath: lipgloss.Color("#39D353"),
|
|
ConfirmButton: lipgloss.Color("#3FB950"),
|
|
CancelButton: lipgloss.Color("#F85149"),
|
|
ProgressFill: lipgloss.Color("#58A6FF"),
|
|
ProgressEmpty: lipgloss.Color("#30363D"),
|
|
HelpNav: lipgloss.Color("#58A6FF"),
|
|
HelpPanels: lipgloss.Color("#D29922"),
|
|
HelpDialogs: lipgloss.Color("#BC8CFF"),
|
|
HelpMouse: lipgloss.Color("#F85149"),
|
|
Folder: lipgloss.Color("#58A6FF"),
|
|
TextFile: lipgloss.Color("#7EE787"),
|
|
ConfigFile: lipgloss.Color("#D29922"),
|
|
ExecFile: lipgloss.Color("#F0883E"),
|
|
ImageFile: lipgloss.Color("#39D353"),
|
|
BinaryFile: lipgloss.Color("#BC8CFF"),
|
|
FooterKey: lipgloss.Color("#39D353"),
|
|
}, nil
|
|
|
|
case "catppuccin-macchiato":
|
|
return Palette{
|
|
Name: "catppuccin-macchiato",
|
|
Background: lipgloss.Color("#181926"),
|
|
Panel: lipgloss.Color("#1E2030"),
|
|
PanelInactive: lipgloss.Color("#24273A"),
|
|
PanelElevated: lipgloss.Color("#2A2E3F"),
|
|
StatusBar: lipgloss.Color("#24273A"),
|
|
Footer: lipgloss.Color("#181926"),
|
|
Border: lipgloss.Color("#363A4F"),
|
|
BorderActive: lipgloss.Color("#C6A0F6"),
|
|
Text: lipgloss.Color("#CAD3F5"),
|
|
Muted: lipgloss.Color("#A5ADCB"),
|
|
Accent: lipgloss.Color("#C6A0F6"),
|
|
Info: lipgloss.Color("#91D7E3"),
|
|
Success: lipgloss.Color("#A6DA95"),
|
|
Selection: lipgloss.Color("#363A4F"),
|
|
Hover: lipgloss.Color("#2E3248"),
|
|
Marked: lipgloss.Color("#ED8796"),
|
|
Warning: lipgloss.Color("#F5A97F"),
|
|
Danger: lipgloss.Color("#ED8796"),
|
|
ActivePath: lipgloss.Color("#91D7E3"),
|
|
ConfirmButton: lipgloss.Color("#A6DA95"),
|
|
CancelButton: lipgloss.Color("#ED8796"),
|
|
ProgressFill: lipgloss.Color("#C6A0F6"),
|
|
ProgressEmpty: lipgloss.Color("#363A4F"),
|
|
HelpNav: lipgloss.Color("#C6A0F6"),
|
|
HelpPanels: lipgloss.Color("#F5A97F"),
|
|
HelpDialogs: lipgloss.Color("#C6A0F6"),
|
|
HelpMouse: lipgloss.Color("#ED8796"),
|
|
Folder: lipgloss.Color("#C6A0F6"),
|
|
TextFile: lipgloss.Color("#A6DA95"),
|
|
ConfigFile: lipgloss.Color("#F5A97F"),
|
|
ExecFile: lipgloss.Color("#EE99A0"),
|
|
ImageFile: lipgloss.Color("#91D7E3"),
|
|
BinaryFile: lipgloss.Color("#C6A0F6"),
|
|
FooterKey: lipgloss.Color("#91D7E3"),
|
|
}, nil
|
|
|
|
case "ayu-dark":
|
|
return Palette{
|
|
Name: "ayu-dark",
|
|
Background: lipgloss.Color("#0A0E14"),
|
|
Panel: lipgloss.Color("#0D1017"),
|
|
PanelInactive: lipgloss.Color("#11151D"),
|
|
PanelElevated: lipgloss.Color("#151A23"),
|
|
StatusBar: lipgloss.Color("#11151D"),
|
|
Footer: lipgloss.Color("#0A0E14"),
|
|
Border: lipgloss.Color("#1F2430"),
|
|
BorderActive: lipgloss.Color("#FFCC66"),
|
|
Text: lipgloss.Color("#B3B1AD"),
|
|
Muted: lipgloss.Color("#565B66"),
|
|
Accent: lipgloss.Color("#FF8F40"),
|
|
Info: lipgloss.Color("#95E6CB"),
|
|
Success: lipgloss.Color("#7FD962"),
|
|
Selection: lipgloss.Color("#1F2430"),
|
|
Hover: lipgloss.Color("#191E27"),
|
|
Marked: lipgloss.Color("#F26D78"),
|
|
Warning: lipgloss.Color("#FFCC66"),
|
|
Danger: lipgloss.Color("#F26D78"),
|
|
ActivePath: lipgloss.Color("#95E6CB"),
|
|
ConfirmButton: lipgloss.Color("#7FD962"),
|
|
CancelButton: lipgloss.Color("#F26D78"),
|
|
ProgressFill: lipgloss.Color("#FFCC66"),
|
|
ProgressEmpty: lipgloss.Color("#1F2430"),
|
|
HelpNav: lipgloss.Color("#FF8F40"),
|
|
HelpPanels: lipgloss.Color("#FFCC66"),
|
|
HelpDialogs: lipgloss.Color("#D4A0FF"),
|
|
HelpMouse: lipgloss.Color("#F26D78"),
|
|
Folder: lipgloss.Color("#FF8F40"),
|
|
TextFile: lipgloss.Color("#B3B1AD"),
|
|
ConfigFile: lipgloss.Color("#FFCC66"),
|
|
ExecFile: lipgloss.Color("#F29668"),
|
|
ImageFile: lipgloss.Color("#95E6CB"),
|
|
BinaryFile: lipgloss.Color("#D4A0FF"),
|
|
FooterKey: lipgloss.Color("#95E6CB"),
|
|
}, nil
|
|
|
|
case "breeze":
|
|
return Palette{
|
|
Name: "breeze",
|
|
Background: lipgloss.Color("#232629"),
|
|
Panel: lipgloss.Color("#2A2D30"),
|
|
PanelInactive: lipgloss.Color("#313437"),
|
|
PanelElevated: lipgloss.Color("#383B3E"),
|
|
StatusBar: lipgloss.Color("#313437"),
|
|
Footer: lipgloss.Color("#232629"),
|
|
Border: lipgloss.Color("#494D51"),
|
|
BorderActive: lipgloss.Color("#3DAEE9"),
|
|
Text: lipgloss.Color("#EFF0F1"),
|
|
Muted: lipgloss.Color("#B0B5BA"),
|
|
Accent: lipgloss.Color("#3DAEE9"),
|
|
Info: lipgloss.Color("#27E6A6"),
|
|
Success: lipgloss.Color("#27AE60"),
|
|
Selection: lipgloss.Color("#313437"),
|
|
Hover: lipgloss.Color("#35383B"),
|
|
Marked: lipgloss.Color("#ED1515"),
|
|
Warning: lipgloss.Color("#F67400"),
|
|
Danger: lipgloss.Color("#ED1515"),
|
|
ActivePath: lipgloss.Color("#27E6A6"),
|
|
ConfirmButton: lipgloss.Color("#27AE60"),
|
|
CancelButton: lipgloss.Color("#ED1515"),
|
|
ProgressFill: lipgloss.Color("#3DAEE9"),
|
|
ProgressEmpty: lipgloss.Color("#494D51"),
|
|
HelpNav: lipgloss.Color("#3DAEE9"),
|
|
HelpPanels: lipgloss.Color("#F67400"),
|
|
HelpDialogs: lipgloss.Color("#9B59B6"),
|
|
HelpMouse: lipgloss.Color("#ED1515"),
|
|
Folder: lipgloss.Color("#3DAEE9"),
|
|
TextFile: lipgloss.Color("#27AE60"),
|
|
ConfigFile: lipgloss.Color("#F67400"),
|
|
ExecFile: lipgloss.Color("#E67E22"),
|
|
ImageFile: lipgloss.Color("#27E6A6"),
|
|
BinaryFile: lipgloss.Color("#9B59B6"),
|
|
FooterKey: lipgloss.Color("#27E6A6"),
|
|
}, nil
|
|
|
|
case "cyberpunk":
|
|
return Palette{
|
|
Name: "cyberpunk",
|
|
Background: lipgloss.Color("#000B1A"),
|
|
Panel: lipgloss.Color("#0A1628"),
|
|
PanelInactive: lipgloss.Color("#0F1D30"),
|
|
PanelElevated: lipgloss.Color("#142338"),
|
|
StatusBar: lipgloss.Color("#0F1D30"),
|
|
Footer: lipgloss.Color("#000B1A"),
|
|
Border: lipgloss.Color("#1E3A5F"),
|
|
BorderActive: lipgloss.Color("#00FFF0"),
|
|
Text: lipgloss.Color("#E0E0E0"),
|
|
Muted: lipgloss.Color("#808080"),
|
|
Accent: lipgloss.Color("#FF00FF"),
|
|
Info: lipgloss.Color("#00FFF0"),
|
|
Success: lipgloss.Color("#00FF41"),
|
|
Selection: lipgloss.Color("#142338"),
|
|
Hover: lipgloss.Color("#192C42"),
|
|
Marked: lipgloss.Color("#FF0055"),
|
|
Warning: lipgloss.Color("#FFB000"),
|
|
Danger: lipgloss.Color("#FF0055"),
|
|
ActivePath: lipgloss.Color("#00FFF0"),
|
|
ConfirmButton: lipgloss.Color("#00FF41"),
|
|
CancelButton: lipgloss.Color("#FF0055"),
|
|
ProgressFill: lipgloss.Color("#FF00FF"),
|
|
ProgressEmpty: lipgloss.Color("#1E3A5F"),
|
|
HelpNav: lipgloss.Color("#FF00FF"),
|
|
HelpPanels: lipgloss.Color("#FFB000"),
|
|
HelpDialogs: lipgloss.Color("#FF00FF"),
|
|
HelpMouse: lipgloss.Color("#FF0055"),
|
|
Folder: lipgloss.Color("#00FFF0"),
|
|
TextFile: lipgloss.Color("#00FF41"),
|
|
ConfigFile: lipgloss.Color("#FFB000"),
|
|
ExecFile: lipgloss.Color("#FF6600"),
|
|
ImageFile: lipgloss.Color("#00FFF0"),
|
|
BinaryFile: lipgloss.Color("#FF00FF"),
|
|
FooterKey: lipgloss.Color("#00FFF0"),
|
|
}, nil
|
|
|
|
case "dracula":
|
|
return Palette{
|
|
Name: "dracula",
|
|
Background: lipgloss.Color("#21222C"),
|
|
Panel: lipgloss.Color("#282A36"),
|
|
PanelInactive: lipgloss.Color("#2F3242"),
|
|
PanelElevated: lipgloss.Color("#363850"),
|
|
StatusBar: lipgloss.Color("#2F3242"),
|
|
Footer: lipgloss.Color("#21222C"),
|
|
Border: lipgloss.Color("#44475A"),
|
|
BorderActive: lipgloss.Color("#BD93F9"),
|
|
Text: lipgloss.Color("#F8F8F2"),
|
|
Muted: lipgloss.Color("#6272A4"),
|
|
Accent: lipgloss.Color("#FF79C6"),
|
|
Info: lipgloss.Color("#8BE9FD"),
|
|
Success: lipgloss.Color("#50FA7B"),
|
|
Selection: lipgloss.Color("#44475A"),
|
|
Hover: lipgloss.Color("#3A3D52"),
|
|
Marked: lipgloss.Color("#FF5555"),
|
|
Warning: lipgloss.Color("#F1FA8C"),
|
|
Danger: lipgloss.Color("#FF5555"),
|
|
ActivePath: lipgloss.Color("#8BE9FD"),
|
|
ConfirmButton: lipgloss.Color("#50FA7B"),
|
|
CancelButton: lipgloss.Color("#FF5555"),
|
|
ProgressFill: lipgloss.Color("#FF79C6"),
|
|
ProgressEmpty: lipgloss.Color("#44475A"),
|
|
HelpNav: lipgloss.Color("#BD93F9"),
|
|
HelpPanels: lipgloss.Color("#F1FA8C"),
|
|
HelpDialogs: lipgloss.Color("#FF79C6"),
|
|
HelpMouse: lipgloss.Color("#FF5555"),
|
|
Folder: lipgloss.Color("#BD93F9"),
|
|
TextFile: lipgloss.Color("#50FA7B"),
|
|
ConfigFile: lipgloss.Color("#F1FA8C"),
|
|
ExecFile: lipgloss.Color("#FFB86C"),
|
|
ImageFile: lipgloss.Color("#8BE9FD"),
|
|
BinaryFile: lipgloss.Color("#FF79C6"),
|
|
FooterKey: lipgloss.Color("#8BE9FD"),
|
|
}, nil
|
|
|
|
case "eldritch":
|
|
return Palette{
|
|
Name: "eldritch",
|
|
Background: lipgloss.Color("#0B0D15"),
|
|
Panel: lipgloss.Color("#10121A"),
|
|
PanelInactive: lipgloss.Color("#161822"),
|
|
PanelElevated: lipgloss.Color("#1C1F2B"),
|
|
StatusBar: lipgloss.Color("#161822"),
|
|
Footer: lipgloss.Color("#0B0D15"),
|
|
Border: lipgloss.Color("#262A3B"),
|
|
BorderActive: lipgloss.Color("#67B0E8"),
|
|
Text: lipgloss.Color("#D3D7E0"),
|
|
Muted: lipgloss.Color("#8B8FA6"),
|
|
Accent: lipgloss.Color("#C278E8"),
|
|
Info: lipgloss.Color("#67B0E8"),
|
|
Success: lipgloss.Color("#74C287"),
|
|
Selection: lipgloss.Color("#1C1F2B"),
|
|
Hover: lipgloss.Color("#222638"),
|
|
Marked: lipgloss.Color("#E06868"),
|
|
Warning: lipgloss.Color("#E0A868"),
|
|
Danger: lipgloss.Color("#E06868"),
|
|
ActivePath: lipgloss.Color("#67B0E8"),
|
|
ConfirmButton: lipgloss.Color("#74C287"),
|
|
CancelButton: lipgloss.Color("#E06868"),
|
|
ProgressFill: lipgloss.Color("#C278E8"),
|
|
ProgressEmpty: lipgloss.Color("#262A3B"),
|
|
HelpNav: lipgloss.Color("#C278E8"),
|
|
HelpPanels: lipgloss.Color("#E0A868"),
|
|
HelpDialogs: lipgloss.Color("#C278E8"),
|
|
HelpMouse: lipgloss.Color("#E06868"),
|
|
Folder: lipgloss.Color("#67B0E8"),
|
|
TextFile: lipgloss.Color("#74C287"),
|
|
ConfigFile: lipgloss.Color("#E0A868"),
|
|
ExecFile: lipgloss.Color("#E08868"),
|
|
ImageFile: lipgloss.Color("#67B0E8"),
|
|
BinaryFile: lipgloss.Color("#C278E8"),
|
|
FooterKey: lipgloss.Color("#67B0E8"),
|
|
}, nil
|
|
|
|
case "kanagawa":
|
|
return Palette{
|
|
Name: "kanagawa",
|
|
Background: lipgloss.Color("#1F1F28"),
|
|
Panel: lipgloss.Color("#252535"),
|
|
PanelInactive: lipgloss.Color("#2A2A3C"),
|
|
PanelElevated: lipgloss.Color("#363646"),
|
|
StatusBar: lipgloss.Color("#2A2A3C"),
|
|
Footer: lipgloss.Color("#1F1F28"),
|
|
Border: lipgloss.Color("#54546D"),
|
|
BorderActive: lipgloss.Color("#7FB4CA"),
|
|
Text: lipgloss.Color("#DCD7BA"),
|
|
Muted: lipgloss.Color("#938AA9"),
|
|
Accent: lipgloss.Color("#DCA561"),
|
|
Info: lipgloss.Color("#7FB4CA"),
|
|
Success: lipgloss.Color("#76946A"),
|
|
Selection: lipgloss.Color("#363646"),
|
|
Hover: lipgloss.Color("#30304A"),
|
|
Marked: lipgloss.Color("#C34043"),
|
|
Warning: lipgloss.Color("#DCA561"),
|
|
Danger: lipgloss.Color("#C34043"),
|
|
ActivePath: lipgloss.Color("#7FB4CA"),
|
|
ConfirmButton: lipgloss.Color("#76946A"),
|
|
CancelButton: lipgloss.Color("#C34043"),
|
|
ProgressFill: lipgloss.Color("#DCA561"),
|
|
ProgressEmpty: lipgloss.Color("#54546D"),
|
|
HelpNav: lipgloss.Color("#DCA561"),
|
|
HelpPanels: lipgloss.Color("#DCA561"),
|
|
HelpDialogs: lipgloss.Color("#957FB8"),
|
|
HelpMouse: lipgloss.Color("#C34043"),
|
|
Folder: lipgloss.Color("#7FB4CA"),
|
|
TextFile: lipgloss.Color("#76946A"),
|
|
ConfigFile: lipgloss.Color("#DCA561"),
|
|
ExecFile: lipgloss.Color("#E6C384"),
|
|
ImageFile: lipgloss.Color("#7FB4CA"),
|
|
BinaryFile: lipgloss.Color("#957FB8"),
|
|
FooterKey: lipgloss.Color("#7FB4CA"),
|
|
}, nil
|
|
|
|
case "kanagawa-paper":
|
|
return Palette{
|
|
Name: "kanagawa-paper",
|
|
Background: lipgloss.Color("#1A1A22"),
|
|
Panel: lipgloss.Color("#222233"),
|
|
PanelInactive: lipgloss.Color("#2A2A3E"),
|
|
PanelElevated: lipgloss.Color("#323248"),
|
|
StatusBar: lipgloss.Color("#2A2A3E"),
|
|
Footer: lipgloss.Color("#1A1A22"),
|
|
Border: lipgloss.Color("#4A4A5E"),
|
|
BorderActive: lipgloss.Color("#9EC1C9"),
|
|
Text: lipgloss.Color("#C8C2B0"),
|
|
Muted: lipgloss.Color("#8B849E"),
|
|
Accent: lipgloss.Color("#C0A36E"),
|
|
Info: lipgloss.Color("#9EC1C9"),
|
|
Success: lipgloss.Color("#8EAA7A"),
|
|
Selection: lipgloss.Color("#323248"),
|
|
Hover: lipgloss.Color("#2C2C42"),
|
|
Marked: lipgloss.Color("#B5534E"),
|
|
Warning: lipgloss.Color("#C0A36E"),
|
|
Danger: lipgloss.Color("#B5534E"),
|
|
ActivePath: lipgloss.Color("#9EC1C9"),
|
|
ConfirmButton: lipgloss.Color("#8EAA7A"),
|
|
CancelButton: lipgloss.Color("#B5534E"),
|
|
ProgressFill: lipgloss.Color("#C0A36E"),
|
|
ProgressEmpty: lipgloss.Color("#4A4A5E"),
|
|
HelpNav: lipgloss.Color("#C0A36E"),
|
|
HelpPanels: lipgloss.Color("#C0A36E"),
|
|
HelpDialogs: lipgloss.Color("#A58DB8"),
|
|
HelpMouse: lipgloss.Color("#B5534E"),
|
|
Folder: lipgloss.Color("#9EC1C9"),
|
|
TextFile: lipgloss.Color("#8EAA7A"),
|
|
ConfigFile: lipgloss.Color("#C0A36E"),
|
|
ExecFile: lipgloss.Color("#D4BE8A"),
|
|
ImageFile: lipgloss.Color("#9EC1C9"),
|
|
BinaryFile: lipgloss.Color("#A58DB8"),
|
|
FooterKey: lipgloss.Color("#9EC1C9"),
|
|
}, nil
|
|
|
|
case "rose-pine":
|
|
return Palette{
|
|
Name: "rose-pine",
|
|
Background: lipgloss.Color("#191724"),
|
|
Panel: lipgloss.Color("#1F1D2E"),
|
|
PanelInactive: lipgloss.Color("#26233A"),
|
|
PanelElevated: lipgloss.Color("#2A273F"),
|
|
StatusBar: lipgloss.Color("#26233A"),
|
|
Footer: lipgloss.Color("#191724"),
|
|
Border: lipgloss.Color("#3B355A"),
|
|
BorderActive: lipgloss.Color("#C4A7E7"),
|
|
Text: lipgloss.Color("#E0DEF4"),
|
|
Muted: lipgloss.Color("#908CAA"),
|
|
Accent: lipgloss.Color("#EB6F92"),
|
|
Info: lipgloss.Color("#9CCFD8"),
|
|
Success: lipgloss.Color("#3E8FB0"),
|
|
Selection: lipgloss.Color("#312F44"),
|
|
Hover: lipgloss.Color("#2A2740"),
|
|
Marked: lipgloss.Color("#EB6F92"),
|
|
Warning: lipgloss.Color("#F6C177"),
|
|
Danger: lipgloss.Color("#EB6F92"),
|
|
ActivePath: lipgloss.Color("#9CCFD8"),
|
|
ConfirmButton: lipgloss.Color("#3E8FB0"),
|
|
CancelButton: lipgloss.Color("#EB6F92"),
|
|
ProgressFill: lipgloss.Color("#C4A7E7"),
|
|
ProgressEmpty: lipgloss.Color("#3B355A"),
|
|
HelpNav: lipgloss.Color("#C4A7E7"),
|
|
HelpPanels: lipgloss.Color("#F6C177"),
|
|
HelpDialogs: lipgloss.Color("#C4A7E7"),
|
|
HelpMouse: lipgloss.Color("#EB6F92"),
|
|
Folder: lipgloss.Color("#C4A7E7"),
|
|
TextFile: lipgloss.Color("#3E8FB0"),
|
|
ConfigFile: lipgloss.Color("#F6C177"),
|
|
ExecFile: lipgloss.Color("#E0DEF4"),
|
|
ImageFile: lipgloss.Color("#9CCFD8"),
|
|
BinaryFile: lipgloss.Color("#C4A7E7"),
|
|
FooterKey: lipgloss.Color("#9CCFD8"),
|
|
}, nil
|
|
|
|
case "solarized-dark":
|
|
return Palette{
|
|
Name: "solarized-dark",
|
|
Background: lipgloss.Color("#002B36"),
|
|
Panel: lipgloss.Color("#073642"),
|
|
PanelInactive: lipgloss.Color("#0D4A56"),
|
|
PanelElevated: lipgloss.Color("#125A68"),
|
|
StatusBar: lipgloss.Color("#0D4A56"),
|
|
Footer: lipgloss.Color("#002B36"),
|
|
Border: lipgloss.Color("#586E75"),
|
|
BorderActive: lipgloss.Color("#268BD2"),
|
|
Text: lipgloss.Color("#93A1A1"),
|
|
Muted: lipgloss.Color("#657B83"),
|
|
Accent: lipgloss.Color("#D33682"),
|
|
Info: lipgloss.Color("#2AA198"),
|
|
Success: lipgloss.Color("#859900"),
|
|
Selection: lipgloss.Color("#073642"),
|
|
Hover: lipgloss.Color("#0B4A56"),
|
|
Marked: lipgloss.Color("#DC322F"),
|
|
Warning: lipgloss.Color("#B58900"),
|
|
Danger: lipgloss.Color("#DC322F"),
|
|
ActivePath: lipgloss.Color("#2AA198"),
|
|
ConfirmButton: lipgloss.Color("#859900"),
|
|
CancelButton: lipgloss.Color("#DC322F"),
|
|
ProgressFill: lipgloss.Color("#268BD2"),
|
|
ProgressEmpty: lipgloss.Color("#586E75"),
|
|
HelpNav: lipgloss.Color("#268BD2"),
|
|
HelpPanels: lipgloss.Color("#B58900"),
|
|
HelpDialogs: lipgloss.Color("#D33682"),
|
|
HelpMouse: lipgloss.Color("#DC322F"),
|
|
Folder: lipgloss.Color("#268BD2"),
|
|
TextFile: lipgloss.Color("#859900"),
|
|
ConfigFile: lipgloss.Color("#B58900"),
|
|
ExecFile: lipgloss.Color("#CB4B16"),
|
|
ImageFile: lipgloss.Color("#2AA198"),
|
|
BinaryFile: lipgloss.Color("#D33682"),
|
|
FooterKey: lipgloss.Color("#2AA198"),
|
|
}, nil
|
|
|
|
case "vesper":
|
|
return Palette{
|
|
Name: "vesper",
|
|
Background: lipgloss.Color("#101010"),
|
|
Panel: lipgloss.Color("#181820"),
|
|
PanelInactive: lipgloss.Color("#1E1E30"),
|
|
PanelElevated: lipgloss.Color("#252540"),
|
|
StatusBar: lipgloss.Color("#1E1E30"),
|
|
Footer: lipgloss.Color("#101010"),
|
|
Border: lipgloss.Color("#303050"),
|
|
BorderActive: lipgloss.Color("#A0A0FF"),
|
|
Text: lipgloss.Color("#E0E0F0"),
|
|
Muted: lipgloss.Color("#8888AA"),
|
|
Accent: lipgloss.Color("#C0C0FF"),
|
|
Info: lipgloss.Color("#8080FF"),
|
|
Success: lipgloss.Color("#80FF80"),
|
|
Selection: lipgloss.Color("#252540"),
|
|
Hover: lipgloss.Color("#2A2A48"),
|
|
Marked: lipgloss.Color("#FF6080"),
|
|
Warning: lipgloss.Color("#FFB040"),
|
|
Danger: lipgloss.Color("#FF6080"),
|
|
ActivePath: lipgloss.Color("#8080FF"),
|
|
ConfirmButton: lipgloss.Color("#80FF80"),
|
|
CancelButton: lipgloss.Color("#FF6080"),
|
|
ProgressFill: lipgloss.Color("#C0C0FF"),
|
|
ProgressEmpty: lipgloss.Color("#303050"),
|
|
HelpNav: lipgloss.Color("#A0A0FF"),
|
|
HelpPanels: lipgloss.Color("#FFB040"),
|
|
HelpDialogs: lipgloss.Color("#C0C0FF"),
|
|
HelpMouse: lipgloss.Color("#FF6080"),
|
|
Folder: lipgloss.Color("#8080FF"),
|
|
TextFile: lipgloss.Color("#80FF80"),
|
|
ConfigFile: lipgloss.Color("#FFB040"),
|
|
ExecFile: lipgloss.Color("#FF8040"),
|
|
ImageFile: lipgloss.Color("#8080FF"),
|
|
BinaryFile: lipgloss.Color("#C0C0FF"),
|
|
FooterKey: lipgloss.Color("#8080FF"),
|
|
}, nil
|
|
|
|
default:
|
|
return Palette{}, fmt.Errorf("unknown theme %q", name)
|
|
}
|
|
}
|