app

package
v0.0.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 3, 2026 License: MIT Imports: 36 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DialogAddProject      = "add_project"
	DialogCreateWorkspace = "create_workspace"
	DialogDeleteWorkspace = "delete_workspace"
	DialogRemoveProject   = "remove_project"
	DialogSelectAssistant = "select_assistant"
	DialogQuit            = "quit"
	DialogCleanupTmux     = "cleanup_tmux"
)

DialogID constants

View Source
const (
	HarnessMonitor = "monitor"
	HarnessCenter  = "center"
	HarnessSidebar = "sidebar"
)

HarnessMode values.

Variables

This section is empty.

Functions

This section is empty.

Types

type App

type App struct {
	// contains filtered or unexported fields
}

App is the root Bubbletea model

func New

func New(version, commit, date string) (*App, error)

New creates a new App instance

func (*App) CleanupTmuxOnExit added in v0.0.9

func (a *App) CleanupTmuxOnExit()

CleanupTmuxOnExit kills amux sessions on exit when persistence is disabled.

func (*App) Init

func (a *App) Init() tea.Cmd

Init initializes the application

func (*App) IsTmuxAvailable added in v0.0.9

func (a *App) IsTmuxAvailable() bool

IsTmuxAvailable returns whether tmux is installed and available.

func (*App) SetMsgSender added in v0.0.4

func (a *App) SetMsgSender(send func(tea.Msg))

func (*App) Shutdown added in v0.0.5

func (a *App) Shutdown()

Shutdown releases resources that may outlive the Bubble Tea program.

func (*App) Update

func (a *App) Update(msg tea.Msg) (model tea.Model, cmd tea.Cmd)

Update handles all messages with panic recovery.

func (*App) View

func (a *App) View() (view tea.View)

View renders the application using layer-based composition. This uses lipgloss Canvas to compose layers directly, enabling ultraviolet's cell-level differential rendering for optimal performance.

type Harness

type Harness struct {
	// contains filtered or unexported fields
}

Harness drives a headless render loop for profiling.

func NewHarness

func NewHarness(opts HarnessOptions) (*Harness, error)

NewHarness builds a headless UI harness for the requested mode.

func (*Harness) Render

func (h *Harness) Render() tea.View

Render returns the composed view for the harness mode.

func (*Harness) Step

func (h *Harness) Step(frame int)

Step simulates output for the active tabs.

type HarnessOptions

type HarnessOptions struct {
	Mode            string
	Tabs            int
	Width           int
	Height          int
	HotTabs         int
	PayloadBytes    int
	NewlineEvery    int
	ShowKeymapHints bool
}

HarnessOptions configures the headless UI harness.

type KeyMap

type KeyMap struct {
	// Prefix key (leader)
	Prefix key.Binding

	// Global (active only after prefix)
	Quit           key.Binding
	MoveLeft       key.Binding
	MoveRight      key.Binding
	MoveUp         key.Binding
	MoveDown       key.Binding
	NextTab        key.Binding
	PrevTab        key.Binding
	CloseTab       key.Binding
	DetachTab      key.Binding
	ReattachTab    key.Binding
	RestartTab     key.Binding
	CleanupTmux    key.Binding
	NewAgentTab    key.Binding
	NewTerminalTab key.Binding
	Help           key.Binding
	Monitor        key.Binding

	// Dashboard
	Enter        key.Binding
	Delete       key.Binding
	ToggleFilter key.Binding
	Refresh      key.Binding

	// Agent/Chat
	Interrupt  key.Binding
	SendEscape key.Binding

	// Navigation
	Up    key.Binding
	Down  key.Binding
	Left  key.Binding
	Right key.Binding
}

KeyMap defines all keybindings for the application

func DefaultKeyMap

func DefaultKeyMap() KeyMap

DefaultKeyMap returns the default keybindings

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL