blob: 68e63c4725db93a0aeb57dd3152b0b41d878b9a9 [file] [log] [blame]
extern crate rustyline;
use rustyline::completion::FilenameCompleter;
use rustyline::error::ReadlineError;
use rustyline::Editor;
fn main() {
let c = FilenameCompleter::new();
let mut rl = Editor::new();
rl.set_completer(Some(&c));
if let Err(_) = rl.load_history("history.txt") {
println!("No previous history.");
}
loop {
let readline = rl.readline("\x1b[1;32m>>\x1b[0m ");
match readline {
Ok(line) => {
rl.add_history_entry(&line);
println!("Line: {}", line);
},
Err(ReadlineError::Interrupted) => {
println!("CTRL-C");
break
},
Err(ReadlineError::Eof) => {
println!("CTRL-D");
break
},
Err(err) => {
println!("Error: {:?}", err);
break
}
}
}
rl.save_history("history.txt").unwrap();
}