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.