use std::path::PathBuf;
use clap::CommandFactory;
use crate::error::{CliError, Result};
use crate::Cli;
#[derive(clap::Args, Debug)]
pub struct GenManArgs {
#[arg(long, value_name = "DIR")]
pub out: PathBuf,
}
pub fn run(args: GenManArgs) -> Result<u8> {
std::fs::create_dir_all(&args.out)
.map_err(|e| CliError::BadInput(format!("cannot create --out dir: {e}")))?;
clap_mangen::generate_to(Cli::command(), &args.out)
.map_err(|e| CliError::BadInput(format!("man-page generation failed: {e}")))?;
Ok(0)
}