pub trait CommandRunner: Send + Sync {
// Required method
fn run(
&self,
program: &str,
args: &[String],
cwd: Option<&Path>,
) -> Result<CommandOutput>;
// Provided method
fn run_with_progress(
&self,
program: &str,
args: &[String],
cwd: Option<&Path>,
label: &str,
) -> Result<CommandOutput> { ... }
}Expand description
Запускает внешние команды. Реализация по умолчанию — SystemRunner.
Required Methods§
Provided Methods§
Sourcefn run_with_progress(
&self,
program: &str,
args: &[String],
cwd: Option<&Path>,
label: &str,
) -> Result<CommandOutput>
fn run_with_progress( &self, program: &str, args: &[String], cwd: Option<&Path>, label: &str, ) -> Result<CommandOutput>
Запускает команду с индикатором прогресса в stderr.
Во время выполнения процесса фоновый поток выводит в stderr строку
\r⏳ <label> (<n>с) каждые 2 секунды (обновляя время), и очищает её
при завершении. По умолчанию делегирует в Self::run (без спиннера)
— достаточно для мок-раннеров в тестах.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".