use super::Executor;
use async_trait::async_trait;
use std::{ffi::OsStr, io, process::Output};
#[derive(Debug)]
pub struct TokioExecutor;
#[async_trait]
impl Executor for TokioExecutor {
async fn run(&self, program: &OsStr, args: &[&OsStr]) -> io::Result<Output> {
::tokio::process::Command::new(program)
.args(args)
.output()
.await
}
}