use clap_complete::{Shell, generate_to};
use clap_mangen::generate_to as generate_man_to;
use std::fs;
use std::io::Error;
use std::path::PathBuf;
#[path = "src/cli/build/mod.rs"]
mod cli;
fn main() -> Result<(), Error> {
let out_dir = PathBuf::from(
std::env::var_os("OUT_DIR").expect("cargo always sets OUT_DIR"),
);
let man_dir = out_dir.join("man");
fs::create_dir_all(&man_dir)?;
generate_man_to(cli::build_cli(), &man_dir)?;
let completion_dir = out_dir.join("completions");
fs::create_dir_all(&completion_dir)?;
for shell in [Shell::Bash, Shell::Zsh, Shell::Fish, Shell::Elvish] {
generate_to(
shell,
&mut cli::build_cli(),
env!("CARGO_PKG_NAME"),
&completion_dir,
)?;
}
Ok(())
}