2021-10-18 08:29:45 -04:00
|
|
|
use clap::{ArgEnum, IntoApp};
|
2022-01-07 08:23:49 -05:00
|
|
|
use clap_complete::{generate_to, Shell};
|
2021-02-17 14:16:54 -05:00
|
|
|
|
|
|
|
use std::{env, fs::create_dir_all, path::Path};
|
|
|
|
|
|
|
|
include!("src/cli.rs");
|
|
|
|
|
|
|
|
fn main() {
|
2021-02-17 18:48:03 -05:00
|
|
|
println!("cargo:rerun-if-env-changed=GEN_COMPLETIONS");
|
|
|
|
|
|
|
|
if env::var_os("GEN_COMPLETIONS") != Some("1".into()) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2021-02-17 14:16:54 -05:00
|
|
|
let out = &Path::new(&env::var_os("OUT_DIR").unwrap()).join("completions");
|
|
|
|
create_dir_all(out).unwrap();
|
|
|
|
let app = &mut Opts::into_app();
|
|
|
|
|
2021-10-18 08:29:45 -04:00
|
|
|
for shell in Shell::value_variants() {
|
|
|
|
generate_to(*shell, app, "mmtc", out).unwrap();
|
2021-02-17 14:16:54 -05:00
|
|
|
}
|
|
|
|
}
|