pub struct StackIoGuard<'a> { /* private fields */ }
Methods from Deref<Target = Stack>§
pub fn with_env( &mut self, env_vars: &[Arc<EnvVars>], env_hidden: &Arc<HashMap<String, HashSet<String>>>, )
Sourcepub fn get_var(&self, var_id: VarId, span: Span) -> Result<Value, ShellError>
pub fn get_var(&self, var_id: VarId, span: Span) -> Result<Value, ShellError>
Lookup a variable, erroring if it is not found
The passed-in span will be used to tag the value
Sourcepub fn get_var_with_origin(
&self,
var_id: VarId,
span: Span,
) -> Result<Value, ShellError>
pub fn get_var_with_origin( &self, var_id: VarId, span: Span, ) -> Result<Value, ShellError>
Lookup a variable, erroring if it is not found
While the passed-in span will be used for errors, the returned value has the span from where it was originally defined
Sourcepub fn get_config(&self, engine_state: &EngineState) -> Arc<Config>
pub fn get_config(&self, engine_state: &EngineState) -> Arc<Config>
Sourcepub fn update_config(
&mut self,
engine_state: &EngineState,
) -> Result<(), ShellError>
pub fn update_config( &mut self, engine_state: &EngineState, ) -> Result<(), ShellError>
Update the local config with the config stored in the config
environment variable. Run
this after assigning to $env.config
.
The config will be updated with successfully parsed values even if an error occurs.
pub fn add_var(&mut self, var_id: VarId, value: Value)
pub fn remove_var(&mut self, var_id: VarId)
pub fn add_env_var(&mut self, var: String, value: Value)
pub fn set_last_exit_code(&mut self, code: i32, span: Span)
pub fn set_last_error(&mut self, error: &ShellError)
pub fn last_overlay_name(&self) -> Result<String, ShellError>
pub fn captures_to_stack(&self, captures: Vec<(VarId, Value)>) -> Stack
pub fn captures_to_stack_preserve_out_dest( &self, captures: Vec<(VarId, Value)>, ) -> Stack
pub fn gather_captures( &self, engine_state: &EngineState, captures: &[VarId], ) -> Stack
Sourcepub fn get_env_vars(&self, engine_state: &EngineState) -> HashMap<String, Value>
pub fn get_env_vars(&self, engine_state: &EngineState) -> HashMap<String, Value>
Flatten the env var scope frames into one frame
Sourcepub fn get_stack_env_vars(&self) -> HashMap<String, Value>
pub fn get_stack_env_vars(&self) -> HashMap<String, Value>
Get flattened environment variables only from the stack
Sourcepub fn get_stack_overlay_env_vars(
&self,
overlay_name: &str,
) -> HashMap<String, Value>
pub fn get_stack_overlay_env_vars( &self, overlay_name: &str, ) -> HashMap<String, Value>
Get flattened environment variables only from the stack and one overlay
Sourcepub fn get_env_var_names(&self, engine_state: &EngineState) -> HashSet<String>
pub fn get_env_var_names(&self, engine_state: &EngineState) -> HashSet<String>
Same as get_env_vars, but returns only the names as a HashSet
pub fn get_env_var<'a>( &'a self, engine_state: &'a EngineState, name: &str, ) -> Option<&'a Value>
pub fn has_env_var(&self, engine_state: &EngineState, name: &str) -> bool
pub fn remove_env_var(&mut self, engine_state: &EngineState, name: &str) -> bool
pub fn has_env_overlay(&self, name: &str, engine_state: &EngineState) -> bool
pub fn is_overlay_active(&self, name: &str) -> bool
pub fn add_overlay(&mut self, name: String)
pub fn remove_overlay(&mut self, name: &str)
Sourcepub fn stdout(&self) -> &OutDest
pub fn stdout(&self) -> &OutDest
Returns the OutDest
to use for the current command’s stdout.
This will be the pipe redirection if one is set,
otherwise it will be the current file redirection,
otherwise it will be the process’s stdout indicated by OutDest::Inherit
.
Sourcepub fn stderr(&self) -> &OutDest
pub fn stderr(&self) -> &OutDest
Returns the OutDest
to use for the current command’s stderr.
This will be the pipe redirection if one is set,
otherwise it will be the current file redirection,
otherwise it will be the process’s stderr indicated by OutDest::Inherit
.
Sourcepub fn pipe_stdout(&self) -> Option<&OutDest>
pub fn pipe_stdout(&self) -> Option<&OutDest>
Returns the OutDest
of the pipe redirection applied to the current command’s stdout.
Sourcepub fn pipe_stderr(&self) -> Option<&OutDest>
pub fn pipe_stderr(&self) -> Option<&OutDest>
Returns the OutDest
of the pipe redirection applied to the current command’s stderr.
Sourcepub fn start_collect_value(&mut self) -> StackCollectValueGuard<'_>
pub fn start_collect_value(&mut self) -> StackCollectValueGuard<'_>
Temporarily set the pipe stdout redirection to OutDest::Value
.
This is used before evaluating an expression into a Value
.
Sourcepub fn use_call_arg_out_dest(&mut self) -> StackCallArgGuard<'_>
pub fn use_call_arg_out_dest(&mut self) -> StackCallArgGuard<'_>
Temporarily use the output redirections in the parent scope.
This is used before evaluating an argument to a call.
Sourcepub fn push_redirection(
&mut self,
stdout: Option<Redirection>,
stderr: Option<Redirection>,
) -> StackIoGuard<'_>
pub fn push_redirection( &mut self, stdout: Option<Redirection>, stderr: Option<Redirection>, ) -> StackIoGuard<'_>
Temporarily apply redirections to stdout and/or stderr.
Trait Implementations§
Source§impl<'a> Deref for StackIoGuard<'a>
impl<'a> Deref for StackIoGuard<'a>
Source§impl<'a> DerefMut for StackIoGuard<'a>
impl<'a> DerefMut for StackIoGuard<'a>
Auto Trait Implementations§
impl<'a> Freeze for StackIoGuard<'a>
impl<'a> !RefUnwindSafe for StackIoGuard<'a>
impl<'a> Send for StackIoGuard<'a>
impl<'a> Sync for StackIoGuard<'a>
impl<'a> Unpin for StackIoGuard<'a>
impl<'a> !UnwindSafe for StackIoGuard<'a>
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> 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> IntoSpanned for T
impl<T> IntoSpanned for T
Source§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg
or
a color-specific method, such as OwoColorize::green
, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg
or
a color-specific method, such as OwoColorize::on_yellow
, Read more