1 use clap::{Command, CommandFactory, Parser};
2 use clap_complete::{generate, Generator, Shell};
3 use std::ffi::{c_int, OsStr};
6 /// Generate shell completions
7 #[derive(clap::Parser, Debug)]
12 fn print_completions<G: Generator>(gen: G, cmd: &mut Command) {
13 generate(gen, cmd, cmd.get_name().to_string(), &mut io::stdout());
16 pub fn cmd_completions(argv: Vec<&OsStr>) -> c_int {
17 let cli = Cli::parse_from(argv);
18 print_completions(cli.shell, &mut super::Cli::command());