aboutsummaryrefslogtreecommitdiff
path: root/tool/src/bin/generate_completions.rs
blob: 9f0917f13c7554556745090351f64d8aec856e2b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use clap::{CommandFactory, Parser, ValueEnum};
use clap_complete::{generate_to, Shell};
use jellytool::cli;
use std::{fs::create_dir_all, path::PathBuf};

#[derive(Parser)]
struct Args {
    out_dir: PathBuf,
}

fn main() -> anyhow::Result<()> {
    let args = Args::parse();
    create_dir_all(&args.out_dir)?;
    for &shell in Shell::value_variants() {
        generate_to(shell, &mut cli::Args::command(), "jellytool", &args.out_dir)?;
    }
    Ok(())
}