in src/ui.rs [193:214]
fn user_input(&self) -> Result<String> {
let mut inner = self.inner.borrow_mut();
if !inner.pending_actions.is_empty() {
return Ok(inner.pending_actions.pop().unwrap());
}
let prompt = inner.prompt.clone();
match inner.editor.readline(&prompt) {
Ok(line) => {
let line = line.trim();
if !line.is_empty() {
inner.editor.add_history_entry(line);
}
inner.pending_actions = line.split(";").map(|it| it.trim().to_owned()).collect();
inner.pending_actions.reverse();
drop(inner);
self.user_input()
}
Err(e) => Err(e)?,
}
}