use crate::*;
#[derive(Clone, Data, Debug, New, Parser)]
#[command(name = "euv")]
#[command(about = "euv development server with live WASM compilation")]
pub struct Cli {
#[command(subcommand)]
pub command: Mode,
}
#[derive(Clone, Data, Debug, New, Parser)]
pub struct ModeArgs {
#[arg(short, long, default_value = ".")]
pub crate_path: PathBuf,
#[arg(short, long, default_value_t = 80)]
#[get(type(copy))]
pub port: u16,
#[arg(long, default_value = "www")]
pub www_dir: String,
#[arg(long)]
pub index_html: Option<PathBuf>,
#[arg(trailing_var_arg = true, allow_hyphen_values = true)]
pub wasm_pack_args: Vec<String>,
}
#[derive(Clone, Data, Debug, New, Parser)]
pub struct FmtArgs {
#[arg(short, long, default_value = ".")]
pub path: PathBuf,
#[arg(long, default_value_t = false)]
#[get(type(copy))]
pub check: bool,
}