diff --git a/src/lib.rs b/src/lib.rs index c59145e5fe270658569cf9fd31a10c22f3504a22..870676ad63d6b78ff3894f882f68e8ab97888013 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -6,16 +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>>()); - 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) + }; }