use clap::Args;
use std::path::PathBuf;
#[derive(Args, Clone, PartialEq, Eq, Debug, Default)]
pub struct GeneralOptions {
#[arg(long, short)]
pub verbose: bool,
}
#[derive(Args, Clone, PartialEq, Eq, Debug)]
pub struct ProjectOptions {
#[arg(long)]
pub lib: bool,
#[arg(long, value_name = "NAME")]
pub bin: Option<String>,
#[arg(long, short, value_name = "SPEC")]
pub package: Option<String>,
#[arg(long)]
pub no_default_features: bool,
#[arg(long)]
pub all_features: bool,
#[arg(long, value_name = "FEATURES")]
pub features: Vec<String>,
#[arg(long, value_name = "TARGET")]
pub target: Option<String>,
#[arg(long, value_name = "PATH", default_value = ".")]
pub manifest_path: PathBuf,
}
impl Default for ProjectOptions {
fn default() -> Self {
Self {
lib: false,
bin: None,
package: None,
no_default_features: false,
all_features: false,
features: vec![],
target: None,
manifest_path: PathBuf::from("."),
}
}
}