Expand description
Coordination runtime for keyboard-driven, page-based TUI applications.
The crate is intentionally domain-agnostic: applications own their action
enum, view/page enum, and state. The library owns the coordination model —
input sequences, command resolution, focus, overlays, navigation, buffers,
and panes — and applies the TuiEffect values an application returns.
TuiPages is the primary entry point. The submodules (input,
command, focus, navigation) expose the same primitives for
advanced callers that want to wire the flow themselves.
Re-exports§
pub use dialog::render_dialog;pub use dialog::DialogData;pub use dialog::DialogKey;pub use dialog::DialogResult;pub use dialog::DialogTheme;pub use command::CommandHint;pub use command::CommandRegistry;pub use command::CommandResolver;pub use command::CommandResponse;pub use focus::FocusController;pub use focus::FocusIntent;pub use focus::FocusManager;pub use focus::FocusQuery;pub use focus::FocusTarget;pub use focus::FocusWrap;pub use focus::Focusable;pub use focus::OverlayFocus;pub use focus::PageFocusBuilder;pub use input::parse_binding;pub use input::parse_key;pub use input::try_parse_binding;pub use input::try_parse_key;pub use input::ChordSequenceTracker;pub use input::InputHint;pub use input::InputPipeline;pub use input::InputRegistry;pub use input::KeyChord;pub use input::KeyMap;pub use input::ParseKeyError;pub use input::PipelineResponse;pub use navigation::BufferState;pub use navigation::PaneId;pub use navigation::PaneSession;pub use navigation::PaneSplit;pub use navigation::ViewBuffer;pub use navigation::WorkspaceState;pub use runtime::modes;pub use runtime::ActionContext;pub use runtime::ActionOutcome;pub use runtime::ModeId;pub use runtime::PageFn;pub use runtime::PageProvider;pub use runtime::PageSpec;pub use runtime::TuiActionHandler;pub use runtime::TuiApp;pub use runtime::TuiEffect;pub use runtime::TuiPages;pub use runtime::TuiPagesBuilder;pub use runtime::TuiPagesError;pub use runtime::TuiPagesOutput;pub use runtime::TuiPagesResult;pub use runtime::TuiPagesStatus;pub use terminal::enter as enter_terminal;pub use terminal::TerminalGuard;