1mod config;
9mod control;
10mod editor;
11mod history;
12mod io;
13mod state;
14mod types;
15
16#[cfg(test)]
17mod tests;
18
19pub use config::{
20 ColumnWidth, Config, DEFAULT_COLUMN_COUNT, DEFAULT_MAX_HISTORY_LEN, DEFAULT_MAX_LINE_LEN,
21 OperatingMode, TerminalCapability, TerminalMode, terminal_capability_from_name,
22};
23pub use editor::Editor;
24pub use history::History;
25pub use io::UnbufferedStdout;
26pub use types::{Color, CompletionHandler, Hint, HintHandler, ReadlineError};
27
28use bstr::BStr;
29
30pub fn readline(prompt: impl AsRef<BStr>) -> Result<bstr::BString, ReadlineError> {
32 let mut editor = Editor::new();
33 editor.readline(prompt)
34}