o- 0.4.1

Multi-Engine JavaScript Runtime
Documentation
use clap::Parser;
use clap::Subcommand;

#[derive(Parser, Debug, Clone, PartialEq, Eq, PartialOrd, Ord)]
pub struct Args {
    #[command(subcommand)]
    pub command: Commands,
}

#[derive(Subcommand, Debug, Clone, PartialEq, Eq, PartialOrd, Ord)]
pub enum Commands {
    Run {
        path: String,
    },
    Toolchain {
        #[command(subcommand)]
        command: ToolChainCommand,
    },
    Install {
        #[arg(short, long)]
        global: bool,
        package: Option<String>,
    },
    Uninstall {
        name: String,
    },
}

#[derive(Subcommand, Debug, Clone, PartialEq, Eq, PartialOrd, Ord)]
pub enum ToolChainCommand {
    Add { user: String, repo: String },
    Remove { toolchain: String },
}