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)]
#[get(pub(crate))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub command: Mode,
}
#[derive(Clone, Data, Debug, Parser)]
pub struct ModeArgs {
#[arg(short, long, default_value = ".")]
#[get(pub(crate))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) crate_path: PathBuf,
#[arg(short, long, default_value_t = 80)]
#[get(pub(crate), type(copy))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) port: u16,
#[arg(long, default_value = "www")]
#[get(pub(crate))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) www_dir: String,
#[arg(long)]
#[get(pub(crate))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) index_html: Option<PathBuf>,
#[arg(long)]
#[get(pub(crate), type(copy))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) dev: bool,
#[arg(long)]
#[get(pub(crate), type(copy))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) release: bool,
#[arg(long)]
#[get(pub(crate), type(copy))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) profiling: bool,
#[arg(long)]
#[get(pub(crate), type(copy))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) no_gitignore: bool,
#[arg(trailing_var_arg = true, allow_hyphen_values = true)]
#[get(pub(crate))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) wasm_pack_args: Vec<String>,
}
#[derive(Clone, Data, Debug, New, Parser)]
pub struct FmtArgs {
#[arg(short, long, default_value = ".")]
#[get(pub(crate))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) path: PathBuf,
#[arg(long, default_value_t = false)]
#[get(pub(crate), type(copy))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) check: bool,
}