Documentation
¶
Index ¶
- func AvailableThemes() []string
- func CurrentThemeName() string
- func RegisterTheme(name string, theme Theme)
- func SetTheme(name string) error
- type BaseTheme
- func (t *BaseTheme) Accent() lipgloss.AdaptiveColor
- func (t *BaseTheme) Background() lipgloss.AdaptiveColor
- func (t *BaseTheme) BackgroundDarker() lipgloss.AdaptiveColor
- func (t *BaseTheme) BackgroundSecondary() lipgloss.AdaptiveColor
- func (t *BaseTheme) BorderDim() lipgloss.AdaptiveColor
- func (t *BaseTheme) BorderFocused() lipgloss.AdaptiveColor
- func (t *BaseTheme) BorderNormal() lipgloss.AdaptiveColor
- func (t *BaseTheme) DiffAdded() lipgloss.AdaptiveColor
- func (t *BaseTheme) DiffAddedBg() lipgloss.AdaptiveColor
- func (t *BaseTheme) DiffAddedLineNumberBg() lipgloss.AdaptiveColor
- func (t *BaseTheme) DiffContext() lipgloss.AdaptiveColor
- func (t *BaseTheme) DiffContextBg() lipgloss.AdaptiveColor
- func (t *BaseTheme) DiffHighlightAdded() lipgloss.AdaptiveColor
- func (t *BaseTheme) DiffHighlightRemoved() lipgloss.AdaptiveColor
- func (t *BaseTheme) DiffHunkHeader() lipgloss.AdaptiveColor
- func (t *BaseTheme) DiffLineNumber() lipgloss.AdaptiveColor
- func (t *BaseTheme) DiffRemoved() lipgloss.AdaptiveColor
- func (t *BaseTheme) DiffRemovedBg() lipgloss.AdaptiveColor
- func (t *BaseTheme) DiffRemovedLineNumberBg() lipgloss.AdaptiveColor
- func (t *BaseTheme) Error() lipgloss.AdaptiveColor
- func (t *BaseTheme) Info() lipgloss.AdaptiveColor
- func (t *BaseTheme) MarkdownBlockQuote() lipgloss.AdaptiveColor
- func (t *BaseTheme) MarkdownCode() lipgloss.AdaptiveColor
- func (t *BaseTheme) MarkdownCodeBlock() lipgloss.AdaptiveColor
- func (t *BaseTheme) MarkdownEmph() lipgloss.AdaptiveColor
- func (t *BaseTheme) MarkdownHeading() lipgloss.AdaptiveColor
- func (t *BaseTheme) MarkdownHorizontalRule() lipgloss.AdaptiveColor
- func (t *BaseTheme) MarkdownImage() lipgloss.AdaptiveColor
- func (t *BaseTheme) MarkdownImageText() lipgloss.AdaptiveColor
- func (t *BaseTheme) MarkdownLink() lipgloss.AdaptiveColor
- func (t *BaseTheme) MarkdownLinkText() lipgloss.AdaptiveColor
- func (t *BaseTheme) MarkdownListEnumeration() lipgloss.AdaptiveColor
- func (t *BaseTheme) MarkdownListItem() lipgloss.AdaptiveColor
- func (t *BaseTheme) MarkdownStrong() lipgloss.AdaptiveColor
- func (t *BaseTheme) MarkdownText() lipgloss.AdaptiveColor
- func (t *BaseTheme) Primary() lipgloss.AdaptiveColor
- func (t *BaseTheme) Secondary() lipgloss.AdaptiveColor
- func (t *BaseTheme) Success() lipgloss.AdaptiveColor
- func (t *BaseTheme) SyntaxComment() lipgloss.AdaptiveColor
- func (t *BaseTheme) SyntaxFunction() lipgloss.AdaptiveColor
- func (t *BaseTheme) SyntaxKeyword() lipgloss.AdaptiveColor
- func (t *BaseTheme) SyntaxNumber() lipgloss.AdaptiveColor
- func (t *BaseTheme) SyntaxOperator() lipgloss.AdaptiveColor
- func (t *BaseTheme) SyntaxPunctuation() lipgloss.AdaptiveColor
- func (t *BaseTheme) SyntaxString() lipgloss.AdaptiveColor
- func (t *BaseTheme) SyntaxType() lipgloss.AdaptiveColor
- func (t *BaseTheme) SyntaxVariable() lipgloss.AdaptiveColor
- func (t *BaseTheme) Text() lipgloss.AdaptiveColor
- func (t *BaseTheme) TextEmphasized() lipgloss.AdaptiveColor
- func (t *BaseTheme) TextMuted() lipgloss.AdaptiveColor
- func (t *BaseTheme) Warning() lipgloss.AdaptiveColor
- type CatppuccinTheme
- type DraculaTheme
- type FlexokiTheme
- type GruvboxTheme
- type Manager
- type MonokaiProTheme
- type OneDarkTheme
- type OpenCodeTheme
- type Theme
- type TokyoNightTheme
- type TronTheme
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AvailableThemes ¶
func AvailableThemes() []string
AvailableThemes returns a list of all registered theme names.
func CurrentThemeName ¶
func CurrentThemeName() string
CurrentThemeName returns the name of the currently active theme.
func RegisterTheme ¶
RegisterTheme adds a new theme to the registry. If this is the first theme registered, it becomes the default.
Types ¶
type BaseTheme ¶
type BaseTheme struct {
// Base colors
PrimaryColor lipgloss.AdaptiveColor
SecondaryColor lipgloss.AdaptiveColor
AccentColor lipgloss.AdaptiveColor
// Status colors
ErrorColor lipgloss.AdaptiveColor
WarningColor lipgloss.AdaptiveColor
SuccessColor lipgloss.AdaptiveColor
InfoColor lipgloss.AdaptiveColor
// Text colors
TextColor lipgloss.AdaptiveColor
TextMutedColor lipgloss.AdaptiveColor
TextEmphasizedColor lipgloss.AdaptiveColor
// Background colors
BackgroundColor lipgloss.AdaptiveColor
BackgroundSecondaryColor lipgloss.AdaptiveColor
BackgroundDarkerColor lipgloss.AdaptiveColor
// Border colors
BorderNormalColor lipgloss.AdaptiveColor
BorderFocusedColor lipgloss.AdaptiveColor
BorderDimColor lipgloss.AdaptiveColor
// Diff view colors
DiffAddedColor lipgloss.AdaptiveColor
DiffRemovedColor lipgloss.AdaptiveColor
DiffContextColor lipgloss.AdaptiveColor
DiffHunkHeaderColor lipgloss.AdaptiveColor
DiffHighlightAddedColor lipgloss.AdaptiveColor
DiffHighlightRemovedColor lipgloss.AdaptiveColor
DiffAddedBgColor lipgloss.AdaptiveColor
DiffRemovedBgColor lipgloss.AdaptiveColor
DiffContextBgColor lipgloss.AdaptiveColor
DiffLineNumberColor lipgloss.AdaptiveColor
DiffAddedLineNumberBgColor lipgloss.AdaptiveColor
DiffRemovedLineNumberBgColor lipgloss.AdaptiveColor
// Markdown colors
MarkdownTextColor lipgloss.AdaptiveColor
MarkdownHeadingColor lipgloss.AdaptiveColor
MarkdownLinkColor lipgloss.AdaptiveColor
MarkdownLinkTextColor lipgloss.AdaptiveColor
MarkdownCodeColor lipgloss.AdaptiveColor
MarkdownBlockQuoteColor lipgloss.AdaptiveColor
MarkdownEmphColor lipgloss.AdaptiveColor
MarkdownStrongColor lipgloss.AdaptiveColor
MarkdownHorizontalRuleColor lipgloss.AdaptiveColor
MarkdownListItemColor lipgloss.AdaptiveColor
MarkdownListEnumerationColor lipgloss.AdaptiveColor
MarkdownImageColor lipgloss.AdaptiveColor
MarkdownImageTextColor lipgloss.AdaptiveColor
MarkdownCodeBlockColor lipgloss.AdaptiveColor
// Syntax highlighting colors
SyntaxCommentColor lipgloss.AdaptiveColor
SyntaxKeywordColor lipgloss.AdaptiveColor
SyntaxFunctionColor lipgloss.AdaptiveColor
SyntaxVariableColor lipgloss.AdaptiveColor
SyntaxStringColor lipgloss.AdaptiveColor
SyntaxNumberColor lipgloss.AdaptiveColor
SyntaxTypeColor lipgloss.AdaptiveColor
SyntaxOperatorColor lipgloss.AdaptiveColor
SyntaxPunctuationColor lipgloss.AdaptiveColor
}
BaseTheme provides a default implementation of the Theme interface that can be embedded in concrete theme implementations.
func (*BaseTheme) Accent ¶
func (t *BaseTheme) Accent() lipgloss.AdaptiveColor
func (*BaseTheme) Background ¶
func (t *BaseTheme) Background() lipgloss.AdaptiveColor
func (*BaseTheme) BackgroundDarker ¶
func (t *BaseTheme) BackgroundDarker() lipgloss.AdaptiveColor
func (*BaseTheme) BackgroundSecondary ¶
func (t *BaseTheme) BackgroundSecondary() lipgloss.AdaptiveColor
func (*BaseTheme) BorderDim ¶
func (t *BaseTheme) BorderDim() lipgloss.AdaptiveColor
func (*BaseTheme) BorderFocused ¶
func (t *BaseTheme) BorderFocused() lipgloss.AdaptiveColor
func (*BaseTheme) BorderNormal ¶
func (t *BaseTheme) BorderNormal() lipgloss.AdaptiveColor
func (*BaseTheme) DiffAdded ¶
func (t *BaseTheme) DiffAdded() lipgloss.AdaptiveColor
func (*BaseTheme) DiffAddedBg ¶
func (t *BaseTheme) DiffAddedBg() lipgloss.AdaptiveColor
func (*BaseTheme) DiffAddedLineNumberBg ¶
func (t *BaseTheme) DiffAddedLineNumberBg() lipgloss.AdaptiveColor
func (*BaseTheme) DiffContext ¶
func (t *BaseTheme) DiffContext() lipgloss.AdaptiveColor
func (*BaseTheme) DiffContextBg ¶
func (t *BaseTheme) DiffContextBg() lipgloss.AdaptiveColor
func (*BaseTheme) DiffHighlightAdded ¶
func (t *BaseTheme) DiffHighlightAdded() lipgloss.AdaptiveColor
func (*BaseTheme) DiffHighlightRemoved ¶
func (t *BaseTheme) DiffHighlightRemoved() lipgloss.AdaptiveColor
func (*BaseTheme) DiffHunkHeader ¶
func (t *BaseTheme) DiffHunkHeader() lipgloss.AdaptiveColor
func (*BaseTheme) DiffLineNumber ¶
func (t *BaseTheme) DiffLineNumber() lipgloss.AdaptiveColor
func (*BaseTheme) DiffRemoved ¶
func (t *BaseTheme) DiffRemoved() lipgloss.AdaptiveColor
func (*BaseTheme) DiffRemovedBg ¶
func (t *BaseTheme) DiffRemovedBg() lipgloss.AdaptiveColor
func (*BaseTheme) DiffRemovedLineNumberBg ¶
func (t *BaseTheme) DiffRemovedLineNumberBg() lipgloss.AdaptiveColor
func (*BaseTheme) Error ¶
func (t *BaseTheme) Error() lipgloss.AdaptiveColor
func (*BaseTheme) Info ¶
func (t *BaseTheme) Info() lipgloss.AdaptiveColor
func (*BaseTheme) MarkdownBlockQuote ¶
func (t *BaseTheme) MarkdownBlockQuote() lipgloss.AdaptiveColor
func (*BaseTheme) MarkdownCode ¶
func (t *BaseTheme) MarkdownCode() lipgloss.AdaptiveColor
func (*BaseTheme) MarkdownCodeBlock ¶
func (t *BaseTheme) MarkdownCodeBlock() lipgloss.AdaptiveColor
func (*BaseTheme) MarkdownEmph ¶
func (t *BaseTheme) MarkdownEmph() lipgloss.AdaptiveColor
func (*BaseTheme) MarkdownHeading ¶
func (t *BaseTheme) MarkdownHeading() lipgloss.AdaptiveColor
func (*BaseTheme) MarkdownHorizontalRule ¶
func (t *BaseTheme) MarkdownHorizontalRule() lipgloss.AdaptiveColor
func (*BaseTheme) MarkdownImage ¶
func (t *BaseTheme) MarkdownImage() lipgloss.AdaptiveColor
func (*BaseTheme) MarkdownImageText ¶
func (t *BaseTheme) MarkdownImageText() lipgloss.AdaptiveColor
func (*BaseTheme) MarkdownLink ¶
func (t *BaseTheme) MarkdownLink() lipgloss.AdaptiveColor
func (*BaseTheme) MarkdownLinkText ¶
func (t *BaseTheme) MarkdownLinkText() lipgloss.AdaptiveColor
func (*BaseTheme) MarkdownListEnumeration ¶
func (t *BaseTheme) MarkdownListEnumeration() lipgloss.AdaptiveColor
func (*BaseTheme) MarkdownListItem ¶
func (t *BaseTheme) MarkdownListItem() lipgloss.AdaptiveColor
func (*BaseTheme) MarkdownStrong ¶
func (t *BaseTheme) MarkdownStrong() lipgloss.AdaptiveColor
func (*BaseTheme) MarkdownText ¶
func (t *BaseTheme) MarkdownText() lipgloss.AdaptiveColor
func (*BaseTheme) Primary ¶
func (t *BaseTheme) Primary() lipgloss.AdaptiveColor
Implement the Theme interface for BaseTheme
func (*BaseTheme) Secondary ¶
func (t *BaseTheme) Secondary() lipgloss.AdaptiveColor
func (*BaseTheme) Success ¶
func (t *BaseTheme) Success() lipgloss.AdaptiveColor
func (*BaseTheme) SyntaxComment ¶
func (t *BaseTheme) SyntaxComment() lipgloss.AdaptiveColor
func (*BaseTheme) SyntaxFunction ¶
func (t *BaseTheme) SyntaxFunction() lipgloss.AdaptiveColor
func (*BaseTheme) SyntaxKeyword ¶
func (t *BaseTheme) SyntaxKeyword() lipgloss.AdaptiveColor
func (*BaseTheme) SyntaxNumber ¶
func (t *BaseTheme) SyntaxNumber() lipgloss.AdaptiveColor
func (*BaseTheme) SyntaxOperator ¶
func (t *BaseTheme) SyntaxOperator() lipgloss.AdaptiveColor
func (*BaseTheme) SyntaxPunctuation ¶
func (t *BaseTheme) SyntaxPunctuation() lipgloss.AdaptiveColor
func (*BaseTheme) SyntaxString ¶
func (t *BaseTheme) SyntaxString() lipgloss.AdaptiveColor
func (*BaseTheme) SyntaxType ¶
func (t *BaseTheme) SyntaxType() lipgloss.AdaptiveColor
func (*BaseTheme) SyntaxVariable ¶
func (t *BaseTheme) SyntaxVariable() lipgloss.AdaptiveColor
func (*BaseTheme) Text ¶
func (t *BaseTheme) Text() lipgloss.AdaptiveColor
func (*BaseTheme) TextEmphasized ¶
func (t *BaseTheme) TextEmphasized() lipgloss.AdaptiveColor
func (*BaseTheme) TextMuted ¶
func (t *BaseTheme) TextMuted() lipgloss.AdaptiveColor
func (*BaseTheme) Warning ¶
func (t *BaseTheme) Warning() lipgloss.AdaptiveColor
type CatppuccinTheme ¶
type CatppuccinTheme struct {
BaseTheme
}
CatppuccinTheme implements the Theme interface with Catppuccin colors. It provides both dark (Mocha) and light (Latte) variants.
func NewCatppuccinTheme ¶
func NewCatppuccinTheme() *CatppuccinTheme
NewCatppuccinTheme creates a new instance of the Catppuccin theme.
type DraculaTheme ¶
type DraculaTheme struct {
BaseTheme
}
DraculaTheme implements the Theme interface with Dracula colors. It provides both dark and light variants, though Dracula is primarily a dark theme.
func NewDraculaTheme ¶
func NewDraculaTheme() *DraculaTheme
NewDraculaTheme creates a new instance of the Dracula theme.
type FlexokiTheme ¶
type FlexokiTheme struct {
BaseTheme
}
FlexokiTheme implements the Theme interface with Flexoki colors. It provides both dark and light variants.
func NewFlexokiTheme ¶
func NewFlexokiTheme() *FlexokiTheme
NewFlexokiTheme creates a new instance of the Flexoki theme.
type GruvboxTheme ¶
type GruvboxTheme struct {
BaseTheme
}
GruvboxTheme implements the Theme interface with Gruvbox colors. It provides both dark and light variants.
func NewGruvboxTheme ¶
func NewGruvboxTheme() *GruvboxTheme
NewGruvboxTheme creates a new instance of the Gruvbox theme.
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager handles theme registration, selection, and retrieval. It maintains a registry of available themes and tracks the currently active theme.
type MonokaiProTheme ¶
type MonokaiProTheme struct {
BaseTheme
}
MonokaiProTheme implements the Theme interface with Monokai Pro colors. It provides both dark and light variants.
func NewMonokaiProTheme ¶
func NewMonokaiProTheme() *MonokaiProTheme
NewMonokaiProTheme creates a new instance of the Monokai Pro theme.
type OneDarkTheme ¶
type OneDarkTheme struct {
BaseTheme
}
OneDarkTheme implements the Theme interface with Atom's One Dark colors. It provides both dark and light variants.
func NewOneDarkTheme ¶
func NewOneDarkTheme() *OneDarkTheme
NewOneDarkTheme creates a new instance of the One Dark theme.
type OpenCodeTheme ¶
type OpenCodeTheme struct {
BaseTheme
}
OpenCodeTheme implements the Theme interface with OpenCode brand colors. It provides both dark and light variants.
func NewOpenCodeTheme ¶
func NewOpenCodeTheme() *OpenCodeTheme
NewOpenCodeTheme creates a new instance of the OpenCode theme.
type Theme ¶
type Theme interface {
// Base colors
Primary() lipgloss.AdaptiveColor
Secondary() lipgloss.AdaptiveColor
Accent() lipgloss.AdaptiveColor
// Status colors
Error() lipgloss.AdaptiveColor
Warning() lipgloss.AdaptiveColor
Success() lipgloss.AdaptiveColor
Info() lipgloss.AdaptiveColor
// Text colors
Text() lipgloss.AdaptiveColor
TextMuted() lipgloss.AdaptiveColor
TextEmphasized() lipgloss.AdaptiveColor
// Background colors
Background() lipgloss.AdaptiveColor
BackgroundSecondary() lipgloss.AdaptiveColor
BackgroundDarker() lipgloss.AdaptiveColor
// Border colors
BorderNormal() lipgloss.AdaptiveColor
BorderFocused() lipgloss.AdaptiveColor
BorderDim() lipgloss.AdaptiveColor
// Diff view colors
DiffAdded() lipgloss.AdaptiveColor
DiffRemoved() lipgloss.AdaptiveColor
DiffContext() lipgloss.AdaptiveColor
DiffHunkHeader() lipgloss.AdaptiveColor
DiffHighlightAdded() lipgloss.AdaptiveColor
DiffHighlightRemoved() lipgloss.AdaptiveColor
DiffAddedBg() lipgloss.AdaptiveColor
DiffRemovedBg() lipgloss.AdaptiveColor
DiffContextBg() lipgloss.AdaptiveColor
DiffLineNumber() lipgloss.AdaptiveColor
DiffAddedLineNumberBg() lipgloss.AdaptiveColor
DiffRemovedLineNumberBg() lipgloss.AdaptiveColor
// Markdown colors
MarkdownText() lipgloss.AdaptiveColor
MarkdownHeading() lipgloss.AdaptiveColor
MarkdownLink() lipgloss.AdaptiveColor
MarkdownLinkText() lipgloss.AdaptiveColor
MarkdownCode() lipgloss.AdaptiveColor
MarkdownBlockQuote() lipgloss.AdaptiveColor
MarkdownEmph() lipgloss.AdaptiveColor
MarkdownStrong() lipgloss.AdaptiveColor
MarkdownHorizontalRule() lipgloss.AdaptiveColor
MarkdownListItem() lipgloss.AdaptiveColor
MarkdownListEnumeration() lipgloss.AdaptiveColor
MarkdownImage() lipgloss.AdaptiveColor
MarkdownImageText() lipgloss.AdaptiveColor
MarkdownCodeBlock() lipgloss.AdaptiveColor
// Syntax highlighting colors
SyntaxComment() lipgloss.AdaptiveColor
SyntaxKeyword() lipgloss.AdaptiveColor
SyntaxFunction() lipgloss.AdaptiveColor
SyntaxVariable() lipgloss.AdaptiveColor
SyntaxString() lipgloss.AdaptiveColor
SyntaxNumber() lipgloss.AdaptiveColor
SyntaxType() lipgloss.AdaptiveColor
SyntaxOperator() lipgloss.AdaptiveColor
SyntaxPunctuation() lipgloss.AdaptiveColor
}
Theme defines the interface for all UI themes in the application. All colors must be defined as lipgloss.AdaptiveColor to support both light and dark terminal backgrounds.
func CurrentTheme ¶
func CurrentTheme() Theme
CurrentTheme returns the currently active theme. If no theme is set, it returns nil.
type TokyoNightTheme ¶
type TokyoNightTheme struct {
BaseTheme
}
TokyoNightTheme implements the Theme interface with Tokyo Night colors. It provides both dark and light variants.
func NewTokyoNightTheme ¶
func NewTokyoNightTheme() *TokyoNightTheme
NewTokyoNightTheme creates a new instance of the Tokyo Night theme.
type TronTheme ¶
type TronTheme struct {
BaseTheme
}
TronTheme implements the Theme interface with Tron-inspired colors. It provides both dark and light variants, though Tron is primarily a dark theme.
func NewTronTheme ¶
func NewTronTheme() *TronTheme
NewTronTheme creates a new instance of the Tron theme.