Skip to main content

CommandRunner

Struct CommandRunner 

Source
pub struct CommandRunner {
    pub working_dir: Option<PathBuf>,
    pub env: Vec<(String, String)>,
    pub inherit_env: bool,
}
Expand description

A command runner that captures output and provides structured results.

Fields§

§working_dir: Option<PathBuf>

Working directory for commands

§env: Vec<(String, String)>

Environment variables to set

§inherit_env: bool

Whether to inherit the parent environment

Implementations§

Source§

impl CommandRunner

Source

pub fn new() -> Self

Create a new command runner.

Source

pub fn with_working_dir(self, dir: impl AsRef<Path>) -> Self

Set the working directory.

Source

pub fn with_env(self, key: impl Into<String>, value: impl Into<String>) -> Self

Add an environment variable.

Source

pub fn with_ghc_bin(self, bin_dir: impl AsRef<Path>) -> Self

Configure PATH to use a specific toolchain bin directory.

Prepends the given bin directory to PATH, ensuring tools from that directory are found first. Can be called multiple times to add multiple bin directories.

Source

pub async fn run<S, I>( &self, program: S, args: I, ) -> Result<CommandOutput, Error>
where S: AsRef<OsStr>, I: IntoIterator<Item = S>,

Run a command and capture output.

Source

pub async fn run_checked<S, I>( &self, program: S, args: I, ) -> Result<CommandOutput, Error>
where S: AsRef<OsStr>, I: IntoIterator<Item = S>,

Run a command and return an error if it fails.

Trait Implementations§

Source§

impl Clone for CommandRunner

Source§

fn clone(&self) -> CommandRunner

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CommandRunner

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for CommandRunner

Source§

fn default() -> CommandRunner

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more