//! Library implementing interactive command input and completion for the brush shell. mod error; pub use error::ShellError; mod interactive_shell; pub use interactive_shell::{InteractiveExecutionResult, InteractiveOptions, InteractiveShell}; mod zsh_hooks; pub use zsh_hooks::init as init_zsh_style_hooks; mod input_backend; pub use input_backend::{InputBackend, InteractivePrompt, ReadResult}; mod options; pub use options::UIOptions; mod refs; pub use refs::ShellRef; mod completeness; mod term_detection; mod term_integration; mod trace_categories; #[cfg(feature = "highlighting")] pub mod highlighting; #[cfg(feature = "highlighting")] #[allow( dead_code, reason = "highlighting can be enabled without an input backend" )] mod styles; #[cfg(feature = "completion")] mod completion; // Reedline-based shell #[cfg(reedline_backend)] mod reedline; #[cfg(reedline_backend)] pub use reedline::ReedlineInputBackend; // Minimal shell #[cfg(feature = "minimal")] mod minimal; #[cfg(feature = "minimal")] pub use minimal::MinimalInputBackend; // Line editing over plain bytes #[cfg(feature = "vt")] pub mod vt; #[cfg(feature = "vt")] pub use vt::VtInputBackend;