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
onTickto be called everyperiod, returning a callback that cancels the scheduled ticking.