#[macro_use]
extern crate clap;
use std::fs;
use clap::IntoApp;
use clap_complete::generate_to;
use clap_complete::shells::*;
pub mod opts {
include!("src/opts.rs");
}
pub mod lnpd {
include!("src/lnpd/opts.rs");
}
pub mod peerd {
include!("src/peerd/opts.rs");
}
pub mod channeld {
include!("src/channeld/opts.rs");
}
pub mod signd {
include!("src/signd/opts.rs");
}
pub mod watchd {
include!("src/watchd/opts.rs");
}
pub mod routed {
include!("src/routed/opts.rs");
}
fn main() -> Result<(), configure_me_codegen::Error> {
let outdir = "./shell";
fs::create_dir_all(outdir).expect("failed to create shell dir");
for app in [
lnpd::Opts::command(),
peerd::Opts::command(),
channeld::Opts::command(),
watchd::Opts::command(),
routed::Opts::command(),
signd::Opts::command(),
]
.iter_mut()
{
let name = app.get_name().to_string();
generate_to(Bash, app, &name, &outdir)?;
generate_to(PowerShell, app, &name, &outdir)?;
generate_to(Zsh, app, &name, &outdir)?;
}
Ok(())
}