#![deny(missing_docs)]
use clap::{Parser, Subcommand};
use color_eyre::Result;
use zinkup::{App, Build, New};
#[derive(Debug, Subcommand)]
enum Command {
New(New),
Build(Build),
}
#[derive(Debug, Parser)]
#[command(name = "elko", version)]
pub struct Elko {
#[command(subcommand)]
command: Command,
#[clap(short, long, action = clap::ArgAction::Count)]
verbose: u8,
}
impl App for Elko {
fn verbose(&self) -> u8 {
self.verbose
}
fn run(&self) -> anyhow::Result<()> {
match &self.command {
Command::Build(build) => build.run(),
Command::New(new) => new.run(),
}
}
}
fn main() -> Result<()> {
Elko::start()
}