Documentation
¶
Index ¶
- Constants
- Variables
- func FormatTableResult(result *db.QueryResult, colOffset int, rowOffset int, termWidth int, ...) string
- func FormatVerticalResult(result *db.QueryResult) string
- func HighlightCode(code string, lexerName string) string
- func HighlightJS(jsStr string) string
- func HighlightSQL(sqlStr string) string
- func RenderMarkdown(md string, width int) string
- type Model
- type PendingExport
- type State
- type TableState
- type ToolCallItem
Constants ¶
View Source
const ( MaxColumnWidth = 24 // Max character width per cell to keep grid compact PageRowSize = 12 // Rows per page )
Variables ¶
View Source
var ( TableHeaderStyle = lipgloss.NewStyle(). Bold(true). Foreground(lipgloss.AdaptiveColor{Light: "#4F46E5", Dark: "#818CF8"}). Padding(0, 1) TableCellStyle = lipgloss.NewStyle(). Foreground(lipgloss.AdaptiveColor{Light: "#1E293B", Dark: "#F1F5F9"}). Padding(0, 1) TableNilStyle = lipgloss.NewStyle(). Foreground(lipgloss.AdaptiveColor{Light: "#94A3B8", Dark: "#64748B"}). Italic(true). Padding(0, 1) TableBorderStyle = lipgloss.NewStyle(). Foreground(lipgloss.AdaptiveColor{Light: "#CBD5E1", Dark: "#334155"}) ActiveTableBorderStyle = lipgloss.NewStyle(). Foreground(lipgloss.AdaptiveColor{Light: "#6366F1", Dark: "#818CF8"}) FieldKeyStyle = lipgloss.NewStyle(). Bold(true). Foreground(lipgloss.AdaptiveColor{Light: "#4F46E5", Dark: "#818CF8"}) FieldValueStyle = lipgloss.NewStyle(). Foreground(lipgloss.AdaptiveColor{Light: "#1E293B", Dark: "#F1F5F9"}) RecordDividerStyle = lipgloss.NewStyle(). Bold(true). Foreground(PrimaryColor) ScrollBadgeStyle = lipgloss.NewStyle(). Bold(true). Foreground(lipgloss.AdaptiveColor{Light: "#BE185D", Dark: "#F472B6"}) )
View Source
var ( // High-Contrast Adaptive Styles for SQL & JS Syntax Highlighting (Light & Dark mode compatible) KeywordStyle = lipgloss.NewStyle().Bold(true).Foreground(lipgloss.AdaptiveColor{Light: "#6D28D9", Dark: "#C084FC"}) // Rich Purple StringStyle = lipgloss.NewStyle().Foreground(lipgloss.AdaptiveColor{Light: "#047857", Dark: "#34D399"}) // Emerald Green NumberStyle = lipgloss.NewStyle().Foreground(lipgloss.AdaptiveColor{Light: "#B45309", Dark: "#FBBF24"}) // Amber Gold NameStyle = lipgloss.NewStyle().Bold(true).Foreground(lipgloss.AdaptiveColor{Light: "#0369A1", Dark: "#38BDF8"}) // Sky Blue CommentStyle = lipgloss.NewStyle().Italic(true).Foreground(lipgloss.AdaptiveColor{Light: "#64748B", Dark: "#94A3B8"}) // Slate Grey DefaultTxtStyle = lipgloss.NewStyle().Bold(true).Foreground(lipgloss.AdaptiveColor{Light: "#0F172A", Dark: "#F8FAFC"}) // Deep Slate / Crisp White )
View Source
var ( // Palette Colors (Adaptive Catppuccin / Tokyo Night Theme) PrimaryColor = lipgloss.AdaptiveColor{Light: "#6D28D9", Dark: "#A78BFA"} SecondaryColor = lipgloss.AdaptiveColor{Light: "#059669", Dark: "#34D399"} AccentColor = lipgloss.AdaptiveColor{Light: "#BE185D", Dark: "#F472B6"} WarningColor = lipgloss.AdaptiveColor{Light: "#D97706", Dark: "#FBBF24"} ErrorColor = lipgloss.AdaptiveColor{Light: "#E11D48", Dark: "#F87171"} InfoColor = lipgloss.AdaptiveColor{Light: "#0284C7", Dark: "#38BDF8"} MutedColor = lipgloss.AdaptiveColor{Light: "#64748B", Dark: "#94A3B8"} TextNormal = lipgloss.AdaptiveColor{Light: "#0F172A", Dark: "#F8FAFC"} HeaderBg = lipgloss.AdaptiveColor{Light: "#E2E8F0", Dark: "#1E293B"} // Header Container & Badges HeaderBarStyle = lipgloss.NewStyle(). Background(HeaderBg). Padding(0, 1) HeaderTitleBadge = lipgloss.NewStyle(). Bold(true). Foreground(lipgloss.Color("#FFFFFF")). Background(PrimaryColor). Padding(0, 1) HeaderProfileBadge = lipgloss.NewStyle(). Bold(true). Foreground(lipgloss.Color("#FFFFFF")). Background(InfoColor). Padding(0, 1) BadgeReadOnly = lipgloss.NewStyle(). Bold(true). Foreground(lipgloss.Color("#FFFFFF")). Background(SecondaryColor). Padding(0, 1) BadgeReadWrite = lipgloss.NewStyle(). Bold(true). Foreground(lipgloss.Color("#FFFFFF")). Background(WarningColor). Padding(0, 1) BadgeAutoExec = lipgloss.NewStyle(). Bold(true). Foreground(lipgloss.Color("#FFFFFF")). Background(AccentColor). Padding(0, 1) BadgeManualApprove = lipgloss.NewStyle(). Bold(true). Foreground(lipgloss.AdaptiveColor{Light: "#0F172A", Dark: "#E2E8F0"}). Background(lipgloss.AdaptiveColor{Light: "#CBD5E1", Dark: "#475569"}). Padding(0, 1) // Keybinding Badges KeyBadgeStyle = lipgloss.NewStyle(). Bold(true). Foreground(lipgloss.AdaptiveColor{Light: "#0F172A", Dark: "#F8FAFC"}). Background(lipgloss.AdaptiveColor{Light: "#CBD5E1", Dark: "#334155"}). Padding(0, 1) KeyLabelStyle = lipgloss.NewStyle(). Foreground(MutedColor) // SQL Preview Box SQLBoxStyle = lipgloss.NewStyle(). Border(lipgloss.RoundedBorder()). BorderForeground(PrimaryColor). Padding(0, 1). MarginTop(1). MarginBottom(1) SQLTitleStyle = lipgloss.NewStyle(). Bold(true). Foreground(AccentColor) SQLCodeStyle = lipgloss.NewStyle(). Bold(true). Foreground(InfoColor) // User & AI Message Tags UserTagStyle = lipgloss.NewStyle(). Bold(true). Foreground(lipgloss.Color("#FFFFFF")). Background(SecondaryColor). Padding(0, 1) AITagStyle = lipgloss.NewStyle(). Bold(true). Foreground(lipgloss.Color("#FFFFFF")). Background(PrimaryColor). Padding(0, 1) ExecutingTagStyle = lipgloss.NewStyle(). Bold(true). Foreground(lipgloss.Color("#FFFFFF")). Background(WarningColor). Padding(0, 1) SuccessBadgeStyle = lipgloss.NewStyle(). Bold(true). Foreground(SecondaryColor) WarningBadgeStyle = lipgloss.NewStyle(). Bold(true). Foreground(WarningColor) MetricsStyle = lipgloss.NewStyle(). Foreground(MutedColor). Italic(true) AIResponseStyle = lipgloss.NewStyle(). Foreground(TextNormal). PaddingLeft(1) ErrorMsgStyle = lipgloss.NewStyle(). Bold(true). Foreground(ErrorColor). PaddingLeft(1) PromptPrefixStyle = lipgloss.NewStyle(). Bold(true). Foreground(PrimaryColor) // Collapsible Tool Call Badges ToolCollapsedBadge = lipgloss.NewStyle(). Bold(true). Foreground(lipgloss.AdaptiveColor{Light: "#475569", Dark: "#94A3B8"}). Background(lipgloss.AdaptiveColor{Light: "#E2E8F0", Dark: "#1E293B"}). Padding(0, 1) ToolExpandedBadge = lipgloss.NewStyle(). Bold(true). Foreground(lipgloss.Color("#FFFFFF")). Background(WarningColor). Padding(0, 1) ToolDetailStyle = lipgloss.NewStyle(). Border(lipgloss.NormalBorder(), false, false, false, true). BorderForeground(MutedColor). PaddingLeft(1). Foreground(MutedColor) )
Functions ¶
func FormatTableResult ¶
func FormatTableResult(result *db.QueryResult, colOffset int, rowOffset int, termWidth int, isActive bool) string
FormatTableResult renders a beautiful terminal box table for SQL query results with column scrolling and row pagination.
func FormatVerticalResult ¶
func FormatVerticalResult(result *db.QueryResult) string
FormatVerticalResult renders SQL query results in full vertical (psql \x expanded) format with NO truncation.
func HighlightCode ¶
HighlightCode renders adaptive, high-contrast syntax-highlighted code for light & dark terminals.
func HighlightJS ¶
HighlightJS applies adaptive high-contrast syntax highlighting to JavaScript code blocks.
func HighlightSQL ¶
HighlightSQL applies adaptive high-contrast syntax highlighting to SQL statements.
func RenderMarkdown ¶
RenderMarkdown renders markdown text using Glamour with rich ANSI terminal styling.
Types ¶
type PendingExport ¶
type TableState ¶
Click to show internal directories.
Click to hide internal directories.