message: Flush outputs before prompt, maybe not best way to fix this?
diff: @@ -187,9 +187,6 @@ impl<'a> InteractiveShell<'a> {
  }
  None => {
  print!("{}", context_bis.borrow().history.buffers.iter().format("\n"));
  - io::stdout().flush().unwrap_or_else(|err| {
  - eprintln!("ion: history print: {}", err);
  - });
  }
  }
  Status::SUCCESS
  @@ -251,6 +248,12 @@ impl<'a> InteractiveShell<'a> {
  fn exec<T: Fn(&mut Shell<'_>)>(self, prep_for_exit: &T) -> ! {
  loop {
  + io::stdout().flush().unwrap_or_else(|err| {
  + eprintln!("ion: failed to flush stdio: {}", err);
  + });
  + io::stderr().flush().unwrap_or_else(|err| {
  + println!("ion: failed to flush stderr: {}", err);
  + });
  let mut lines = std::iter::repeat_with(|| self.readln(prep_for_exit))
  .filter_map(|cmd| cmd)
  .flat_map(|s| s.into_bytes().into_iter().chain(Some(b'\n')));
  