pub struct ExecutionContext {
pub scope: Scope,
pub shell: ShellState,
pub default_timeout: IrTimeout,
pub env: Arc<LayeredEnv>,
/* private fields */
}Fields§
§scope: Scope§shell: ShellState§default_timeout: IrTimeout§env: Arc<LayeredEnv>Implementations§
Source§impl ExecutionContext
impl ExecutionContext
pub fn new( scope: Scope, shell: ShellState, default_timeout: IrTimeout, env: Arc<LayeredEnv>, ) -> Self
Sourcepub async fn lookup(&self, key: &str) -> Option<String>
pub async fn lookup(&self, key: &str) -> Option<String>
Look up a variable by name. Follows the lookup chain per RFC R005.
Sourcepub fn let_insert(&mut self, key: String, value: String)
pub fn let_insert(&mut self, key: String, value: String)
Insert a let variable into the current context.
Sourcepub async fn assign(&mut self, key: &str, value: String) -> bool
pub async fn assign(&mut self, key: &str, value: String) -> bool
Assign to an existing variable. Returns true if found and updated.
Sourcepub fn push_call(&mut self, name: String, args: Vec<(String, String)>)
pub fn push_call(&mut self, name: String, args: Vec<(String, String)>)
Push a function call frame.
Sourcepub fn set_timeout(&mut self, t: IrTimeout)
pub fn set_timeout(&mut self, t: IrTimeout)
Set the timeout on the current context.
Sourcepub fn fail_pattern(&self) -> Option<&FailPattern>
pub fn fail_pattern(&self) -> Option<&FailPattern>
Get the current fail pattern.
Sourcepub fn set_fail_pattern(&mut self, pattern: Option<FailPattern>)
pub fn set_fail_pattern(&mut self, pattern: Option<FailPattern>)
Set the fail pattern on the current context.
Sourcepub fn current_name(&self) -> String
pub fn current_name(&self) -> String
Current display name for logging.
Builds the full qualified name from the effect export chain:
e.g. SetupDb.db.Db.db.mydb for a 2-level effect chain with alias mydb.
Sourcepub fn reset_for_export(&mut self, new_scope: Scope)
pub fn reset_for_export(&mut self, new_scope: Scope)
Reset for shell export (effect → test/parent effect). Accumulates the current scope+shell name into the name prefix chain.
Sourcepub fn set_captures(&mut self, captures: Captures)
pub fn set_captures(&mut self, captures: Captures)
Set captures on the current context.
Sourcepub fn process_env(&self) -> Vec<(String, String)>
pub fn process_env(&self) -> Vec<(String, String)>
Build the environment variables map for spawning a shell process. For effects, the effect env already inherits the base env via LayeredEnv parent chain, so only the effect env is needed.
Auto Trait Implementations§
impl Freeze for ExecutionContext
impl !RefUnwindSafe for ExecutionContext
impl Send for ExecutionContext
impl Sync for ExecutionContext
impl Unpin for ExecutionContext
impl UnsafeUnpin for ExecutionContext
impl !UnwindSafe for ExecutionContext
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> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);