From 8b6c0900d6d301eb2791a7300acfdf1cb7fcce8d Mon Sep 17 00:00:00 2001 From: Minijackson Date: Tue, 4 Sep 2018 19:30:02 +0200 Subject: Separate CLI + auto-generate completion at build time --- build.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'build.rs') diff --git a/build.rs b/build.rs index 23c7d3f..b797f9a 100644 --- a/build.rs +++ b/build.rs @@ -1,5 +1,28 @@ extern crate lalrpop; +#[macro_use] +extern crate clap; +extern crate clap_log_flag; +extern crate clap_verbosity_flag; +#[macro_use] +extern crate structopt; + +use structopt::StructOpt; + +use clap::Shell; + +use std::env; + +#[path = "src/cli.rs"] +mod cli; + fn main() { lalrpop::process_root().unwrap(); + + let outdir = env::var_os("OUT_DIR").expect("OUT_DIR environment variable not defined"); + + let mut app = cli::Cli::clap(); + app.gen_completions("set_eq", Shell::Bash, &outdir); + app.gen_completions("set_eq", Shell::Fish, &outdir); + app.gen_completions("set_eq", Shell::Zsh, &outdir); } -- cgit v1.2.3