generate completions

This commit is contained in:
figsoda 2021-02-17 14:16:54 -05:00
parent 8895009282
commit f9c8f67635
3 changed files with 34 additions and 0 deletions

10
Cargo.lock generated
View file

@ -168,6 +168,15 @@ dependencies = [
"syn",
]
[[package]]
name = "clap_generate"
version = "3.0.0-beta.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "adf420f8b687b628d2915ccfd43a660c437a170432e3fbcb66944e8717a0d68f"
dependencies = [
"clap",
]
[[package]]
name = "concurrent-queue"
version = "1.2.2"
@ -443,6 +452,7 @@ dependencies = [
"async-io",
"async-net",
"clap",
"clap_generate",
"crossbeam-queue",
"crossterm 0.19.0",
"dirs-next",

View file

@ -29,6 +29,10 @@ version = "0.14.0"
default-features = false
features = ["crossterm", "serde"]
[build-dependencies]
clap = "3.0.0-beta.2"
clap_generate = "3.0.0-beta.2"
[profile.release]
lto = true
panic = "abort"

20
build.rs Normal file
View file

@ -0,0 +1,20 @@
use clap::IntoApp;
use clap_generate::{generate_to, generators};
use std::{env, fs::create_dir_all, path::Path};
include!("src/cli.rs");
fn main() {
let out = &Path::new(&env::var_os("OUT_DIR").unwrap()).join("completions");
create_dir_all(out).unwrap();
let app = &mut Opts::into_app();
macro_rules! generate {
($($g:ident),*) => {
$(generate_to::<generators::$g, _, _>(app, "mmtc", out);)*
}
}
generate![Bash, Elvish, Fish, PowerShell, Zsh];
}