Directories
¶
| Path | Synopsis |
|---|---|
|
Package charts holds terminal chart primitives: sparklines (block and directional braille), horizontal bars, pie charts, sankey flows, multi-series braille line charts, and a whole-cell CellCanvas with color gradients.
|
Package charts holds terminal chart primitives: sparklines (block and directional braille), horizontal bars, pie charts, sankey flows, multi-series braille line charts, and a whole-cell CellCanvas with color gradients. |
|
Package datepicker provides a Bubble Tea v2 component for viewing and selecting a date from a monthly view.
|
Package datepicker provides a Bubble Tea v2 component for viewing and selecting a date from a monthly view. |
|
Package dependencies reads the running binary's build info (module path, version, VCS state, and dependency list) for display in about/info views.
|
Package dependencies reads the running binary's build info (module path, version, VCS state, and dependency list) for display in about/info views. |
|
examples
|
|
|
cellcanvas
command
Command cellcanvas demos snap/charts' whole-cell canvas and color gradients: a classic plasma field animates over a truecolor palette built from chained charts.Gradient blends.
|
Command cellcanvas demos snap/charts' whole-cell canvas and color gradients: a classic plasma field animates over a truecolor palette built from chained charts.Gradient blends. |
|
charts
command
Command charts is the canonical multi-chart wiring example: several chart models of the same and different types live in one app, every data message carries the ID of the chart it belongs to, and the window is split between charts on resize via SetSize with layout driven by Used().
|
Command charts is the canonical multi-chart wiring example: several chart models of the same and different types live in one app, every data message carries the ID of the chart it belongs to, and the window is split between charts on resize via SetSize with layout driven by Used(). |
|
datepicker
command
Command datepicker is a script-usable date prompt built on snap/datepicker: pick a day and the ISO date is written to stdout (the TUI itself renders on stderr), so a shell can capture it:
|
Command datepicker is a script-usable date prompt built on snap/datepicker: pick a day and the ISO date is written to stdout (the TUI itself renders on stderr), so a shell can capture it: |
|
dependencies
command
Command dependencies demos snap/dependencies rendered by snap/status's InfoModal: the running binary's build info (Go version, OS, VCS revision) above a scrollable dependency list read via dependencies.ExpandedBuildInfo.
|
Command dependencies demos snap/dependencies rendered by snap/status's InfoModal: the running binary's build info (Go version, OS, VCS revision) above a scrollable dependency list read via dependencies.ExpandedBuildInfo. |
|
forms
command
Command forms is a script-usable task form proving snap/forms extends huh rather than replacing it: a plain huh.Form whose fields validate through forms.HuhValidate(ParseRequired/ParseDuration/ParseISODate), with SplitAndClean cleaning the tags on submit.
|
Command forms is a script-usable task form proving snap/forms extends huh rather than replacing it: a plain huh.Form whose fields validate through forms.HuhValidate(ParseRequired/ParseDuration/ParseISODate), with SplitAndClean cleaning the tags on submit. |
|
internal/exui
Package exui is the shared chrome for snap's example programs, so every example reads the same way and doubles as a script-friendly input tool:
|
Package exui is the shared chrome for snap's example programs, so every example reads the same way and doubles as a script-friendly input tool: |
|
linechart
command
Command linechart demos snap/charts' braille line chart model: two live series (a sine sweep and its noisy echo) stream through ID-routed LineDataMsgs into a LineChartModel that stretches to fill the window — braille dots give 2x4 sub-cell resolution, and overlapping series blend their colors per cell.
|
Command linechart demos snap/charts' braille line chart model: two live series (a sine sweep and its noisy echo) stream through ID-routed LineDataMsgs into a LineChartModel that stretches to fill the window — braille dots give 2x4 sub-cell resolution, and overlapping series blend their colors per cell. |
|
menu
command
Command menu is a script-usable context-menu picker built on snap/menu: right-click anywhere (or press m) to pop the menu, choose an item, and the chosen item's ID is written to stdout (the TUI itself renders on stderr):
|
Command menu is a script-usable context-menu picker built on snap/menu: right-click anywhere (or press m) to pop the menu, choose an item, and the chosen item's ID is written to stdout (the TUI itself renders on stderr): |
|
navigation
command
Command navigation is a script-usable page picker that shows all three snap/navigation styles behind the one Navigator contract: n swaps between Sidebar, Tabs, and MinimalTopNav at runtime (the swap the contract exists for), arrows/clicks/wheel move between pages, and Enter writes the active page's ID to stdout (the TUI itself renders on stderr):
|
Command navigation is a script-usable page picker that shows all three snap/navigation styles behind the one Navigator contract: n swaps between Sidebar, Tabs, and MinimalTopNav at runtime (the swap the contract exists for), arrows/clicks/wheel move between pages, and Enter writes the active page's ID to stdout (the TUI itself renders on stderr): |
|
pickers
command
Command pickers is a script-usable directory prompt built on snap/pickers' DirPicker: walk the tree, Space selects, Ctrl+S picks the browsed folder, and the chosen path (relative to the demo tree) is written to stdout (the TUI itself renders on stderr):
|
Command pickers is a script-usable directory prompt built on snap/pickers' DirPicker: walk the tree, Space selects, Ctrl+S picks the browsed folder, and the chosen path (relative to the demo tree) is written to stdout (the TUI itself renders on stderr): |
|
pills
command
Command pills is a script-usable PillShape picker built on snap/styles: every shape is previewed as pills, a segmented pill, a nav strip, and breadcrumbs; Enter writes the selected shape's config value to stdout (the TUI itself renders on stderr):
|
Command pills is a script-usable PillShape picker built on snap/styles: every shape is previewed as pills, a segmented pill, a nav strip, and breadcrumbs; Enter writes the selected shape's config value to stdout (the TUI itself renders on stderr): |
|
scrollbar
command
Command scrollbar demos snap/scrollbar's three presets side by side over the same scrolling text: Smooth (sub-cell glide), Line (thin default), and Classic (retro blocks).
|
Command scrollbar demos snap/scrollbar's three presets side by side over the same scrolling text: Smooth (sub-cell glide), Line (thin default), and Classic (retro blocks). |
|
status
command
Command status demos snap/status + snap/notifications end to end: the status bar (key help on the left, live segments and a summary on the right) with notification toasts, a progress notification that fills as a fake download runs, and the ctrl+n history panel with severity badges.
|
Command status demos snap/status + snap/notifications end to end: the status bar (key help on the left, live segments and a summary on the right) with notification toasts, a progress notification that fills as a fake download runs, and the ctrl+n history panel with severity badges. |
|
table
command
Command table is a script-usable row picker built on snap/table: browse, sort, and filter, then Enter (or double-click) writes the chosen row's key to stdout (the TUI itself renders on stderr), so a shell can capture it:
|
Command table is a script-usable row picker built on snap/table: browse, sort, and filter, then Enter (or double-click) writes the chosen row's key to stdout (the TUI itself renders on stderr), so a shell can capture it: |
|
timepicker
command
Command timepicker is a script-usable time prompt built on snap/timepicker: confirm a time and HH:MM:SS is written to stdout (the TUI itself renders on stderr), so a shell can capture it:
|
Command timepicker is a script-usable time prompt built on snap/timepicker: confirm a time and HH:MM:SS is written to stdout (the TUI itself renders on stderr), so a shell can capture it: |
|
Package forms provides small input-parsing helpers for text fields: trim-and-validate parsers that return user-facing error messages naming the field, so every form page doesn't re-invent "required", duration, and date validation with slightly different wording.
|
Package forms provides small input-parsing helpers for text fields: trim-and-validate parsers that return user-facing error messages naming the field, so every form page doesn't re-invent "required", duration, and date validation with slightly different wording. |
|
Package gate provides named boolean feature gates with defaults, environment-variable overrides, and optional persistence, letting apps and pages toggle functionality at runtime (surfaced in the Settings page via a GateRegistry passed through settings.Options).
|
Package gate provides named boolean feature gates with defaults, environment-variable overrides, and optional persistence, letting apps and pages toggle functionality at runtime (surfaced in the Settings page via a GateRegistry passed through settings.Options). |
|
Package geom provides small screen-geometry primitives shared across the framework and its consumers.
|
Package geom provides small screen-geometry primitives shared across the framework and its consumers. |
|
Package keys defines AppKeyMap, the application-wide key bindings (quit, page cycling, settings, nav/status toggles) with bubbles/help integration and user rebinding support.
|
Package keys defines AppKeyMap, the application-wide key bindings (quit, page cycling, settings, nav/status toggles) with bubbles/help integration and user rebinding support. |
|
Package layout provides lipgloss-frame arithmetic helpers: where content starts inside a bordered/padded style, how much room it has, and rendering content into a fixed outer box.
|
Package layout provides lipgloss-frame arithmetic helpers: where content starts inside a bordered/padded style, how much room it has, and rendering content into a fixed outer box. |
|
Package menu provides a right-click context menu: a small pop-up action list opened at the pointer position, clamped to the terminal, and driven by mouse or keyboard.
|
Package menu provides a right-click context menu: a small pop-up action list opened at the pointer position, clamped to the terminal, and driven by mouse or keyboard. |
|
Package navigation defines the Navigator interface and the built-in navigators: Sidebar (left-docked list), Tabs (top-docked bordered tab bar with overflow paging), and MinimalTopNav (compact top row with optional number prefixes).
|
Package navigation defines the Navigator interface and the built-in navigators: Sidebar (left-docked list), Tabs (top-docked bordered tab bar with overflow paging), and MinimalTopNav (compact top row with optional number prefixes). |
|
Package notifications provides a severity-aware notification manager with toast display, history, and optional JSON persistence.
|
Package notifications provides a severity-aware notification manager with toast display, history, and optional JSON persistence. |
|
Package osc emits terminal OSC escape sequences for taskbar / tab progress (the ConEmu OSC 9;4 protocol, honored by Windows Terminal and others).
|
Package osc emits terminal OSC escape sequences for taskbar / tab progress (the ConEmu OSC 9;4 protocol, honored by Windows Terminal and others). |
|
Package page provides a small embeddable base for app pages, removing the colors/size boilerplate every page would otherwise repeat.
|
Package page provides a small embeddable base for app pages, removing the colors/size boilerplate every page would otherwise repeat. |
|
Package pickers holds directory/file selection components: a drive-aware directory browser (DirPicker) and a multi-path editor (MultiFileEditor) whose rows open per-row pickers.
|
Package pickers holds directory/file selection components: a drive-aware directory browser (DirPicker) and a multi-path editor (MultiFileEditor) whose rows open per-row pickers. |
|
Package rendercheck holds test helpers that catch rendered-string building mistakes in Bubble Tea v2 apps: layout math that guesses frame sizes, borders that lose their edges, lines that overflow the viewport, display- width errors around emoji/CJK, golden-file comparisons, and key-binding hygiene (CheckCodeStandards) — shared so every consumer gates on the same checks.
|
Package rendercheck holds test helpers that catch rendered-string building mistakes in Bubble Tea v2 apps: layout math that guesses frame sizes, borders that lose their edges, lines that overflow the viewport, display- width errors around emoji/CJK, golden-file comparisons, and key-binding hygiene (CheckCodeStandards) — shared so every consumer gates on the same checks. |
|
Package scrollbar renders minimal scroll indicators for scrolling regions.
|
Package scrollbar renders minimal scroll indicators for scrolling regions. |
|
Package status renders the bottom status bar and its attached surfaces: key-binding help (short and expanded), the settings/notification/info icon cluster with click regions, the notification history panel, and the centered app-info modal.
|
Package status renders the bottom status bar and its attached surfaces: key-binding help (short and expanded), the settings/notification/info icon cluster with click regions, the notification history panel, and the centered app-info modal. |
|
Package theme builds the application's visual styling by combining three orthogonal axes that the end user can choose independently:
|
Package theme builds the application's visual styling by combining three orthogonal axes that the end user can choose independently: |
|
Package table is a themed, interactive data table widget for Bubble Tea apps.
|
Package table is a themed, interactive data table widget for Bubble Tea apps. |
|
Package timepicker is a small Bubble Tea component for editing a time.Duration as hours/minutes/seconds segments.
|
Package timepicker is a small Bubble Tea component for editing a time.Duration as hours/minutes/seconds segments. |
|
Package uifx defines the shared interaction-effect tiers for snap components.
|
Package uifx defines the shared interaction-effect tiers for snap components. |
|
Package winterm reads and writes the Windows *default terminal* delegation — the per-user setting that decides whether console applications open in the legacy console host (conhost) or in Windows Terminal.
|
Package winterm reads and writes the Windows *default terminal* delegation — the per-user setting that decides whether console applications open in the legacy console host (conhost) or in Windows Terminal. |
Click to show internal directories.
Click to hide internal directories.













