use std::path::PathBuf;
use clap::{Args, Subcommand};
use super::super::ColorModeArg;
pub(crate) struct MachineCliArgs {
pub(super) root: Option<PathBuf>,
pub(super) config: Option<PathBuf>,
pub(super) color: Option<ColorModeArg>,
pub(super) quiet: bool,
pub(super) command: MachineArgs,
}
impl MachineCliArgs {
pub(crate) fn new(
root: Option<PathBuf>,
config: Option<PathBuf>,
color: Option<ColorModeArg>,
quiet: bool,
command: MachineArgs,
) -> Self {
Self {
root,
config,
color,
quiet,
command,
}
}
}
#[derive(Debug, Args)]
pub(crate) struct MachineArgs {
#[command(subcommand)]
pub(super) command: MachineSubcommand,
}
#[derive(Debug, Subcommand)]
pub(crate) enum MachineSubcommand {
Run,
#[command(hide = true)]
GenerateContractTypescript,
#[command(hide = true)]
GenerateCliReferenceJson,
}