forked from Canop/broot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.rs
31 lines (27 loc) · 863 Bytes
/
build.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// This file is executed during broot compilation.
// It builds shell completion scripts.
use {
clap::Shell,
std::{
env,
str::FromStr,
},
};
include!("src/cli/clap_args.rs");
/// write the shell completion scripts which will be added to
/// the release archive
fn build_completion_scripts() {
// out_dir should be defined, see
// https://doc.rust-lang.org/cargo/reference/environment-variables.html
let out_dir = env::var_os("OUT_DIR").expect("out dir not set");
let mut app = clap_app();
for variant in &Shell::variants() {
let variant = Shell::from_str(variant).unwrap();
app.gen_completions("broot", variant, &out_dir);
app.gen_completions("br", variant, &out_dir);
}
println!("completion scripts generated in {:?}", out_dir);
}
fn main() {
build_completion_scripts();
}