use clap::{ Args as _Args, Parser, Subcommand };
#[derive(Parser)]
#[command(name = "juicebox")]
#[command(author = "Max Walters <mdwalters.pm@proton.me>")]
#[command(version = "0.1.0")]
#[command(about = "A simple, yet advanced programming language.", long_about = None)]
pub struct Args {
#[arg(short, long)]
output: Option<String>,
#[command(subcommand)]
command: Commands,
files: Option<std::path::PathBuf>,
}
#[derive(Subcommand)]
enum Commands {
LSP(LSP),
Format(Format),
}
#[derive(_Args)]
struct LSP {
name: Option<String>,
}
#[derive(_Args)]
struct Format {
files: String,
}