Documentation
¶
Overview ¶
Package ui is the Bubble Tea front end.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckKeys ¶
func CheckKeys(cfg core.KeysConfig) error
CheckKeys reports the first mistake in the [keys] config that the UI can find: a command that does not exist or does not belong to its context, or a key that is both a key and the start of a sequence. main calls it before the TUI starts.
Types ¶
type App ¶
type App struct {
// contains filtered or unexported fields
}
App is the root Bubble Tea model.
func (*App) Close ¶
Close closes every pane, concurrently, and waits for closes already running. ctx bounds the wait, for the picture loader's workers too; when it ends first Close cancels the app context, and exec's context watcher then SIGKILLs each remaining child's process group and its terminal's foreground group, asynchronously after Close returns. It is safe to call twice, and only after the program stopped running Update.
type Options ¶
type Options struct {
Logger *slog.Logger
Store *core.Store
// Getenv reads the environment for the pane shell ($SHELL); nil means os.Getenv.
Getenv func(string) string
// Cwd is the launch directory, where the first pane starts; empty means os.Getwd.
Cwd string
// RecordDir, when set, receives one recording per pane (diagnostics); empty means off.
RecordDir string
// Icons draws Nerd Font glyphs; false drops every one.
Icons bool
// FocusFollowsMouse focuses the pane under the pointer; CopyOnSelect copies
// a selection when the button is released.
FocusFollowsMouse, CopyOnSelect bool
// NoOSC52 and NoNativeClipboard turn off a copy path; the zero value keeps both on.
NoOSC52, NoNativeClipboard bool
// Harness launches and recognises agents; nil means harness.Claude{}.
Harness harness.Harness
// HookSettings is the --settings file for agents; empty launches them without hooks.
HookSettings string
// HookSock is AIM_SOCK for every pane; empty sets none.
HookSock string
// Events delivers hook events; nil means none arrive.
Events <-chan harness.Event
// Notice is shown as a toast at start; empty for none.
Notice string
// GitTempDir is where the diff engine puts its temporary index for the
// rail's diff stats; empty turns the stats off.
GitTempDir string
// IndexCache is the directory where git keeps a refreshed index copy per
// worktree; empty disables the cache.
IndexCache string
// Watches shares one git watcher per worktree among the agent panes in it;
// nil means no watches.
Watches *git.WatchSet
// Places answers which worktree an edited file belongs to; nil means a cache
// of the app's own over git.EditPlace.
Places *git.PlaceCache
// Diff is the [diff] config: the review drawer's starting layout and mode and
// the diff engine's limits. The zero value means the defaults.
Diff core.DiffConfig
// Worktrees is the [worktrees] config: where a new worktree goes. The zero
// value means inside the main checkout.
Worktrees core.WorktreesConfig
// Plans is the [plans] config: the folders whose markdown files count as
// plans. Nil Paths records no plan files.
Plans core.PlansConfig
// Save is called with the state after every successful dispatch; nil saves nothing.
Save func(core.State)
// Marks loads and saves the reviewed-hunk marks; nil keeps them for the
// session only.
Marks markFiles
// PRs polls the pull requests of the repositories the agents work in; nil
// turns every pull request feature off.
PRs prSource
// PRLookup finds the merged or closed pull request of a branch whose open one
// is gone; nil means no lookups.
PRLookup PRLookup
// OpenURL opens a link in the browser; nil means the platform's opener.
OpenURL urlOpener
// PRActions makes the GitHub writes (approve, merge, open a pull request);
// nil turns them off.
PRActions prActions
// PRReads makes the GitHub reads of the pull request views (the list's
// searches, job logs, check run summaries and conversations); nil turns them off.
PRReads prReads
// PullRequests is the [pull_requests] config: how many days back the
// Review requested tab's search goes. The zero value is no limit.
PullRequests core.PullRequestsConfig
// Keys is the [keys] config laid over the built-in leader keys.
Keys core.KeysConfig
// Pictures fetches remote images; nil keeps them as image lines.
Pictures pictureFetcher
// ImageCache is the directory of the fetched images' disk cache; empty keeps none.
ImageCache string
}
Options configures the root model.
Source Files
¶
- agents.go
- app.go
- appcopy.go
- approve.go
- appselection.go
- border.go
- browser.go
- browser_linux.go
- browserstart_unix.go
- checks.go
- checksdraw.go
- cilog.go
- cilogdraw.go
- cleanup.go
- cleanupdraw.go
- clipboard.go
- clock.go
- code.go
- command.go
- compose.go
- composedraw.go
- confirm.go
- contextcmds.go
- conv.go
- convdoc.go
- convdraw.go
- copymode.go
- edits.go
- frame.go
- icons.go
- input.go
- keyconfig.go
- keymap.go
- layout_cmds.go
- lifecycle.go
- mddoc.go
- mdlinks.go
- mdmarks.go
- mdoverlay.go
- mdpage.go
- mdpaint.go
- mdpictures.go
- mdview.go
- merge.go
- mergedraw.go
- middlepaste.go
- mouse.go
- overlay.go
- pane.go
- picframe.go
- picker.go
- pickerdraw.go
- picload.go
- pictures.go
- plandraw.go
- planlinks.go
- plans.go
- planview.go
- practions.go
- prlist.go
- prlistdraw.go
- prompt.go
- prreads.go
- prs.go
- prsearch.go
- prtext.go
- push.go
- rail.go
- railcache.go
- raildraw.go
- railkeys.go
- raillayout.go
- railprobe.go
- reader.go
- readerr.go
- record.go
- restore.go
- review.go
- reviewdraw.go
- reviewfocus.go
- reviewhl.go
- reviewkeys.go
- reviewlines.go
- reviewload.go
- reviewmarks.go
- reviewmouse.go
- reviewops.go
- reviewpr.go
- reviewprhead.go
- reviewrows.go
- reviewsel.go
- reviewtext.go
- reviewtheme.go
- reviewtree.go
- reviewtreedraw.go
- reviewwrap.go
- rowrender.go
- scrollview.go
- selection.go
- shell.go
- styles.go
- sysload_linux.go
- textarea.go
- textmouse.go
- textsel.go
- toast.go
- tray.go
- watches.go
- whichkey.go
- workspacebar.go
- worktrees.go
- worktreesdraw.go
Directories
¶
| Path | Synopsis |
|---|---|
|
Package diffview draws the lines of a diff: syntax highlighting by file type, line numbers in a gutter, added and removed lines on tinted grounds, the changed part of a changed line marked, and a side by side layout.
|
Package diffview draws the lines of a diff: syntax highlighting by file type, line numbers in a gutter, added and removed lines on tinted grounds, the changed part of a changed line marked, and a side by side layout. |
|
lexers
Package lexers holds the syntax definitions the review highlights with, and the registry that serves them.
|
Package lexers holds the syntax definitions the review highlights with, and the registry that serves them. |
|
Package kitty builds Kitty graphics protocol escapes and Unicode placeholder cells.
|
Package kitty builds Kitty graphics protocol escapes and Unicode placeholder cells. |
|
Package palette is a fuzzy-filtered list in a framed box, used for the command palette and the theme picker.
|
Package palette is a fuzzy-filtered list in a framed box, used for the command palette and the theme picker. |
|
Package theme holds the Catppuccin flavors AIM ships: each flavor's palette, the semantic UI roles widgets colour from, and a matching Chroma syntax style.
|
Package theme holds the Catppuccin flavors AIM ships: each flavor's palette, the semantic UI roles widgets colour from, and a matching Chroma syntax style. |