use clap::{Args, Parser, Subcommand};
mod add;
mod registry;
pub use {add::*, 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),
}
#[derive(Debug, Args)]
pub struct GlobalOpts {
#[arg(short, long)]
pub directory: Option<String>,
}