mod command;
mod options;
mod process;
mod result;
pub use command::{Execa, ExecaCommand};
pub use options::{CancelSignal, Cancellation, Options};
pub use process::Subprocess;
pub use result::{ExecaError, ExecaOutcome, ExecaResult};
use std::ffi::OsString;
pub fn execa<P, I, S>(file: P, args: I) -> ExecaCommand
where
P: Into<OsString>,
I: IntoIterator<Item = S>,
S: Into<OsString>,
{
Execa::default().command(file, args)
}
pub fn execa_sync<P, I, S>(file: P, args: I) -> ExecaOutcome
where
P: Into<OsString>,
I: IntoIterator<Item = S>,
S: Into<OsString>,
{
execa(file, args).sync()
}
pub fn execa_node<P, I, S>(file: P, args: I) -> ExecaCommand
where
P: Into<OsString>,
I: IntoIterator<Item = S>,
S: Into<OsString>,
{
Execa::default().node(file, args)
}
pub fn execa_compat(options: Options) -> Execa {
Execa::new(options)
}