#[cfg(feature = "canvas")]
pub mod canvas;
pub mod command;
#[cfg(feature = "tui")]
pub mod dialog;
pub mod focus;
pub mod input;
pub mod keybindings;
pub mod navigation;
#[cfg(feature = "tui")]
pub mod picker;
pub mod runtime;
pub mod terminal;
#[cfg(feature = "tui")]
pub mod theme;
#[cfg(feature = "tui")]
pub use dialog::{
DialogButtonRenderer, DialogData, DialogKey, DialogPurposeClass, DialogPurposeStyle,
DialogResult, DialogTheme, render_dialog, render_dialog_with_button_renderer,
};
#[cfg(feature = "tui")]
pub use picker::{
PickerData, PickerEntry, PickerField, PickerFieldWeights, PickerHead, PickerHeadColumn,
PickerLayout, PickerScope, PickerTheme, centered_picker_area, render_picker,
render_picker_with_custom_preview,
};
#[cfg(feature = "tui")]
pub use theme::{Theme, ThemeError, ThemeLoader, ThemeManager, ThemeRole, ThemeStyles};
#[cfg(feature = "canvas")]
pub use crate::canvas::{
BoundaryExit as CanvasBoundaryExit, CanvasAction, CanvasDispatchOutcome,
CanvasKeyDispatchOutcome, CanvasTextWidgetOutcome,
accepts_text_input as canvas_accepts_text_input, dispatch_action as dispatch_canvas_action,
dispatch_key_event as dispatch_canvas_key_event,
dispatch_text_area_key as dispatch_canvas_text_area_key,
dispatch_text_input_key as dispatch_canvas_text_input_key,
focus_intent_for_boundary as canvas_focus_intent_for_boundary,
mode_for_app_mode as canvas_mode_for_app_mode, modes_for_app_mode as canvas_modes_for_app_mode,
render_canvas_with_suggestions, render_canvas_with_suggestions_default,
render_canvas_with_suggestions_default_options, render_canvas_with_suggestions_with_options,
text_chord_to_action as canvas_text_chord_to_action, text_chord_to_canvas_action,
update_cursor_style_for_editor, update_cursor_style_for_mode,
};
#[cfg(feature = "canvas")]
pub use crate::canvas::{
analyze_canvas_overlaps, canvas_action_name, canvas_bindable_actions,
canvas_default_binding_catalog, canvas_suggestion_default_bindings,
};
pub use command::{CommandHint, CommandRegistry, CommandResolver, CommandResponse};
pub use focus::{
FocusController, FocusIntent, FocusManager, FocusQuery, FocusTarget, FocusWrap, Focusable,
OverlayFocus, PageFocusBuilder,
};
pub use input::{
BindableActionInfo, BindingAnalysis, BindingCatalog, BindingConflict, BindingInfo,
BindingLayer, BindingSource, CanvasRoutingPrecedence, ChordSequenceTracker, InputHint,
InputPipeline, InputRegistry, KeyChord, KeyMap, ParseKeyError, PipelineResponse,
analyze_keymap_bindings, navigation_bindable_actions, parse_binding, parse_key,
try_parse_binding, try_parse_key,
};
pub use keybindings::{
ActionRegistry, BindingNotice, BindingStore, BuiltinNavigationPreset, KeybindingConfig,
KeybindingConfigError, KeybindingReport, NavigationAction, NavigationActionInfo,
NavigationConflictPolicy, NavigationPreset, NavigationPresetBinding, NavigationPresetError,
NavigationPresetIssue, NavigationPresetSection, ParseBuiltinNavigationPresetError,
ParseNavigationActionError, VimAction, apply_navigation_preset_toml,
bind_builtin_general_defaults, bind_builtin_global_defaults, bind_builtin_navigation_defaults,
bind_emacs_general_defaults, bind_emacs_global_defaults, bind_emacs_navigation_defaults,
bind_helix_general_defaults, bind_helix_global_defaults, bind_helix_navigation_defaults,
bind_vim_general_defaults, bind_vim_global_defaults, bind_vim_navigation_defaults,
emacs_preset_toml, helix_preset_toml, navigation_action_infos, navigation_action_outcome,
remap_navigation_preset_toml, try_standard_navigation_action, try_standard_vim_action,
vim_action_outcome, vim_preset_toml,
};
pub use navigation::{
BufferState, NavigationCoordinator, NavigationEvent, NavigationResult, NavigationRouter,
PaneId, PaneSession, PaneSplit, ViewBuffer, WorkspaceState,
};
#[cfg(feature = "command-line")]
pub use runtime::CommandLineAreas;
pub use runtime::{
ActionContext, ActionOutcome, InputLayerContext, ModeId, NoCanvasHooks, PageFn, PageProvider,
PageSpec, RuntimeContext, TuiActionHandler, TuiApp, TuiEffect, TuiPages, TuiPagesBuilder,
TuiPagesError, TuiPagesOutput, TuiPagesResult, TuiPagesStatus, modes,
};
#[cfg(feature = "canvas")]
pub use runtime::CanvasHooks;
pub use terminal::{TerminalGuard, enter as enter_terminal};
pub mod prelude {
pub use crate::terminal;
pub use crate::{
ActionContext, ActionOutcome, ActionRegistry, BindableActionInfo, BindingNotice,
BindingStore, BuiltinNavigationPreset, FocusController, FocusIntent, FocusManager,
FocusQuery, FocusTarget, FocusWrap, KeyChord, KeybindingConfig, KeybindingConfigError,
KeybindingReport, ModeId, NavigationAction, NavigationActionInfo, NavigationConflictPolicy,
NavigationPreset, NavigationPresetError, NavigationPresetIssue, PageFn, PageFocusBuilder,
NoCanvasHooks, PageProvider, PageSpec, ParseBuiltinNavigationPresetError, ParseKeyError,
RuntimeContext, TerminalGuard, TuiActionHandler, TuiApp, TuiEffect, TuiPages,
TuiPagesOutput, TuiPagesStatus, VimAction, define_buttons, modes, parse_binding,
try_parse_binding,
};
#[cfg(feature = "canvas")]
pub use crate::CanvasHooks;
pub use crate::{
apply_navigation_preset_toml, emacs_preset_toml, helix_preset_toml,
navigation_action_infos, navigation_action_outcome, remap_navigation_preset_toml,
try_standard_navigation_action, try_standard_vim_action, vim_action_outcome,
vim_preset_toml,
};
#[cfg(feature = "canvas")]
pub use crate::canvas::{
CanvasAction, CanvasDispatchOutcome, CanvasKeyDispatchOutcome, CanvasTextWidgetOutcome,
dispatch_action as dispatch_canvas_action, dispatch_key_event as dispatch_canvas_key_event,
dispatch_text_area_key as dispatch_canvas_text_area_key,
dispatch_text_input_key as dispatch_canvas_text_input_key,
};
#[cfg(feature = "tui")]
pub use crate::dialog::{
self, DialogButtonRenderer, DialogData, DialogKey, DialogKeyBindings,
DialogPurposeClass, DialogPurposeStyle, DialogResult, DialogTheme,
render_dialog_with_button_renderer,
};
#[cfg(feature = "tui")]
pub use crate::render_dialog;
#[cfg(feature = "tui")]
pub use crate::picker::{
PickerData, PickerEntry, PickerField, PickerFieldWeights, PickerHead, PickerHeadColumn,
PickerLayout, PickerScope, PickerTheme, centered_picker_area, render_picker,
render_picker_with_custom_preview,
};
#[cfg(feature = "tui")]
pub use crate::{Theme, ThemeError, ThemeLoader, ThemeManager, ThemeRole, ThemeStyles};
}