From d7181afa916c126560a94bc2cfbd29052ec60b3d Mon Sep 17 00:00:00 2001 From: greg Date: Fri, 13 Jan 2017 12:10:02 -0800 Subject: [PATCH] Few more linefeed-related changes --- src/main.rs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/main.rs b/src/main.rs index cd71565..670e7f3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -97,7 +97,7 @@ struct Repl<'a> { impl<'a> Repl<'a> { fn new(trace_evaluation: bool) -> Repl<'a> { - let mut reader: linefeed::Reader<_> = linefeed::Reader::new("").unwrap(); + let mut reader: linefeed::Reader<_> = linefeed::Reader::new("Schala").unwrap(); reader.set_prompt(">> "); Repl { show_tokens: false, @@ -114,25 +114,23 @@ impl<'a> Repl<'a> { loop { match self.reader.read_line() { Err(e) => { - println!("Terminal read error: {:?}", e); - break; + println!("Terminal read error: {}", e); }, Ok(Eof) => { - println!("Exiting..."); break; } Ok(Input(ref input)) => { + self.reader.add_history(input.clone()); if self.handle_interpreter_directive(input) { continue; } let output = self.input_handler(input); - println!("{}", output); + println!("=> {}", output); } - Ok(Signal(signal)) => { - println!("Received signal: {:?}", signal); - }, + _ => (), } } + println!("Exiting..."); } fn input_handler(&mut self, input: &str) -> String {