pub trait LineInput {
// Required methods
fn readline();
fn save_history<P: AsRef<Path> + ?Sized>(
&self,
path: &P
) -> Result<(), Box<dyn Error>>;
fn load_history<P: AsRef<Path> + ?Sized>(
&mut self,
path: &P
) -> Result<(), Box<dyn Error>>;
fn add_history_entry<S: AsRef<str> + Into<String>>(
&mut self,
line: S
) -> bool;
}