use colored::Colorize;
pub fn run(args: Vec<String>) {
if args.is_empty() {
eprintln!("{}", "essh: no host given. Try `essh ls` or just `essh`.".red());
std::process::exit(2);
}
#[cfg(unix)]
{
use std::os::unix::process::CommandExt;
let err = std::process::Command::new("ssh").args(&args).exec();
eprintln!("{}", format!("essh: could not run ssh: {err}").red());
std::process::exit(127);
}
#[cfg(not(unix))]
{
match std::process::Command::new("ssh").args(&args).status() {
Ok(status) => std::process::exit(status.code().unwrap_or(1)),
Err(e) => {
eprintln!("{}", format!("essh: could not run ssh: {e}").red());
std::process::exit(127);
}
}
}
}