postar 0.1.0

A local email filtering service
Documentation
mod cli {
    include!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/cli/args.rs"));
}

fn main() -> std::io::Result<()> {
    let out_dir_main =
        std::path::PathBuf::from(std::env::var_os("OUT_DIR").ok_or(std::io::ErrorKind::NotFound)?);

    let out_dir_man = out_dir_main.join("man");
    std::fs::create_dir_all(&out_dir_man)?;
    let cmd = <cli::Args as clap::CommandFactory>::command();
    clap_mangen::generate_to(cmd, &out_dir_man)?;

    let out_dir_comp = out_dir_main.join("comp");
    std::fs::create_dir_all(&out_dir_comp)?;

    let mut cmd2 = <cli::Args as clap::CommandFactory>::command();
    clap_complete::generate_to(
        clap_complete::Shell::Zsh,
        &mut cmd2,
        "postar",
        &out_dir_comp,
    )?;
    clap_complete::generate_to(
        clap_complete::Shell::Fish,
        &mut cmd2,
        "postar",
        &out_dir_comp,
    )?;
    clap_complete::generate_to(
        clap_complete::Shell::Bash,
        &mut cmd2,
        "postar",
        &out_dir_comp,
    )?;

    Ok(())
}