use clap::{CommandFactory, ValueEnum};
use clap_complete::Shell;
use halp::cli::CliArgs;
use std::env;
use std::io::Result;
fn main() -> Result<()> {
let out_dir = env::var("OUT_DIR").expect("OUT_DIR is not set");
let mut app = CliArgs::command();
for &shell in Shell::value_variants() {
clap_complete::generate_to(shell, &mut app, env!("CARGO_PKG_NAME"), &out_dir)?;
}
println!("Completion scripts are generated in {out_dir:?}");
Ok(())
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn generate_completions() -> Result<()> {
main()
}
}