Documentation
¶
Index ¶
- type ApplicationViewRenderer
- type ApprovalComponent
- func (a *ApprovalComponent) Init() tea.Cmd
- func (a *ApprovalComponent) Render(toolExecution *domain.ToolExecutionSession, selectedIndex int) string
- func (a *ApprovalComponent) SetHeight(height int)
- func (a *ApprovalComponent) SetToolFormatter(formatter domain.ToolFormatter)
- func (a *ApprovalComponent) SetWidth(width int)
- func (a *ApprovalComponent) Update(msg tea.Msg) (tea.Model, tea.Cmd)
- func (a *ApprovalComponent) View() string
- type ChatInterfaceData
- type ConversationSelectorImpl
- func (c *ConversationSelectorImpl) GetSelected() shortcuts.ConversationSummary
- func (c *ConversationSelectorImpl) Init() tea.Cmd
- func (c *ConversationSelectorImpl) IsCancelled() bool
- func (c *ConversationSelectorImpl) IsSelected() bool
- func (c *ConversationSelectorImpl) Reset()
- func (c *ConversationSelectorImpl) SetHeight(height int)
- func (c *ConversationSelectorImpl) SetWidth(width int)
- func (c *ConversationSelectorImpl) Update(msg tea.Msg) (tea.Model, tea.Cmd)
- func (c *ConversationSelectorImpl) View() string
- type ConversationView
- func (cv *ConversationView) CanScrollDown() bool
- func (cv *ConversationView) CanScrollUp() bool
- func (cv *ConversationView) GetPlainTextLines() []string
- func (cv *ConversationView) GetScrollOffset() int
- func (cv *ConversationView) Init() tea.Cmd
- func (cv *ConversationView) IsToolResultExpanded(index int) bool
- func (cv *ConversationView) Render() string
- func (cv *ConversationView) SetConfigPath(configPath string)
- func (cv *ConversationView) SetConversation(conversation []domain.ConversationEntry)
- func (cv *ConversationView) SetHeight(height int)
- func (cv *ConversationView) SetToolFormatter(formatter domain.ToolFormatter)
- func (cv *ConversationView) SetWidth(width int)
- func (cv *ConversationView) ToggleAllToolResultsExpansion()
- func (cv *ConversationView) ToggleToolResultExpansion(index int)
- func (cv *ConversationView) Update(msg tea.Msg) (tea.Model, tea.Cmd)
- func (cv *ConversationView) View() string
- type DiffInfo
- type DiffRenderer
- func (d *DiffRenderer) RenderColoredDiff(oldContent, newContent string) string
- func (d *DiffRenderer) RenderDiff(diffInfo 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
- type FileSelectionAction
- type FileSelectionData
- type FileSelectionHandler
- func (h *FileSelectionHandler) CreateStatusMessage(action FileSelectionAction, selectedFile string) tea.Cmd
- func (h *FileSelectionHandler) HandleKeyEvent(keyMsg tea.KeyMsg, files []string, searchQuery string, selectedIndex int) (newSearchQuery string, newSelectedIndex int, action FileSelectionAction, ...)
- func (h *FileSelectionHandler) RenderFileSelection(data FileSelectionData) string
- func (h *FileSelectionHandler) UpdateInputWithSelectedFile(currentInput string, cursor int, selectedFile string) (newInput string, newCursor int)
- type FileSelectionView
- type HelpBar
- func (hb *HelpBar) Init() tea.Cmd
- func (hb *HelpBar) IsEnabled() bool
- func (hb *HelpBar) Render() string
- func (hb *HelpBar) SetEnabled(enabled bool)
- func (hb *HelpBar) SetHeight(height int)
- func (hb *HelpBar) SetShortcuts(shortcuts []shared.KeyShortcut)
- func (hb *HelpBar) SetWidth(width int)
- func (hb *HelpBar) Update(msg tea.Msg) (tea.Model, tea.Cmd)
- func (hb *HelpBar) View() string
- type InputView
- func (iv *InputView) AddToHistory(text string) error
- func (iv *InputView) CanHandle(key tea.KeyMsg) bool
- func (iv *InputView) ClearInput()
- func (iv *InputView) GetCursor() int
- func (iv *InputView) GetInput() string
- func (iv *InputView) HandleKey(key tea.KeyMsg) (tea.Model, tea.Cmd)
- func (iv *InputView) Init() tea.Cmd
- func (iv *InputView) IsAutocompleteVisible() bool
- func (iv *InputView) IsTextSelectionMode() bool
- func (iv *InputView) NavigateHistoryDown()
- func (iv *InputView) NavigateHistoryUp()
- func (iv *InputView) Render() string
- func (iv *InputView) SetCursor(position int)
- func (iv *InputView) SetHeight(height int)
- func (iv *InputView) SetPlaceholder(text string)
- func (iv *InputView) SetText(text string)
- func (iv *InputView) SetTextSelectionMode(enabled bool)
- func (iv *InputView) SetWidth(width int)
- func (iv *InputView) TryHandleAutocomplete(key tea.KeyMsg) (handled bool, completion string)
- func (iv *InputView) Update(msg tea.Msg) (tea.Model, tea.Cmd)
- func (iv *InputView) View() string
- type ModelSelectorImpl
- func (m *ModelSelectorImpl) GetSelected() string
- func (m *ModelSelectorImpl) Init() tea.Cmd
- func (m *ModelSelectorImpl) IsCancelled() bool
- func (m *ModelSelectorImpl) IsSelected() bool
- func (m *ModelSelectorImpl) SetHeight(height int)
- func (m *ModelSelectorImpl) SetWidth(width int)
- func (m *ModelSelectorImpl) Update(msg tea.Msg) (tea.Model, tea.Cmd)
- func (m *ModelSelectorImpl) View() string
- type Position
- type StatusState
- type StatusView
- func (sv *StatusView) ClearStatus()
- func (sv *StatusView) HasSavedState() bool
- func (sv *StatusView) Init() tea.Cmd
- func (sv *StatusView) IsShowingError() bool
- func (sv *StatusView) IsShowingSpinner() bool
- func (sv *StatusView) Render() string
- func (sv *StatusView) RestoreSavedState() tea.Cmd
- func (sv *StatusView) SaveCurrentState()
- func (sv *StatusView) SetHeight(height int)
- func (sv *StatusView) SetTokenUsage(usage string)
- func (sv *StatusView) SetWidth(width int)
- func (sv *StatusView) ShowError(message string)
- func (sv *StatusView) ShowSpinner(message string)
- func (sv *StatusView) ShowSpinnerWithType(message string, statusType domain.StatusType, progress *domain.StatusProgress)
- func (sv *StatusView) ShowStatus(message string)
- func (sv *StatusView) ShowStatusWithType(message string, statusType domain.StatusType, progress *domain.StatusProgress)
- func (sv *StatusView) Update(msg tea.Msg) (tea.Model, tea.Cmd)
- func (sv *StatusView) UpdateSpinnerMessage(message string, statusType domain.StatusType)
- func (sv *StatusView) View() string
- type TextSelectionView
- type ToolCallInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApplicationViewRenderer ¶ added in v0.27.0
type ApplicationViewRenderer struct {
// contains filtered or unexported fields
}
ApplicationViewRenderer handles rendering of different application views
func NewApplicationViewRenderer ¶ added in v0.27.0
func NewApplicationViewRenderer(theme shared.Theme) *ApplicationViewRenderer
NewApplicationViewRenderer creates a new application view renderer
func (*ApplicationViewRenderer) RenderChatInterface ¶ added in v0.27.0
func (r *ApplicationViewRenderer) RenderChatInterface( data ChatInterfaceData, conversationView shared.ConversationRenderer, inputView shared.InputComponent, statusView shared.StatusComponent, helpBar shared.HelpBarComponent, approvalView shared.ApprovalComponent, ) string
RenderChatInterface renders the main chat interface
func (*ApplicationViewRenderer) RenderFileSelection ¶ added in v0.27.0
func (r *ApplicationViewRenderer) RenderFileSelection( data FileSelectionData, fileSelectionView *FileSelectionView, ) string
RenderFileSelection renders the file selection view
type ApprovalComponent ¶ added in v0.27.0
type ApprovalComponent struct {
// contains filtered or unexported fields
}
ApprovalComponent handles rendering of tool approval requests
func NewApprovalComponent ¶ added in v0.27.0
func NewApprovalComponent(theme shared.Theme) *ApprovalComponent
NewApprovalComponent creates a new approval component
func (*ApprovalComponent) Init ¶ added in v0.33.3
func (a *ApprovalComponent) Init() tea.Cmd
Init implements the Bubble Tea Model interface
func (*ApprovalComponent) Render ¶ added in v0.27.0
func (a *ApprovalComponent) Render(toolExecution *domain.ToolExecutionSession, selectedIndex int) string
Render renders the approval component for a given tool execution
func (*ApprovalComponent) SetHeight ¶ added in v0.27.0
func (a *ApprovalComponent) SetHeight(height int)
SetHeight sets the component height
func (*ApprovalComponent) SetToolFormatter ¶ added in v0.33.5
func (a *ApprovalComponent) SetToolFormatter(formatter domain.ToolFormatter)
SetToolFormatter sets the tool formatter for this approval component
func (*ApprovalComponent) SetWidth ¶ added in v0.27.0
func (a *ApprovalComponent) SetWidth(width int)
SetWidth sets the component width
func (*ApprovalComponent) Update ¶ added in v0.33.3
Update handles Bubble Tea messages including scroll requests
func (*ApprovalComponent) View ¶ added in v0.33.3
func (a *ApprovalComponent) View() string
View implements the Bubble Tea Model interface
type ChatInterfaceData ¶ added in v0.27.0
type ChatInterfaceData struct {
Width, Height int
ToolExecution *domain.ToolExecutionSession
ApprovalUIState *domain.ApprovalUIState
CurrentView domain.ViewState
}
ChatInterfaceData holds the data needed to render the chat interface
type ConversationSelectorImpl ¶ added in v0.45.0
type ConversationSelectorImpl struct {
// contains filtered or unexported fields
}
ConversationSelectorImpl implements conversation selection UI
func NewConversationSelector ¶ added in v0.45.0
func NewConversationSelector(repo shortcuts.PersistentConversationRepository, theme shared.Theme) *ConversationSelectorImpl
NewConversationSelector creates a new conversation selector
func (*ConversationSelectorImpl) GetSelected ¶ added in v0.45.0
func (c *ConversationSelectorImpl) GetSelected() shortcuts.ConversationSummary
GetSelected returns the selected conversation
func (*ConversationSelectorImpl) Init ¶ added in v0.45.0
func (c *ConversationSelectorImpl) Init() tea.Cmd
func (*ConversationSelectorImpl) IsCancelled ¶ added in v0.45.0
func (c *ConversationSelectorImpl) IsCancelled() bool
IsCancelled returns true if selection was cancelled
func (*ConversationSelectorImpl) IsSelected ¶ added in v0.45.0
func (c *ConversationSelectorImpl) IsSelected() bool
IsSelected returns true if a conversation was selected
func (*ConversationSelectorImpl) Reset ¶ added in v0.45.0
func (c *ConversationSelectorImpl) Reset()
Reset resets the conversation selector state for reuse
func (*ConversationSelectorImpl) SetHeight ¶ added in v0.45.0
func (c *ConversationSelectorImpl) SetHeight(height int)
SetHeight sets the height of the conversation selector
func (*ConversationSelectorImpl) SetWidth ¶ added in v0.45.0
func (c *ConversationSelectorImpl) SetWidth(width int)
SetWidth sets the width of the conversation selector
func (*ConversationSelectorImpl) View ¶ added in v0.45.0
func (c *ConversationSelectorImpl) View() string
type ConversationView ¶
ConversationView handles the chat conversation display
func NewConversationView ¶
func NewConversationView() *ConversationView
func (*ConversationView) CanScrollDown ¶
func (cv *ConversationView) CanScrollDown() bool
func (*ConversationView) CanScrollUp ¶
func (cv *ConversationView) CanScrollUp() bool
func (*ConversationView) GetPlainTextLines ¶ added in v0.38.0
func (cv *ConversationView) GetPlainTextLines() []string
GetPlainTextLines returns the conversation as plain text lines for selection mode
func (*ConversationView) GetScrollOffset ¶
func (cv *ConversationView) GetScrollOffset() int
func (*ConversationView) IsToolResultExpanded ¶
func (cv *ConversationView) IsToolResultExpanded(index int) bool
func (*ConversationView) Render ¶
func (cv *ConversationView) Render() string
func (*ConversationView) SetConfigPath ¶ added in v0.40.0
func (cv *ConversationView) SetConfigPath(configPath string)
SetConfigPath sets the config path for the welcome message
func (*ConversationView) SetConversation ¶
func (cv *ConversationView) SetConversation(conversation []domain.ConversationEntry)
func (*ConversationView) SetHeight ¶
func (cv *ConversationView) SetHeight(height int)
func (*ConversationView) SetToolFormatter ¶ added in v0.33.4
func (cv *ConversationView) SetToolFormatter(formatter domain.ToolFormatter)
SetToolFormatter sets the tool formatter for this conversation view
func (*ConversationView) SetWidth ¶
func (cv *ConversationView) SetWidth(width int)
func (*ConversationView) ToggleAllToolResultsExpansion ¶ added in v0.26.0
func (cv *ConversationView) ToggleAllToolResultsExpansion()
func (*ConversationView) ToggleToolResultExpansion ¶
func (cv *ConversationView) ToggleToolResultExpansion(index int)
func (*ConversationView) View ¶
func (cv *ConversationView) View() string
type DiffRenderer ¶ added in v0.27.0
type DiffRenderer struct {
// contains filtered or unexported fields
}
DiffRenderer provides high-performance diff rendering with colors
func NewDiffRenderer ¶ added in v0.27.0
func NewDiffRenderer(theme shared.Theme) *DiffRenderer
NewDiffRenderer creates a new diff renderer with colored output
func NewToolDiffRenderer ¶ added in v0.38.0
func NewToolDiffRenderer() *DiffRenderer
NewToolDiffRenderer creates a tool diff renderer (alias for DiffRenderer)
func (*DiffRenderer) RenderColoredDiff ¶ added in v0.27.0
func (d *DiffRenderer) RenderColoredDiff(oldContent, newContent string) string
RenderColoredDiff renders a simple diff between old and new content (for compatibility)
func (*DiffRenderer) RenderDiff ¶ added in v0.38.0
func (d *DiffRenderer) RenderDiff(diffInfo DiffInfo) string
RenderDiff renders a unified diff with colors
func (*DiffRenderer) RenderEditToolArguments ¶ added in v0.27.0
func (d *DiffRenderer) RenderEditToolArguments(args map[string]any) string
RenderEditToolArguments renders Edit tool arguments with diff preview
func (*DiffRenderer) RenderMultiEditToolArguments ¶ added in v0.27.0
func (d *DiffRenderer) RenderMultiEditToolArguments(args map[string]any) string
RenderMultiEditToolArguments renders MultiEdit tool arguments
func (*DiffRenderer) RenderWriteToolArguments ¶ added in v0.38.0
func (d *DiffRenderer) RenderWriteToolArguments(args map[string]any) string
RenderWriteToolArguments renders Write tool arguments
type FileSelectionAction ¶ added in v0.27.0
type FileSelectionAction int
FileSelectionAction represents the type of action taken in file selection
const ( FileSelectionActionNone FileSelectionAction = iota FileSelectionActionSelect FileSelectionActionCancel )
type FileSelectionData ¶ added in v0.27.0
FileSelectionData holds the data needed to render the file selection view
type FileSelectionHandler ¶ added in v0.27.0
type FileSelectionHandler struct {
// contains filtered or unexported fields
}
FileSelectionHandler handles file selection logic and state management
func NewFileSelectionHandler ¶ added in v0.27.0
func NewFileSelectionHandler(theme shared.Theme) *FileSelectionHandler
NewFileSelectionHandler creates a new file selection handler
func (*FileSelectionHandler) CreateStatusMessage ¶ added in v0.27.0
func (h *FileSelectionHandler) CreateStatusMessage(action FileSelectionAction, selectedFile string) tea.Cmd
CreateStatusMessage creates appropriate status messages for file selection actions
func (*FileSelectionHandler) HandleKeyEvent ¶ added in v0.27.0
func (h *FileSelectionHandler) HandleKeyEvent( keyMsg tea.KeyMsg, files []string, searchQuery string, selectedIndex int, ) (newSearchQuery string, newSelectedIndex int, action FileSelectionAction, selectedFile string)
HandleKeyEvent processes key events for file selection
func (*FileSelectionHandler) RenderFileSelection ¶ added in v0.27.0
func (h *FileSelectionHandler) RenderFileSelection(data FileSelectionData) string
RenderFileSelection renders the file selection view
func (*FileSelectionHandler) UpdateInputWithSelectedFile ¶ added in v0.27.0
func (h *FileSelectionHandler) UpdateInputWithSelectedFile(currentInput string, cursor int, selectedFile string) (newInput string, newCursor int)
UpdateInputWithSelectedFile updates input text with the selected file
type FileSelectionView ¶ added in v0.27.0
type FileSelectionView struct {
// contains filtered or unexported fields
}
func NewFileSelectionView ¶ added in v0.27.0
func NewFileSelectionView(theme shared.Theme) *FileSelectionView
func (*FileSelectionView) RenderView ¶ added in v0.27.0
func (f *FileSelectionView) RenderView(allFiles []string, searchQuery string, selectedIndex int) string
func (*FileSelectionView) SetWidth ¶ added in v0.27.0
func (f *FileSelectionView) SetWidth(width int)
type HelpBar ¶
type HelpBar struct {
// contains filtered or unexported fields
}
HelpBar displays keyboard shortcuts at the bottom of the screen
func NewHelpBar ¶
func NewHelpBar() *HelpBar
func (*HelpBar) SetEnabled ¶
func (*HelpBar) SetShortcuts ¶
func (hb *HelpBar) SetShortcuts(shortcuts []shared.KeyShortcut)
type InputView ¶
type InputView struct { Autocomplete shared.AutocompleteInterface // contains filtered or unexported fields }
InputView handles user input with history and autocomplete
func NewInputView ¶
func NewInputView(modelService domain.ModelService) *InputView
func NewInputViewWithConfigDir ¶ added in v0.42.0
func NewInputViewWithConfigDir(modelService domain.ModelService, configDir string) *InputView
func (*InputView) AddToHistory ¶ added in v0.27.0
AddToHistory adds the current input to the history
func (*InputView) ClearInput ¶
func (iv *InputView) ClearInput()
func (*InputView) IsAutocompleteVisible ¶ added in v0.27.0
IsAutocompleteVisible returns whether autocomplete is currently visible
func (*InputView) IsTextSelectionMode ¶ added in v0.38.0
func (*InputView) NavigateHistoryDown ¶ added in v0.27.0
func (iv *InputView) NavigateHistoryDown()
NavigateHistoryDown moves down in history (to newer messages) - public method for interface
func (*InputView) NavigateHistoryUp ¶ added in v0.27.0
func (iv *InputView) NavigateHistoryUp()
NavigateHistoryUp moves up in history (to older messages) - public method for interface
func (*InputView) SetPlaceholder ¶
func (*InputView) SetTextSelectionMode ¶ added in v0.38.0
func (*InputView) TryHandleAutocomplete ¶ added in v0.42.0
TryHandleAutocomplete attempts to handle autocomplete key input
type ModelSelectorImpl ¶ added in v0.27.0
type ModelSelectorImpl struct {
// contains filtered or unexported fields
}
ModelSelectorImpl implements model selection UI
func NewModelSelector ¶ added in v0.27.0
func NewModelSelector(models []string, modelService domain.ModelService, theme shared.Theme) *ModelSelectorImpl
NewModelSelector creates a new model selector
func (*ModelSelectorImpl) GetSelected ¶ added in v0.27.0
func (m *ModelSelectorImpl) GetSelected() string
GetSelected returns the selected model
func (*ModelSelectorImpl) Init ¶ added in v0.27.0
func (m *ModelSelectorImpl) Init() tea.Cmd
func (*ModelSelectorImpl) IsCancelled ¶ added in v0.27.0
func (m *ModelSelectorImpl) IsCancelled() bool
IsCancelled returns true if selection was cancelled
func (*ModelSelectorImpl) IsSelected ¶ added in v0.27.0
func (m *ModelSelectorImpl) IsSelected() bool
IsSelected returns true if a model was selected
func (*ModelSelectorImpl) SetHeight ¶ added in v0.27.0
func (m *ModelSelectorImpl) SetHeight(height int)
SetHeight sets the height of the model selector
func (*ModelSelectorImpl) SetWidth ¶ added in v0.27.0
func (m *ModelSelectorImpl) SetWidth(width int)
SetWidth sets the width of the model selector
func (*ModelSelectorImpl) View ¶ added in v0.27.0
func (m *ModelSelectorImpl) View() string
type StatusState ¶ added in v0.38.0
type StatusState struct {
// contains filtered or unexported fields
}
StatusState represents a saved status state
type StatusView ¶
type StatusView struct {
// contains filtered or unexported fields
}
StatusView handles status messages, errors, and loading spinners
func NewStatusView ¶
func NewStatusView() *StatusView
func (*StatusView) ClearStatus ¶
func (sv *StatusView) ClearStatus()
func (*StatusView) HasSavedState ¶ added in v0.38.0
func (sv *StatusView) HasSavedState() bool
HasSavedState returns true if there's a saved state that can be restored
func (*StatusView) IsShowingError ¶
func (sv *StatusView) IsShowingError() bool
func (*StatusView) IsShowingSpinner ¶
func (sv *StatusView) IsShowingSpinner() bool
func (*StatusView) Render ¶
func (sv *StatusView) Render() string
func (*StatusView) RestoreSavedState ¶ added in v0.38.0
func (sv *StatusView) RestoreSavedState() tea.Cmd
RestoreSavedState restores the previously saved status state
func (*StatusView) SaveCurrentState ¶ added in v0.38.0
func (sv *StatusView) SaveCurrentState()
SaveCurrentState saves the current status state for later restoration
func (*StatusView) SetHeight ¶
func (sv *StatusView) SetHeight(height int)
func (*StatusView) SetTokenUsage ¶
func (sv *StatusView) SetTokenUsage(usage string)
func (*StatusView) SetWidth ¶
func (sv *StatusView) SetWidth(width int)
func (*StatusView) ShowError ¶
func (sv *StatusView) ShowError(message string)
func (*StatusView) ShowSpinner ¶
func (sv *StatusView) ShowSpinner(message string)
func (*StatusView) ShowSpinnerWithType ¶ added in v0.27.0
func (sv *StatusView) ShowSpinnerWithType(message string, statusType domain.StatusType, progress *domain.StatusProgress)
func (*StatusView) ShowStatus ¶
func (sv *StatusView) ShowStatus(message string)
func (*StatusView) ShowStatusWithType ¶ added in v0.27.0
func (sv *StatusView) ShowStatusWithType(message string, statusType domain.StatusType, progress *domain.StatusProgress)
func (*StatusView) UpdateSpinnerMessage ¶ added in v0.27.0
func (sv *StatusView) UpdateSpinnerMessage(message string, statusType domain.StatusType)
func (*StatusView) View ¶
func (sv *StatusView) View() string
type TextSelectionView ¶ added in v0.38.0
type TextSelectionView struct {
// contains filtered or unexported fields
}
TextSelectionView provides vim-like text selection mode
func NewTextSelectionView ¶ added in v0.38.0
func NewTextSelectionView() *TextSelectionView
NewTextSelectionView creates a new text selection view
func (*TextSelectionView) HandleKey ¶ added in v0.38.0
func (v *TextSelectionView) HandleKey(msg tea.KeyMsg) tea.Cmd
HandleKey handles keyboard input in selection mode
func (*TextSelectionView) Render ¶ added in v0.38.0
func (v *TextSelectionView) Render() string
func (*TextSelectionView) SetHeight ¶ added in v0.38.0
func (v *TextSelectionView) SetHeight(height int)
SetHeight sets the height of the view
func (*TextSelectionView) SetLines ¶ added in v0.38.0
func (v *TextSelectionView) SetLines(lines []string)
SetLines sets the lines to display from a ConversationView
func (*TextSelectionView) SetWidth ¶ added in v0.38.0
func (v *TextSelectionView) SetWidth(width int)
SetWidth sets the width of the view