pub trait Runnable: Sized {
    type Err: ErrorDisplay;
    type Errs: MultiErrorDisplay<Self::Err>;

    const NAME: &'static str;

    fn new(cfg: ErgConfig) -> Self;
    fn cfg(&self) -> &ErgConfig;
    fn finish(&mut self);
    fn clear(&mut self);
    fn eval(&mut self, src: String) -> Result<String, Self::Errs>;
    fn exec(&mut self) -> Result<i32, Self::Errs>;

    fn input(&self) -> &Input { ... }
    fn start_message(&self) -> String { ... }
    fn ps1(&self) -> String { ... }
    fn ps2(&self) -> String { ... }
    fn quit(&self, code: i32) { ... }
    fn run(cfg: ErgConfig) { ... }
}
Expand description

This trait implements REPL (Read-Eval-Print-Loop) automatically The exec method is called for file input, etc.

Required Associated Types

Required Associated Constants

Required Methods

Provided Methods

Implementors