atac 0.17.0

Arguably a Terminal API Client. Feature-full, free, open-source, offline and account-less.
use std::fs;
use clap::CommandFactory;

use crate::cli::args::{Args, ARGS};
use crate::cli::commands::man::ManCommand;

pub fn generate_man_page(man_command: &ManCommand) -> anyhow::Result<()> {

    let man = clap_mangen::Man::new(Args::command());
    let mut buffer: Vec<u8> = vec![];

    man.render(&mut buffer)?;

    let path = match &man_command.output_directory {
        None => &ARGS.directory,
        Some(path) => path
    };
    
    fs::write(path.join("atac.1"), buffer)?;
    
    println!("Man page generated into \"{}\"", path.display());

    Ok(())
}