use clap::{Parser, Subcommand};
pub mod generate;
use generate::RackGenerationArgs;
pub mod containers;
#[derive(Parser, Debug)]
#[structopt(name = "Container rack")]
#[command(arg_required_else_help(true))]
struct CommandLineCommands {
#[command(subcommand)]
command: Commands,
}
#[derive(Subcommand, Debug)]
enum Commands {
Generate(RackGenerationArgs),
Containers,
}
pub fn run() {
let args = CommandLineCommands::parse();
match &args.command {
Commands::Generate(args) => {
generate::svg(args);
}
Commands::Containers => {
containers::print_containers();
}
}
}