flavours 0.3.1

An easy to use base16 scheme manager/builder that integrates with any workflow.
use crate::cli::build_cli;
use anyhow::Result;
use std::io::stdout;

use clap_generate::{
    generate,
    generators::{Bash, Elvish, Fish, PowerShell, Zsh},
};

pub fn completions(shell: Option<&str>) -> Result<()> {
    match shell {
        Some("bash") => Ok(generate::<Bash, _>(
            &mut build_cli(),
            "flavours",
            &mut stdout(),
        )),
        Some("elvish") => Ok(generate::<Elvish, _>(
            &mut build_cli(),
            "flavours",
            &mut stdout(),
        )),
        Some("fish") => Ok(generate::<Fish, _>(
            &mut build_cli(),
            "flavours",
            &mut stdout(),
        )),
        Some("powershell") => Ok(generate::<PowerShell, _>(
            &mut build_cli(),
            "flavours",
            &mut stdout(),
        )),
        Some("zsh") => Ok(generate::<Zsh, _>(
            &mut build_cli(),
            "flavours",
            &mut stdout(),
        )),
        _ => Ok(()),
    }
}