app

package
v0.0.6 Latest Latest
Warning

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

Go to latest
Published: Jan 28, 2026 License: MIT Imports: 32 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"
)

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) Init

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

Init initializes the application

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
	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