mercur 0.1.5

mercur - junolang package manager
use clap::{Args, Parser, Subcommand};
mod add;
mod build;
mod registry;
pub use {
    add::*,
    build::*,
    registry::*
};

#[derive(Debug, Parser)]
#[command(name = "Mercur")]
#[command(about = "Mercur - Junolang Package Manager", long_about = None)]
pub struct App {
    #[clap(flatten)]
    pub global_opts: GlobalOpts,

    #[clap(subcommand)]
    pub command: Command,
}

#[derive(Debug, Subcommand)]
pub enum Command {
    Registry(RegistrySubcommandArgs),
    Add(AddSubcommandArgs),
    Build(BuildSubcommandArgs),
}

#[derive(Debug, Args)]
pub struct GlobalOpts {
    #[arg(short, long)]
    pub directory: Option<String>,
}