Documentation
¶
Index ¶
Constants ¶
const ( ThemeDark = "dark" ThemeLight = "light" )
Theme name constants. Two palettes are shipped — keep this list in sync with the cycle in app.go (cycleTheme) and the catalog in PaletteFor.
const ( Space0 = 0 Space1 = 1 Space2 = 2 Space3 = 3 Space4 = 4 Space6 = 6 Space8 = 8 )
Spacing tokens (in terminal cells / chars).
Variables ¶
var ( BorderNone = lipgloss.HiddenBorder() BorderHair = lipgloss.NormalBorder() BorderThin = lipgloss.ThickBorder() // use sparingly BorderRounded = lipgloss.RoundedBorder() BorderDouble = lipgloss.DoubleBorder() )
Border styles.
var LightPalette = paletteSet{ Base: lipgloss.Color("#fdf6e3"), Surface: lipgloss.Color("#eee8d5"), Subtle: lipgloss.Color("#d8c890"), Overlay: lipgloss.Color("#93a1a1"), Text: lipgloss.Color("#073642"), Muted: lipgloss.Color("#586e75"), Faint: lipgloss.Color("#93a1a1"), Primary: lipgloss.Color("#b58900"), Accent: lipgloss.Color("#cb4b16"), Accent2: lipgloss.Color("#d33682"), Success: lipgloss.Color("#859900"), Warning: lipgloss.Color("#cb4b16"), Danger: lipgloss.Color("#dc322f"), Info: lipgloss.Color("#268bd2"), Critical: lipgloss.Color("#dc322f"), High: lipgloss.Color("#cb4b16"), Medium: lipgloss.Color("#b58900"), Low: lipgloss.Color("#586e75"), InfoSev: lipgloss.Color("#268bd2"), }
LightPalette — warm light theme based on Solarized Light. Picked for daytime / projector use; contrast checked at WCAG AA for body text.
var Palette = paletteSet{ Base: lipgloss.Color("#1e1e2e"), Surface: lipgloss.Color("#313244"), Subtle: lipgloss.Color("#45475a"), Overlay: lipgloss.Color("#585b70"), Text: lipgloss.Color("#cdd6f4"), Muted: lipgloss.Color("#a6adc8"), Faint: lipgloss.Color("#6c7086"), Primary: lipgloss.Color("#cba6f7"), Accent: lipgloss.Color("#94e2d5"), Accent2: lipgloss.Color("#b4befe"), Success: lipgloss.Color("#a6e3a1"), Warning: lipgloss.Color("#f9e2af"), Danger: lipgloss.Color("#f38ba8"), Info: lipgloss.Color("#89b4fa"), Critical: lipgloss.Color("#ff5555"), High: lipgloss.Color("#fab387"), Medium: lipgloss.Color("#f9e2af"), Low: lipgloss.Color("#a6adc8"), InfoSev: lipgloss.Color("#74c7ec"), }
Palette — the dark (default) palette. Single source of truth for all colors when no theme override is active. Catppuccin Mocha tuned for dark terminals.
Functions ¶
func PaletteFor ¶
func PaletteFor(name string) *paletteSet
PaletteFor returns the palette matching the named theme. Unknown names fall back to the dark palette so a stale config never wedges the TUI.
Types ¶
type Styles ¶
type Styles struct {
// App-level
App lipgloss.Style
Header lipgloss.Style
Divider lipgloss.Style
Title lipgloss.Style
Subtitle lipgloss.Style
Breadcrumb lipgloss.Style
// Containers
Panel lipgloss.Style
PanelActive lipgloss.Style
Card lipgloss.Style
Box lipgloss.Style
// Text
Text lipgloss.Style
Muted lipgloss.Style
Faint lipgloss.Style
Bold lipgloss.Style
Italic lipgloss.Style
Code lipgloss.Style
CodeBlock lipgloss.Style
Link lipgloss.Style
Help lipgloss.Style
// Status
Success lipgloss.Style
Warning lipgloss.Style
Danger lipgloss.Style
Info lipgloss.Style
Running lipgloss.Style
Skipped lipgloss.Style
// Severity (security)
Critical lipgloss.Style
High lipgloss.Style
Medium lipgloss.Style
Low lipgloss.Style
SevInfo lipgloss.Style
// Menu
MenuItem lipgloss.Style
MenuItemActive lipgloss.Style
MenuItemSelected lipgloss.Style
MenuIcon lipgloss.Style
MenuShortcut lipgloss.Style
MenuDesc lipgloss.Style
// Table
TableHeader lipgloss.Style
TableCell lipgloss.Style
TableRow lipgloss.Style
// Progress
ProgressBar lipgloss.Style
ProgressTrack lipgloss.Style
Spinner lipgloss.Style
// Search
SearchInput lipgloss.Style
SearchPrompt lipgloss.Style
SearchMatch lipgloss.Style
// Modal
Modal lipgloss.Style
ModalBackdrop lipgloss.Style
// Button
Button lipgloss.Style
ButtonActive lipgloss.Style
ButtonDanger lipgloss.Style
// Tab
Tab lipgloss.Style
TabActive lipgloss.Style
TabInactive lipgloss.Style
// Toast
Toast lipgloss.Style
}
Styles bundles every reusable style. Components compose these via .Copy() rather than defining new ad-hoc styles, to keep the visual language tight.