pub struct RibRepl { /* private fields */ }Expand description
The REPL environment for Rib, providing an interactive shell for executing Rib code.
Implementations§
Source§impl RibRepl
impl RibRepl
Sourcepub async fn bootstrap(
config: RibReplConfig,
) -> Result<RibRepl, ReplBootstrapError>
pub async fn bootstrap( config: RibReplConfig, ) -> Result<RibRepl, ReplBootstrapError>
Bootstraps and initializes the Rib REPL environment and returns a RibRepl instance,
which can be used to run the REPL.
Sourcepub fn read_line(&mut self) -> Result<String>
pub fn read_line(&mut self) -> Result<String>
Reads a single line of input from the REPL prompt.
This method is exposed for users who want to manage their own REPL loop
instead of using the built-in Self::run method.
Sourcepub async fn execute(
&mut self,
script_or_command: &str,
) -> Result<Option<RibResult>, RibExecutionError>
pub async fn execute( &mut self, script_or_command: &str, ) -> Result<Option<RibResult>, RibExecutionError>
Executes a single line of Rib code and returns the result.
This function is exposed for users who want to implement custom REPL loops
or integrate Rib execution into other workflows.
For a built-in REPL loop, see Self::run.
Sourcepub async fn run(&mut self)
pub async fn run(&mut self)
Starts the default REPL loop for executing Rib code interactively.
This is a convenience method that repeatedly reads user input and executes
it using Self::execute. If you need more control over the REPL behavior,
use Self::read_line and Self::execute directly.
Auto Trait Implementations§
impl Freeze for RibRepl
impl !RefUnwindSafe for RibRepl
impl !Send for RibRepl
impl !Sync for RibRepl
impl Unpin for RibRepl
impl !UnwindSafe for RibRepl
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
self file descriptor. Read moreSource§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request