use reedline::{DefaultPrompt, Reedline, Signal};
use std::{collections::HashMap, io};
fn main() -> io::Result<()> {
let mut abbrevs = HashMap::new();
abbrevs.insert(String::from("ll"), String::from("ls -l"));
abbrevs.insert(String::from("gs"), String::from("git status"));
let mut line_editor = Reedline::create().with_abbreviations(abbrevs);
let prompt = DefaultPrompt::default();
loop {
let sig = line_editor.read_line(&prompt)?;
match sig {
Signal::Success(buffer) => {
println!("We processed: {buffer}");
}
Signal::CtrlD | Signal::CtrlC => {
println!("\nAborted!");
break Ok(());
}
_ => {}
}
}
}