pub trait NarjuIo {
// Required methods
fn read_line(&mut self, prompt: &str) -> Result<Option<String>, NarjuError>;
fn print(&mut self, s: &str) -> Result<(), NarjuError>;
}Expand description
Input and output as the evaluator sees them.
One boxed instance lives in crate::eval::EvalCtx for the life of
a session. The trait is deliberately minimal: a line in, a line out.
Prompts, colour, history, and completion are implementation details
behind it.