summaryrefslogtreecommitdiffstats
path: root/build.rs
diff options
context:
space:
mode:
authorMinijackson <minijackson@riseup.net>2018-09-04 19:30:02 +0200
committerMinijackson <minijackson@riseup.net>2018-09-04 19:30:02 +0200
commit8b6c0900d6d301eb2791a7300acfdf1cb7fcce8d (patch)
tree1cd7c9a688b6572cbc9a2d909d3ef30ec24b1615 /build.rs
parente2e2f14accc751573a2a52b43bd8c87e1f1b89db (diff)
downloadset_eq-8b6c0900d6d301eb2791a7300acfdf1cb7fcce8d.tar.gz
set_eq-8b6c0900d6d301eb2791a7300acfdf1cb7fcce8d.zip
Separate CLI + auto-generate completion at build time
Diffstat (limited to 'build.rs')
-rw-r--r--build.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/build.rs b/build.rs
index 23c7d3f..b797f9a 100644
--- a/build.rs
+++ b/build.rs
@@ -1,5 +1,28 @@
1extern crate lalrpop; 1extern crate lalrpop;
2 2
3#[macro_use]
4extern crate clap;
5extern crate clap_log_flag;
6extern crate clap_verbosity_flag;
7#[macro_use]
8extern crate structopt;
9
10use structopt::StructOpt;
11
12use clap::Shell;
13
14use std::env;
15
16#[path = "src/cli.rs"]
17mod cli;
18
3fn main() { 19fn main() {
4 lalrpop::process_root().unwrap(); 20 lalrpop::process_root().unwrap();
21
22 let outdir = env::var_os("OUT_DIR").expect("OUT_DIR environment variable not defined");
23
24 let mut app = cli::Cli::clap();
25 app.gen_completions("set_eq", Shell::Bash, &outdir);
26 app.gen_completions("set_eq", Shell::Fish, &outdir);
27 app.gen_completions("set_eq", Shell::Zsh, &outdir);
5} 28}