Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GraphModel ¶
type GraphModel struct {
// contains filtered or unexported fields
}
GraphModel is the bubbletea model for graph visualization
func NewGraphModel ¶
func NewGraphModel(tree *analyzer.Tree, scopes []*analyzer.ContextScope, rootPath string) GraphModel
NewGraphModel creates a new graph visualization model
type GraphNode ¶
type GraphNode struct {
Node *analyzer.ConfigNode
Scope *analyzer.ContextScope
Depth int
Expanded bool
IsScope bool // True if this is a scope header
Children []*GraphNode
Parent *GraphNode
RefType analyzer.RefType // For reference nodes
IsRef bool // True if this is a reference (not a file)
IsBroken bool // True if this is an unresolved/broken reference
RefValue string // The reference value
RefContext string // Context around the reference
RefLine int // Line number where the ref appears in parent
RefColumn int // Column number where the ref appears in parent
RefTarget string // Resolved target path (for file refs)
SourceRefs []RefSource // Reference sources (merged from parent refs)
}
GraphNode represents a displayable node in the graph
type Model ¶
type Model struct {
// contains filtered or unexported fields
}
Model is the Bubbletea model for progress display
type OutputMode ¶
type OutputMode int
OutputMode determines how output should be formatted
const ( // OutputModeInteractive enables full colors, spinners, and progress bars OutputModeInteractive OutputMode = iota // OutputModePlain disables colors and progress (for piped output) OutputModePlain // OutputModeJSON outputs raw JSON only OutputModeJSON )
type ProgressController ¶
type ProgressController struct {
// contains filtered or unexported fields
}
ProgressController manages the bubbletea program for progress display
func (*ProgressController) Done ¶
func (pc *ProgressController) Done(err error)
Done signals that all work is complete
func (*ProgressController) RuleDone ¶
func (pc *ProgressController) RuleDone()
RuleDone indicates a rule has completed
func (*ProgressController) RuleStart ¶
func (pc *ProgressController) RuleStart(name string)
RuleStart indicates a rule has started
func (*ProgressController) SetOperation ¶
func (pc *ProgressController) SetOperation(op string)
SetOperation updates the current operation description
func (*ProgressController) SetRuleCount ¶
func (pc *ProgressController) SetRuleCount(count int)
SetRuleCount sets the total number of rules to run
func (*ProgressController) SetStage ¶
func (pc *ProgressController) SetStage(stage Stage)
SetStage updates the current stage
type RefSource ¶
type RefSource struct {
Line int // Line number in parent file
Column int // Column number
OriginalText string // The markdown text that created this reference
Context string // Surrounding lines
Priority int // Priority based on markers
}
RefSource stores metadata about where a file was referenced from
type SimpleSpinner ¶
type SimpleSpinner struct {
// contains filtered or unexported fields
}
SimpleSpinner provides a simple spinner for short operations without the full progress tracking
type Styles ¶
type Styles struct {
// Severity styles
Error lipgloss.Style
Warning lipgloss.Style
Suggestion lipgloss.Style
Info lipgloss.Style
Success lipgloss.Style
// Structural styles
Header lipgloss.Style
Subheader lipgloss.Style
Path lipgloss.Style
Rule lipgloss.Style
Separator lipgloss.Style
// Icons (degraded to ASCII when not interactive)
IconError string
IconWarning string
IconSuggestion string
IconInfo string
IconSuccess string
// contains filtered or unexported fields
}
Styles contains all lipgloss styles for terminal output
type UI ¶
UI provides a unified interface for terminal output with TTY detection
func (*UI) IsInteractive ¶
IsInteractive returns true if the output is interactive (TTY)
func (*UI) StartProgress ¶
func (ui *UI) StartProgress() *ProgressController
StartProgress starts the progress display if in interactive mode Returns nil if not in interactive mode
func (*UI) StartSimpleSpinner ¶
func (ui *UI) StartSimpleSpinner(w io.Writer, message string) *SimpleSpinner
StartSimpleSpinner starts a simple spinner with a message