thanix 0.1.0

A yaml-to-rust code generator for generating Rust code from yaml config files e.g. as found in openAPI.
mod bindgen;

use clap::Parser;

/// The argument that Thanix expects to get given via the cli.
#[derive(Parser, Debug)]
#[command(author, version, about, long_about=None)]
struct Args {
    /// Path to a YAML schema file.
    #[arg(short, long)]
    input_file: Option<String>,
    /// URI of your netbox instance
    #[arg(long)]
    uri: String,
}

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

    let ascii_art = r#"
    ████████╗██╗  ██╗ █████╗ ███╗   ██╗██╗██╗  ██╗
    ╚══██╔══╝██║  ██║██╔══██╗████╗  ██║██║╚██╗██╔╝
       ██║   ███████║███████║██╔██╗ ██║██║ ╚███╔╝
       ██║   ██╔══██║██╔══██║██║╚██╗██║██║ ██╔██╗
       ██║   ██║  ██║██║  ██║██║ ╚████║██║██╔╝ ██╗
       ╚═╝   ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝  ╚═══╝╚═╝╚═╝  ╚═╝
                                                  "#;

    // Welcome Message
    println!(
        "{} \n(c) The Nazara Project. (github.com/The-Nazara-Project)\n
        Licensed under the terms of the GPL-v3.0-License.\n\
        Check github.com/The-Nazara-Project/Thanix/LICENSE for more info.\n",
        ascii_art
    );

    match args.input_file {
        Some(file) => bindgen::gen(file, args.uri),
        None => println!("Error: You need to provide a YAML schema to generate from."),
    }
}