Expand description
oino-tui: the interactive terminal client over
oino_client::SessionBackend.
The binary constructs the backend (in-process or remote) and a TuiHost and calls
run. Everything visible is driven by App, a pure state machine over key presses,
client events and command replies; render::draw paints it with ratatui. Extension UI
(dialogs, widgets, status, frames, panels, OUS specs) is rendered natively from the
frontend-agnostic protocol (ui-protocol.md).
§API map
| Module | Contents |
|---|---|
app | App, AppEvent, Effect, TuiOptions |
render | render::draw |
host | TuiHost, host::LocalHost |
input | crossterm → oino_view::keys::KeyId |
theme | theme::Theme |
runner | TUI.start |
Re-exports§
pub use app::App;pub use app::AppEvent;pub use app::Effect;pub use app::Tag;pub use app::TuiMode;pub use app::TuiOptions;pub use host::TuiHost;
Modules§
- app
- The interactive-mode state machine.
- host
- Frontend services the
SessionBackenddoes not offer yet. - input
- Terminal key events →
KeyIds. - render
- Frame layout and drawing (container order: chat, pending messages, status, widgets above editor, editor, widgets below editor, footer).
- theme
- Colour theme: the built-in
darkandlightthemes (resolved from their okhsl values) and the OUS tone mapping (ui-protocol §6.5).
Enums§
- TuiError
- Failure of the interactive client.
Functions§
- run
- Runs the interactive client until the user quits.