Skip to main content

Crate tui_pages

Crate tui_pages 

Source
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::NavigationCoordinator;
pub use navigation::NavigationEvent;
pub use navigation::NavigationResult;
pub use navigation::NavigationRouter;
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;

Modules§

command
dialog
Built-in modal dialog system (feature = dialog).
focus
input
navigation
prelude
Everything a typical application needs in one glob import.
runtime
terminal
Panic-safe terminal lifecycle.