util/inline_tui/inline_tui library

A small library of reusable inline terminal user interface (TUI) components.

The components render and update only their own rows at the bottom of the terminal rather than taking over the full screen, and work across modern Windows consoles (cmd and PowerShell) as well as macOS and Linux terminals.

Classes

InlineTerminal
Abstraction over the terminal used by the inline TUI components.
ScrollingProcess
Runs a subprocess and tails its combined stdout/stderr inside a ScrollingSection at the bottom of the terminal.
ScrollingProcessResult
The outcome of running a process inside a ScrollingSection.
ScrollingSection
A fixed-height scrolling output region anchored at the bottom of the terminal.
ScrollingSink
Bridges byte output written to an IOSink into a ScrollingSection.
SelectList
A keyboard-navigated, bottom-anchored selection list.
SelectListRunner<T>
Drives a SelectListModel against a InlineTerminal, wiring keyboard input to the model and rendering updates via a BottomRegionRenderer.
SelectListStyle
The visual glyphs and color settings used when rendering a select list.
StdioTerminal
A InlineTerminal backed by the process standard input and output.

Enums

AnsiStyle
Standard ANSI escape code for terminal colors and styles.

Typedefs

SpinnerScheduler = void Function() Function(Duration period, void onTick())
Schedules onTick to be called every period, returning a callback that cancels the scheduled ticking.