gitignore-template-generator 0.3.1

A binary crate to generate templates for .gitignore files
Documentation
use std::process::exit;

use clap::{CommandFactory, Parser};

use gitignore_template_generator::{
    Args, GitignoreTemplateGenerator, TemplateGenerator,
    http_client::UreqClient,
};

fn main() {
    let args = Args::parse();

    if args.show_author {
        let cmd = Args::command();
        if let Some(author) = cmd.get_author() {
            println!("{author}");
        } else {
            println!("Author information not available.");
        }
        return;
    }

    let client = UreqClient {
        server_url: args.server_url,
    };
    let args = args.template_names.join(",");
    let result = GitignoreTemplateGenerator::generate_from_api(&client, &args);

    match result {
        Ok(body) => print!("{body}"),
        Err(error) => {
            eprintln!("{}", error.message);
            exit(error.exit_status);
        }
    }
}