diff --git a/src/lib.rs b/src/lib.rs index 9ad17b0a766c7bb727ae93e99b29f0d3c230bb29..870676ad63d6b78ff3894f882f68e8ab97888013 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -6,17 +6,20 @@ use command::*; pub fn repl() { let mut input = String::new(); - let _unused = io::stdin().read_line(&mut input); - let out_wrap = run(input.trim().split_whitespace() - .collect::<Vec<&str>>().as_slice()); - if out_wrap.is_some() { - let out = out_wrap.unwrap(); - if out.stdout.is_empty() { - println!("{}",out.stderr.trim()); - } else { - println!("{}",out.stdout.trim()); + match io::stdin().read_line(&mut input) { + Ok(n) => { + let out_wrap = run(input.trim().split_whitespace().collect::<Vec<&str>>()); + if out_wrap.is_some() { + let out = out_wrap.unwrap(); + if out.stdout.is_empty() { + println!("{}",out.stderr.trim()); + } else { + println!("{}",out.stdout.trim()); + } + } else { + println!("{} is not a valid command", input.trim()); + } } - } else { - println!("{} is not a valid command", input.trim()); - } + Err(error) => println!("Line Read Error: {}", error) + }; }