Trait erg_common::traits::Runnable
source · pub trait Runnable: Sized + Default {
type Err: ErrorDisplay;
type Errs: MultiErrorDisplay<Self::Err>;
const NAME: &'static str;
Show 17 methods
// Required methods
fn new(cfg: ErgConfig) -> Self;
fn cfg(&self) -> &ErgConfig;
fn cfg_mut(&mut self) -> &mut ErgConfig;
fn finish(&mut self);
fn initialize(&mut self);
fn clear(&mut self);
fn eval(&mut self, src: String) -> Result<String, Self::Errs>;
fn exec(&mut self) -> Result<ExitStatus, Self::Errs>;
// Provided methods
fn expect_block(&self, src: &str) -> BlockKind { ... }
fn input(&self) -> &Input { ... }
fn set_input(&mut self, input: Input) { ... }
fn start_message(&self) -> String { ... }
fn ps1(&self) -> String { ... }
fn ps2(&self) -> String { ... }
fn quit(&mut self, code: i32) -> ! { ... }
fn quit_successfully(&mut self, output: BufWriter<StdoutLock<'_>>) -> ! { ... }
fn run(cfg: ErgConfig) -> ExitStatus { ... }
}
Expand description
This trait implements REPL (Read-Eval-Print-Loop) automatically
The exec
method is called for file input, etc.
Required Associated Types§
type Err: ErrorDisplay
type Errs: MultiErrorDisplay<Self::Err>
Required Associated Constants§
Required Methods§
fn new(cfg: ErgConfig) -> Self
fn cfg(&self) -> &ErgConfig
fn cfg_mut(&mut self) -> &mut ErgConfig
fn finish(&mut self)
sourcefn initialize(&mut self)
fn initialize(&mut self)
Erase all but immutable information.