Documentation
¶
Index ¶
- Constants
- func IsLightTheme(theme ui.Theme) bool
- func RenderTraceTree(roots []*telemetry.TraceSpan, style TreeStyle) string
- func SnippetStartLine(filePath, oldString string) int
- func ThemeIsDark(sp *Provider) bool
- type CharmTheme
- func (t *CharmTheme) GetAccentColor() string
- func (t *CharmTheme) GetAssistantColor() string
- func (t *CharmTheme) GetBorderColor() string
- func (t *CharmTheme) GetDiffAddColor() string
- func (t *CharmTheme) GetDiffRemoveColor() string
- func (t *CharmTheme) GetDimColor() string
- func (t *CharmTheme) GetErrorColor() string
- func (t *CharmTheme) GetStatusColor() string
- func (t *CharmTheme) GetSuccessColor() string
- func (t *CharmTheme) GetUserColor() string
- type DiffInfo
- type DiffRenderer
- func (d *DiffRenderer) RenderColoredDiff(oldContent, newContent string) string
- func (d *DiffRenderer) RenderDiff(info DiffInfo) string
- func (d *DiffRenderer) RenderEditToolArguments(args map[string]any) string
- func (d *DiffRenderer) RenderMultiEditToolArguments(args map[string]any) string
- func (d *DiffRenderer) RenderWriteToolArguments(args map[string]any) string
- func (d *DiffRenderer) SetContextLines(n int) *DiffRenderer
- func (d *DiffRenderer) SetMaxLines(n int) *DiffRenderer
- func (d *DiffRenderer) SetStartLine(n int) *DiffRenderer
- func (d *DiffRenderer) SetWidth(w int) *DiffRenderer
- type DiffStats
- type DraculaTheme
- func (t *DraculaTheme) GetAccentColor() string
- func (t *DraculaTheme) GetAssistantColor() string
- func (t *DraculaTheme) GetBorderColor() string
- func (t *DraculaTheme) GetDiffAddColor() string
- func (t *DraculaTheme) GetDiffRemoveColor() string
- func (t *DraculaTheme) GetDimColor() string
- func (t *DraculaTheme) GetErrorColor() string
- func (t *DraculaTheme) GetStatusColor() string
- func (t *DraculaTheme) GetSuccessColor() string
- func (t *DraculaTheme) GetUserColor() string
- type GithubLightTheme
- func (t *GithubLightTheme) GetAccentColor() string
- func (t *GithubLightTheme) GetAssistantColor() string
- func (t *GithubLightTheme) GetBorderColor() string
- func (t *GithubLightTheme) GetDiffAddColor() string
- func (t *GithubLightTheme) GetDiffRemoveColor() string
- func (t *GithubLightTheme) GetDimColor() string
- func (t *GithubLightTheme) GetErrorColor() string
- func (t *GithubLightTheme) GetStatusColor() string
- func (t *GithubLightTheme) GetSuccessColor() string
- func (t *GithubLightTheme) GetUserColor() string
- type Provider
- func (p *Provider) ClampToSize(s string, width, height int) string
- func (p *Provider) GetCurrentTheme() ui.Theme
- func (p *Provider) GetHeight(s string) int
- func (p *Provider) GetSpinnerStyle() lipgloss.Style
- func (p *Provider) GetThemeColor(colorName string) string
- func (p *Provider) GetThemeService() ui.ThemeService
- func (p *Provider) GetWidth(s string) int
- func (p *Provider) JoinHorizontal(strs ...string) string
- func (p *Provider) JoinVertical(strs ...string) string
- func (p *Provider) PlaceCenter(width, height int, content string) string
- func (p *Provider) PlaceCenterTop(width, height int, content string) string
- func (p *Provider) PlaceHorizontal(width int, left string, right string) string
- func (p *Provider) RenderApprovalButton(text string, selected bool, isApprove bool) string
- func (p *Provider) RenderAssistantText(text string) string
- func (p *Provider) RenderBold(text string) string
- func (p *Provider) RenderBoldText(text string) string
- func (p *Provider) RenderBordered(content string, width int) string
- func (p *Provider) RenderBorderedBox(text, borderColor string, paddingV, paddingH int) string
- func (p *Provider) RenderButton(text string, selected bool) string
- func (p *Provider) RenderCenteredBoldWithColor(text, hexColor string, width int) string
- func (p *Provider) RenderCenteredBorderedBox(text, borderColor string, width, height, paddingV, paddingH int) string
- func (p *Provider) RenderCodeBlock(code string, width int) string
- func (p *Provider) RenderCreatedText(text string) string
- func (p *Provider) RenderCursor(text string) string
- func (p *Provider) RenderDiffAddition(content string) string
- func (p *Provider) RenderDiffRemoval(content string) string
- func (p *Provider) RenderDimText(text string) string
- func (p *Provider) RenderErrorIcon(text string) string
- func (p *Provider) RenderErrorText(text string) string
- func (p *Provider) RenderHeader(text string, width int) string
- func (p *Provider) RenderInputField(content string, width int, focused bool, branchLabel string) string
- func (p *Provider) RenderInputPlaceholder(text string) string
- func (p *Provider) RenderLeftAlignedBorderedBox(text, borderColor string, width, height, paddingV, paddingH int) string
- func (p *Provider) RenderListItem(content string, selected bool) string
- func (p *Provider) RenderListItemWithDescription(title, description string, selected bool) string
- func (p *Provider) RenderMetricText(text string) string
- func (p *Provider) RenderModal(content string, width int) string
- func (p *Provider) RenderModalTitle(title string) string
- func (p *Provider) RenderPathText(text string) string
- func (p *Provider) RenderSelectedIndicator(text string) string
- func (p *Provider) RenderSeparator(width int, char string) string
- func (p *Provider) RenderSpinner(frame string) string
- func (p *Provider) RenderStatusBadge(text string, positive bool) string
- func (p *Provider) RenderStatusLine(content string) string
- func (p *Provider) RenderStyledText(text string, opts StyleOptions) string
- func (p *Provider) RenderSuccessIcon(text string) string
- func (p *Provider) RenderSuccessText(text string) string
- func (p *Provider) RenderTitledCard(content, title, borderColor, titleColor string, width int) string
- func (p *Provider) RenderTopAlignedBorderedBox(text, borderColor string, width, height, paddingV, paddingH int) string
- func (p *Provider) RenderUpdatedText(text string) string
- func (p *Provider) RenderUserText(text string) string
- func (p *Provider) RenderWarningText(text string) string
- func (p *Provider) RenderWithColor(text, hexColor string) string
- func (p *Provider) RenderWithColorAndBold(text, hexColor string) string
- func (p *Provider) ToolTitleColor(toolName string) string
- type StyleOptions
- type ThemeProvider
- func (tp *ThemeProvider) GetCurrentTheme() ui.Theme
- func (tp *ThemeProvider) GetCurrentThemeName() string
- func (tp *ThemeProvider) GetTheme(name string) (ui.Theme, error)
- func (tp *ThemeProvider) ListThemes() []string
- func (tp *ThemeProvider) SetCurrentTheme(name string) error
- func (tp *ThemeProvider) SetTheme(name string) error
- type TokyoNightTheme
- func (t *TokyoNightTheme) GetAccentColor() string
- func (t *TokyoNightTheme) GetAssistantColor() string
- func (t *TokyoNightTheme) GetBorderColor() string
- func (t *TokyoNightTheme) GetDiffAddColor() string
- func (t *TokyoNightTheme) GetDiffRemoveColor() string
- func (t *TokyoNightTheme) GetDimColor() string
- func (t *TokyoNightTheme) GetErrorColor() string
- func (t *TokyoNightTheme) GetStatusColor() string
- func (t *TokyoNightTheme) GetSuccessColor() string
- func (t *TokyoNightTheme) GetUserColor() string
- type TreeStyle
Constants ¶
const InlineDiffContextLines = 2
InlineDiffContextLines is the unchanged-context line count shown above/below each change in the *inline* diffs: the Edit approval preview and the post-run Edit/MultiEdit diffs in the conversation. The full /diff viewer keeps the wider diffview default so it stays a full-file review surface.
Variables ¶
This section is empty.
Functions ¶
func IsLightTheme ¶ added in v0.178.0
isLightTheme classifies the theme by the luminance of its assistant (primary text) color. Dark themes have light text (high luminance); light themes have dark text (low luminance).
func RenderTraceTree ¶ added in v0.178.0
RenderTraceTree renders the span tree via lipgloss/v2/tree with durations right-aligned in a column:
session (standard, success) 42.1s ├── chat deepseek/deepseek-v4-flash 3.2s ╰── execute_tool Bash 27.5s
Failed spans carry a trailing [error: <type>] marker.
func SnippetStartLine ¶ added in v0.178.0
func ThemeIsDark ¶ added in v0.178.0
themeIsDark reports whether the active theme is dark, defaulting to dark when no theme is set. Used to pick the embedded editor's background.
Types ¶
type CharmTheme ¶ added in v0.178.0
type CharmTheme struct{}
CharmTheme is built on the official Charm palette (charmtone). It's the modern, on-brand option that uses the same semantic tokens Crush ships with - Sapphire as the primary blue, Cherry for errors, Julep for success, Smoke/Iron as neutrals over a Pepper base.
func NewCharmTheme ¶ added in v0.178.0
func NewCharmTheme() *CharmTheme
func (*CharmTheme) GetAccentColor ¶ added in v0.178.0
func (t *CharmTheme) GetAccentColor() string
func (*CharmTheme) GetAssistantColor ¶ added in v0.178.0
func (t *CharmTheme) GetAssistantColor() string
func (*CharmTheme) GetBorderColor ¶ added in v0.178.0
func (t *CharmTheme) GetBorderColor() string
func (*CharmTheme) GetDiffAddColor ¶ added in v0.178.0
func (t *CharmTheme) GetDiffAddColor() string
func (*CharmTheme) GetDiffRemoveColor ¶ added in v0.178.0
func (t *CharmTheme) GetDiffRemoveColor() string
func (*CharmTheme) GetDimColor ¶ added in v0.178.0
func (t *CharmTheme) GetDimColor() string
func (*CharmTheme) GetErrorColor ¶ added in v0.178.0
func (t *CharmTheme) GetErrorColor() string
func (*CharmTheme) GetStatusColor ¶ added in v0.178.0
func (t *CharmTheme) GetStatusColor() string
func (*CharmTheme) GetSuccessColor ¶ added in v0.178.0
func (t *CharmTheme) GetSuccessColor() string
func (*CharmTheme) GetUserColor ¶ added in v0.178.0
func (t *CharmTheme) GetUserColor() string
type DiffRenderer ¶ added in v0.178.0
type DiffRenderer struct {
// contains filtered or unexported fields
}
DiffRenderer is a thin adapter that preserves the legacy public surface (RenderEditToolArguments / RenderMultiEditToolArguments / RenderWriteToolArguments / RenderDiff / RenderColoredDiff) and delegates the actual diff rendering to the diffview package. The internal renderer there uses go-udiff for a correct LCS-based diff algorithm and optional chroma syntax highlighting.
func NewDiffRenderer ¶ added in v0.178.0
func NewDiffRenderer(styleProvider *Provider) *DiffRenderer
NewDiffRenderer creates a new diff renderer with colored output.
func NewToolDiffRenderer ¶ added in v0.178.0
func NewToolDiffRenderer(styleProvider *Provider) *DiffRenderer
NewToolDiffRenderer creates a tool diff renderer (alias for NewDiffRenderer).
func (*DiffRenderer) RenderColoredDiff ¶ added in v0.178.0
func (d *DiffRenderer) RenderColoredDiff(oldContent, newContent string) string
RenderColoredDiff is a minimal compatibility wrapper that renders a simple diff with a placeholder title and file path.
func (*DiffRenderer) RenderDiff ¶ added in v0.178.0
func (d *DiffRenderer) RenderDiff(info DiffInfo) string
RenderDiff renders a full diff between OldContent and NewContent with a title, file header with addition/removal stats, and the underlying DiffView body. Empty contents are handled gracefully (new file, deleted file).
func (*DiffRenderer) RenderEditToolArguments ¶ added in v0.178.0
func (d *DiffRenderer) RenderEditToolArguments(args map[string]any) string
RenderEditToolArguments renders Edit tool arguments as a diff. When the target file can be read and old_string is found in it, it diffs the real file content so the configured context lines surround the change with actual neighbouring file lines; otherwise it falls back to a snippet diff of old_string vs new_string.
func (*DiffRenderer) RenderMultiEditToolArguments ¶ added in v0.178.0
func (d *DiffRenderer) RenderMultiEditToolArguments(args map[string]any) string
RenderMultiEditToolArguments renders MultiEdit tool arguments as a sequence of snippet diffs (one per edit).
func (*DiffRenderer) RenderWriteToolArguments ¶ added in v0.178.0
func (d *DiffRenderer) RenderWriteToolArguments(args map[string]any) string
RenderWriteToolArguments renders Write tool arguments. If the target file already exists, the rendered output is a full diff against the new content; otherwise it's a NEW FILE badge plus a numbered preview of the first lines.
func (*DiffRenderer) SetContextLines ¶ added in v0.178.0
func (d *DiffRenderer) SetContextLines(n int) *DiffRenderer
SetContextLines overrides the number of unchanged context lines shown above and below each change. Pass 0 (the default) to keep the diffview default. Returns the renderer for chaining.
func (*DiffRenderer) SetMaxLines ¶ added in v0.178.0
func (d *DiffRenderer) SetMaxLines(n int) *DiffRenderer
SetMaxLines overrides the new-file preview line cap: 0 keeps the default, a positive n caps at n, and a negative n renders every line (for callers that bound the height themselves, like the scrollable approval box). Chains.
func (*DiffRenderer) SetStartLine ¶ added in v0.178.0
func (d *DiffRenderer) SetStartLine(n int) *DiffRenderer
SetStartLine tells the renderer that the diffed content is a snippet whose first line is line n in the real file (1-based), so gutter line numbers show the actual file positions instead of counting from 1. Pass 0 (the default) when the content is already whole-file. Chains.
func (*DiffRenderer) SetWidth ¶ added in v0.178.0
func (d *DiffRenderer) SetWidth(w int) *DiffRenderer
SetWidth tells the renderer the available terminal width so the underlying DiffView can pick a width-adaptive layout (split when >= 160 cols).
type DraculaTheme ¶ added in v0.178.0
type DraculaTheme struct{}
DraculaTheme provides the popular Dracula color scheme
func NewDraculaTheme ¶ added in v0.178.0
func NewDraculaTheme() *DraculaTheme
func (*DraculaTheme) GetAccentColor ¶ added in v0.178.0
func (t *DraculaTheme) GetAccentColor() string
func (*DraculaTheme) GetAssistantColor ¶ added in v0.178.0
func (t *DraculaTheme) GetAssistantColor() string
func (*DraculaTheme) GetBorderColor ¶ added in v0.178.0
func (t *DraculaTheme) GetBorderColor() string
func (*DraculaTheme) GetDiffAddColor ¶ added in v0.178.0
func (t *DraculaTheme) GetDiffAddColor() string
func (*DraculaTheme) GetDiffRemoveColor ¶ added in v0.178.0
func (t *DraculaTheme) GetDiffRemoveColor() string
func (*DraculaTheme) GetDimColor ¶ added in v0.178.0
func (t *DraculaTheme) GetDimColor() string
func (*DraculaTheme) GetErrorColor ¶ added in v0.178.0
func (t *DraculaTheme) GetErrorColor() string
func (*DraculaTheme) GetStatusColor ¶ added in v0.178.0
func (t *DraculaTheme) GetStatusColor() string
func (*DraculaTheme) GetSuccessColor ¶ added in v0.178.0
func (t *DraculaTheme) GetSuccessColor() string
func (*DraculaTheme) GetUserColor ¶ added in v0.178.0
func (t *DraculaTheme) GetUserColor() string
type GithubLightTheme ¶ added in v0.178.0
type GithubLightTheme struct{}
GithubLightTheme provides a light theme similar to GitHub's interface
func NewGithubLightTheme ¶ added in v0.178.0
func NewGithubLightTheme() *GithubLightTheme
func (*GithubLightTheme) GetAccentColor ¶ added in v0.178.0
func (t *GithubLightTheme) GetAccentColor() string
func (*GithubLightTheme) GetAssistantColor ¶ added in v0.178.0
func (t *GithubLightTheme) GetAssistantColor() string
func (*GithubLightTheme) GetBorderColor ¶ added in v0.178.0
func (t *GithubLightTheme) GetBorderColor() string
func (*GithubLightTheme) GetDiffAddColor ¶ added in v0.178.0
func (t *GithubLightTheme) GetDiffAddColor() string
func (*GithubLightTheme) GetDiffRemoveColor ¶ added in v0.178.0
func (t *GithubLightTheme) GetDiffRemoveColor() string
func (*GithubLightTheme) GetDimColor ¶ added in v0.178.0
func (t *GithubLightTheme) GetDimColor() string
func (*GithubLightTheme) GetErrorColor ¶ added in v0.178.0
func (t *GithubLightTheme) GetErrorColor() string
func (*GithubLightTheme) GetStatusColor ¶ added in v0.178.0
func (t *GithubLightTheme) GetStatusColor() string
func (*GithubLightTheme) GetSuccessColor ¶ added in v0.178.0
func (t *GithubLightTheme) GetSuccessColor() string
func (*GithubLightTheme) GetUserColor ¶ added in v0.178.0
func (t *GithubLightTheme) GetUserColor() string
type Provider ¶ added in v0.56.0
type Provider struct {
// contains filtered or unexported fields
}
Provider centralizes all styling logic and provides complete abstraction from Lipgloss. Components should NEVER import lipgloss directly - they interact with styling through this provider.
func NewProvider ¶ added in v0.56.0
func NewProvider(themeService ui.ThemeService) *Provider
NewProvider creates a new style provider
func (*Provider) ClampToSize ¶ added in v0.122.1
ClampToSize hard-truncates s to width columns and height rows (ANSI-aware) so a frame containing an over-wide or over-tall line cannot wrap and corrupt the inline (non-alt-screen) render. MaxWidth/MaxHeight truncate rather than pad or wrap.
func (*Provider) GetCurrentTheme ¶ added in v0.118.0
GetCurrentTheme returns the active theme, exposing it for callers that need to derive colors outside of Provider's pre-baked render methods (e.g. the diffview Style selector).
func (*Provider) GetSpinnerStyle ¶ added in v0.56.0
GetSpinnerStyle returns a lipgloss.Style for use with third-party components like Bubbles spinner This is an exception to complete abstraction, needed for library compatibility
func (*Provider) GetThemeColor ¶ added in v0.56.0
GetThemeColor returns a theme color for custom styling (use sparingly)
func (*Provider) GetThemeService ¶ added in v0.61.0
func (p *Provider) GetThemeService() ui.ThemeService
GetThemeService returns the underlying theme service for advanced integrations This is needed for components like the markdown renderer that need direct theme access
func (*Provider) JoinHorizontal ¶ added in v0.56.0
JoinHorizontal joins strings horizontally
func (*Provider) JoinVertical ¶ added in v0.56.0
JoinVertical joins strings vertically
func (*Provider) PlaceCenter ¶ added in v0.56.0
PlaceCenter places content in the center of the given dimensions
func (*Provider) PlaceCenterTop ¶ added in v0.56.0
PlaceCenterTop places content in the center-top of the given dimensions
func (*Provider) PlaceHorizontal ¶ added in v0.56.0
PlaceHorizontal places two components horizontally with the second one on the right
func (*Provider) RenderApprovalButton ¶ added in v0.56.0
RenderApprovalButton renders an approval-style button with custom colors and fixed width
func (*Provider) RenderAssistantText ¶ added in v0.56.0
RenderAssistantText renders text in the assistant color
func (*Provider) RenderBold ¶ added in v0.56.0
RenderBold renders text with bold styling
func (*Provider) RenderBoldText ¶ added in v0.56.0
RenderBoldText renders bold text
func (*Provider) RenderBordered ¶ added in v0.56.0
RenderBordered renders content with a border
func (*Provider) RenderBorderedBox ¶ added in v0.56.0
RenderBorderedBox renders text inside a rounded border with padding
func (*Provider) RenderButton ¶ added in v0.56.0
RenderButton renders a button or selectable option
func (*Provider) RenderCenteredBoldWithColor ¶ added in v0.56.0
RenderCenteredBoldWithColor renders text centered, bold, and with a specific color
func (*Provider) RenderCenteredBorderedBox ¶ added in v0.56.0
func (p *Provider) RenderCenteredBorderedBox(text, borderColor string, width, height, paddingV, paddingH int) string
RenderCenteredBorderedBox renders text in a centered bordered box with specified dimensions
func (*Provider) RenderCodeBlock ¶ added in v0.56.0
RenderCodeBlock renders a code block with subtle background
func (*Provider) RenderCreatedText ¶ added in v0.60.0
RenderCreatedText renders "created" status text (success color, bold)
func (*Provider) RenderCursor ¶ added in v0.56.0
RenderCursor renders text with cursor styling. It uses lipgloss Reverse, which swaps the foreground/background of whatever theme colours are in effect, so the cursor stays legible on every theme instead of relying on a hardcoded grey-on-black pair.
func (*Provider) RenderDiffAddition ¶ added in v0.56.0
RenderDiffAddition renders a diff addition line
func (*Provider) RenderDiffRemoval ¶ added in v0.56.0
RenderDiffRemoval renders a diff removal line
func (*Provider) RenderDimText ¶ added in v0.56.0
RenderDimText renders text in a dimmed style
func (*Provider) RenderErrorIcon ¶ added in v0.60.0
RenderErrorIcon renders an error icon (X mark, etc.)
func (*Provider) RenderErrorText ¶ added in v0.56.0
RenderErrorText renders text in the error color
func (*Provider) RenderHeader ¶ added in v0.56.0
RenderHeader renders a centered header
func (*Provider) RenderInputField ¶ added in v0.56.0
func (p *Provider) RenderInputField(content string, width int, focused bool, branchLabel string) string
RenderInputField renders an input field with border. When branchLabel is non-empty it is embedded in the top border, right-aligned, as a titled border (e.g. "╭──────── ⎇ main ─╮"); pass "" for a plain border.
func (*Provider) RenderInputPlaceholder ¶ added in v0.56.0
RenderInputPlaceholder renders placeholder text
func (*Provider) RenderLeftAlignedBorderedBox ¶ added in v0.56.0
func (p *Provider) RenderLeftAlignedBorderedBox(text, borderColor string, width, height, paddingV, paddingH int) string
RenderLeftAlignedBorderedBox renders text in a left-aligned bordered box with specified dimensions
func (*Provider) RenderListItem ¶ added in v0.56.0
RenderListItem renders a list item (selected or unselected)
func (*Provider) RenderListItemWithDescription ¶ added in v0.56.0
RenderListItemWithDescription renders a list item with a description
func (*Provider) RenderMetricText ¶ added in v0.60.0
RenderMetricText renders metric/info text (e.g., byte counts, line counts)
func (*Provider) RenderModal ¶ added in v0.56.0
RenderModal renders a modal with rounded border
func (*Provider) RenderModalTitle ¶ added in v0.56.0
RenderModalTitle renders a modal title with emphasis
func (*Provider) RenderPathText ¶ added in v0.60.0
RenderPathText renders a file path with accent color and bold
func (*Provider) RenderSelectedIndicator ¶ added in v0.128.0
RenderSelectedIndicator renders the status-bar indicator holding the selection as a padded pill: reverse video paints the cell background in the accent color with the terminal background as text color, which works on any theme (Theme exposes no background color). The one-column side padding adds two columns of width - splitPartsIntoLines accounts for it.
func (*Provider) RenderSeparator ¶ added in v0.56.0
RenderSeparator renders a horizontal separator line
func (*Provider) RenderSpinner ¶ added in v0.56.0
RenderSpinner renders a spinner with status color
func (*Provider) RenderStatusBadge ¶ added in v0.56.0
RenderStatusBadge renders a status badge (e.g., "ENABLED", "DISABLED")
func (*Provider) RenderStatusLine ¶ added in v0.76.5
RenderStatusLine renders a status line with no padding
func (*Provider) RenderStyledText ¶ added in v0.56.0
func (p *Provider) RenderStyledText(text string, opts StyleOptions) string
RenderStyledText renders text with custom Lipgloss-compatible styling This is an escape hatch for complex styling not covered by other methods
func (*Provider) RenderSuccessIcon ¶ added in v0.60.0
RenderSuccessIcon renders a success icon (checkmark, etc.)
func (*Provider) RenderSuccessText ¶ added in v0.56.0
RenderSuccessText renders text in the success color
func (*Provider) RenderTitledCard ¶ added in v0.143.0
func (p *Provider) RenderTitledCard(content, title, borderColor, titleColor string, width int) string
RenderTitledCard renders content in a rounded, width-set, padded box with title spliced into the top border (right-aligned). Reuses the same top-border splice as RenderInputField. Pass "" for title to get a plain bordered box at the given width.
func (*Provider) RenderTopAlignedBorderedBox ¶ added in v0.56.0
func (p *Provider) RenderTopAlignedBorderedBox(text, borderColor string, width, height, paddingV, paddingH int) string
RenderTopAlignedBorderedBox renders text in a top-left aligned bordered box with specified dimensions
func (*Provider) RenderUpdatedText ¶ added in v0.60.0
RenderUpdatedText renders "updated" status text (status/warning color, bold)
func (*Provider) RenderUserText ¶ added in v0.56.0
RenderUserText renders text in the user color
func (*Provider) RenderWarningText ¶ added in v0.56.0
RenderWarningText renders text in the warning/status color
func (*Provider) RenderWithColor ¶ added in v0.56.0
RenderWithColor renders text with a specific hex color
func (*Provider) RenderWithColorAndBold ¶ added in v0.56.0
RenderWithColorAndBold renders text with color and bold
func (*Provider) ToolTitleColor ¶ added in v0.143.0
ToolTitleColor returns the accent hex color used to differentiate a tool type on its card's titled border (AC8, no emoji): shells, file mutations, A2A, and generic each get a distinct theme color.
type StyleOptions ¶ added in v0.56.0
type StyleOptions struct {
Foreground string
Background string
Bold bool
Italic bool
Faint bool
Width int
Padding [2]int
MarginBottom int
MarginTop int
}
StyleOptions provides options for custom text styling
type ThemeProvider ¶ added in v0.178.0
type ThemeProvider struct {
// contains filtered or unexported fields
}
ThemeProvider implements ui.ThemeService and manages available themes
func NewThemeProvider ¶ added in v0.178.0
func NewThemeProvider() *ThemeProvider
NewThemeProvider creates a new theme provider with default themes
func (*ThemeProvider) GetCurrentTheme ¶ added in v0.178.0
func (tp *ThemeProvider) GetCurrentTheme() ui.Theme
GetCurrentTheme returns the currently active theme (implements ui.ThemeService interface)
func (*ThemeProvider) GetCurrentThemeName ¶ added in v0.178.0
func (tp *ThemeProvider) GetCurrentThemeName() string
GetCurrentThemeName returns the name of the currently active theme (implements ui.ThemeService interface)
func (*ThemeProvider) GetTheme ¶ added in v0.178.0
func (tp *ThemeProvider) GetTheme(name string) (ui.Theme, error)
GetTheme returns the theme by name, or the current theme if name is empty
func (*ThemeProvider) ListThemes ¶ added in v0.178.0
func (tp *ThemeProvider) ListThemes() []string
ListThemes returns all available theme names (implements ui.ThemeService interface)
func (*ThemeProvider) SetCurrentTheme ¶ added in v0.178.0
func (tp *ThemeProvider) SetCurrentTheme(name string) error
SetCurrentTheme is an alias for SetTheme for backward compatibility
func (*ThemeProvider) SetTheme ¶ added in v0.178.0
func (tp *ThemeProvider) SetTheme(name string) error
SetTheme sets the current theme by name (implements ui.ThemeService interface)
type TokyoNightTheme ¶ added in v0.178.0
type TokyoNightTheme struct{}
TokyoNightTheme is the default theme (same as DefaultTheme)
func NewTokyoNightTheme ¶ added in v0.178.0
func NewTokyoNightTheme() *TokyoNightTheme
func (*TokyoNightTheme) GetAccentColor ¶ added in v0.178.0
func (t *TokyoNightTheme) GetAccentColor() string
func (*TokyoNightTheme) GetAssistantColor ¶ added in v0.178.0
func (t *TokyoNightTheme) GetAssistantColor() string
func (*TokyoNightTheme) GetBorderColor ¶ added in v0.178.0
func (t *TokyoNightTheme) GetBorderColor() string
func (*TokyoNightTheme) GetDiffAddColor ¶ added in v0.178.0
func (t *TokyoNightTheme) GetDiffAddColor() string
func (*TokyoNightTheme) GetDiffRemoveColor ¶ added in v0.178.0
func (t *TokyoNightTheme) GetDiffRemoveColor() string
func (*TokyoNightTheme) GetDimColor ¶ added in v0.178.0
func (t *TokyoNightTheme) GetDimColor() string
func (*TokyoNightTheme) GetErrorColor ¶ added in v0.178.0
func (t *TokyoNightTheme) GetErrorColor() string
func (*TokyoNightTheme) GetStatusColor ¶ added in v0.178.0
func (t *TokyoNightTheme) GetStatusColor() string
func (*TokyoNightTheme) GetSuccessColor ¶ added in v0.178.0
func (t *TokyoNightTheme) GetSuccessColor() string
func (*TokyoNightTheme) GetUserColor ¶ added in v0.178.0
func (t *TokyoNightTheme) GetUserColor() string
type TreeStyle ¶ added in v0.178.0
type TreeStyle struct {
Enumerator lipgloss.Style // tree connector glyphs
Duration lipgloss.Style
Error lipgloss.Style // the [error: ...] marker
}
TreeStyle colorizes the rendered tree segments. The zero value renders plain text, which suits markdown/code-fence output.