use super::Cmd; use clap::{Arg, Command}; use std::io; #[derive(Debug, Default)] pub struct Yes; impl Cmd for Yes { fn cli(&self) -> clap::Command { Command::new("yes") .about("output a string repeatedly until killed") .author("Nathan Fisher") .arg(Arg::new("msg").num_args(1).default_value("y")) } fn run(&self, matches: Option<&clap::ArgMatches>) -> Result<(), Box> { let Some(matches) = matches else { return Err(Box::new(io::Error::new(io::ErrorKind::Other, "no input"))); }; let msg = matches.get_one::("msg").unwrap(); loop { println!("{msg}"); } } fn path(&self) -> Option { Some(crate::Path::UsrBin) } }