// LNP Node: node running lightning network protocol and generalized lightning // channels. // Written in 2020-2022 by // Dr. Maxim Orlovsky // // To the extent possible under law, the author(s) have dedicated all // copyright and related and neighboring rights to this software to // the public domain worldwide. This software is distributed without // any warranty. // // You should have received a copy of the MIT License along with this software. // If not, see . #[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)?; } // configure_me_codegen::build_script_auto() Ok(()) }