use clap::{Command, CommandFactory}; // use clap_complete as complete; use clap_mangen as mangen; // use complete::Shell; use std::{path::PathBuf, str::FromStr}; #[path = "src/cli.rs"] mod cli; use cli::*; fn generate_manpage(cmd: Command, out_dir: PathBuf) -> std::io::Result<()> { let _path = mangen::generate_to(cmd, &out_dir)?; println!("cargo:warning=manpage is generated: {out_dir:?}"); Ok(()) } // fn generate_completions(cmd: &mut Command, out_dir: PathBuf) -> std::io::Result<()> { // let path = complete::generate_to(Shell::Zsh, cmd, "noise", out_dir)?; // println!("cargo:warning=completion file is generated: {path:?}"); // Ok(()) // } fn main() -> std::io::Result<()> { let out_dir = std::path::PathBuf::from(std::env::var_os("OUT_DIR").ok_or(std::io::ErrorKind::NotFound)?); // let out_dir = PathBuf::from_str("./").unwrap(); let cmd = Cli::command(); generate_manpage(cmd, out_dir.clone())?; // eprintln!("{out_dir:?}"); // println!("cargo:warning=out_dir: {out_dir:?}"); Ok(()) }