use clap::CommandFactory;
use clap_complete::{Shell, generate_to};
use std::env;
use std::fs;
use std::path::Path;
include!("src/cli.rs");
fn main() -> std::io::Result<()> {
if env::var("DOCS_RS").is_ok() {
return Ok(());
}
let out_dir = Path::new("completions");
fs::create_dir_all(out_dir)?;
let mut cmd = Args::command();
generate_to(Shell::Bash, &mut cmd, "netspeed-cli", out_dir)?;
generate_to(Shell::Zsh, &mut cmd, "netspeed-cli", out_dir)?;
generate_to(Shell::Fish, &mut cmd, "netspeed-cli", out_dir)?;
generate_to(Shell::PowerShell, &mut cmd, "netspeed-cli", out_dir)?;
generate_to(Shell::Elvish, &mut cmd, "netspeed-cli", out_dir)?;
let man_dir = Path::new(".");
fs::create_dir_all(man_dir)?;
let man = clap_mangen::Man::new(cmd);
let mut buffer: Vec<u8> = Vec::new();
man.render(&mut buffer)?;
fs::write(man_dir.join("netspeed-cli.1"), buffer)?;
println!("cargo:rerun-if-changed=src/cli.rs");
println!("cargo:rerun-if-changed=Cargo.toml");
Ok(())
}