pub struct Repl<'a> { /* private fields */ }
Expand description
Read-eval-print loop.
REPL is ment do be constructed using the builder pattern via Repl::builder()
.
Commands are added during building and currently cannot be added/removed/modified
after Repl
has been built. This is because the names are used to generate Trie
with all the names for fast name lookup and completion.
Repl
can be used in two ways: one can use the Repl::run
method directly to just
start the evaluation loop, or Repl::next
can be used to get back control between
loop steps.
Implementations
sourceimpl<'a> Repl<'a>
impl<'a> Repl<'a>
sourcepub fn builder() -> ReplBuilder<'a>
pub fn builder() -> ReplBuilder<'a>
Start ReplBuilder
with default values.
sourcepub fn next(&mut self) -> Result<LoopStatus>
pub fn next(&mut self) -> Result<LoopStatus>
Run a single REPL iteration and return whether this is the last one or not.
sourcepub fn run(&mut self) -> Result<()>
pub fn run(&mut self) -> Result<()>
Run the evaluation loop until LoopStatus::Break
is received.
Auto Trait Implementations
impl<'a> !RefUnwindSafe for Repl<'a>
impl<'a> !Send for Repl<'a>
impl<'a> !Sync for Repl<'a>
impl<'a> Unpin for Repl<'a>
impl<'a> !UnwindSafe for Repl<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more