cli: add --all, --updates, --no-deps flags to commands

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I25581b8de945284b4ce7c2c85601a86f6a6a6964
This commit is contained in:
raf 2026-02-12 23:22:41 +03:00
commit fa5befff3b
Signed by: NotAShelf
GPG key ID: 29D95B64378DB4BF

View file

@ -97,20 +97,20 @@ pub struct InitArgs {
pub version: Option<String>, pub version: Option<String>,
/// Target platform /// Target platform
#[clap(short, long, default_value = "multiplatform")] #[clap(short, long)]
pub target: String, pub target: Option<String>,
/// Minecraft version /// Minecraft versions (space-separated)
#[clap(short, long, default_value = "1.20.1")] #[clap(short, long = "mc-versions", value_delimiter = ' ', num_args = 1..)]
pub mc_version: String, pub mc_versions: Option<Vec<String>>,
/// Mod loader /// Mod loaders (format: name=version, can be specified multiple times)
#[clap(short, long, default_value = "fabric")] #[clap(short, long = "loaders", value_delimiter = ',')]
pub loader: String, pub loaders: Option<Vec<String>>,
/// Mod loader version /// Skip interactive prompts (use defaults)
#[clap(short = 'v', long, default_value = "latest")] #[clap(short, long)]
pub loader_version: String, pub yes: bool,
} }
#[derive(Args)] #[derive(Args)]
@ -214,6 +214,10 @@ pub struct RmArgs {
/// Skip confirmation prompt /// Skip confirmation prompt
#[clap(short, long)] #[clap(short, long)]
pub yes: bool, pub yes: bool,
/// Skip removing dependent projects
#[clap(short = 'D', long = "no-deps")]
pub no_deps: bool,
} }
#[derive(Args)] #[derive(Args)]
@ -222,6 +226,10 @@ pub struct UpdateArgs {
#[arg(value_name = "PROJECT")] #[arg(value_name = "PROJECT")]
pub inputs: Vec<String>, pub inputs: Vec<String>,
/// Update all projects
#[arg(short, long)]
pub all: bool,
/// Skip confirmation prompts /// Skip confirmation prompts
#[arg(short, long)] #[arg(short, long)]
pub yes: bool, pub yes: bool,
@ -344,7 +352,7 @@ pub struct SyncArgs {
#[clap(short = 'R', long)] #[clap(short = 'R', long)]
pub removals: bool, pub removals: bool,
/// Sync updates only /// Sync updates only (apply pending updates)
#[clap(short = 'U', long)] #[clap(short = 'U', long)]
pub updates: bool, pub updates: bool,
} }
@ -371,7 +379,7 @@ pub struct ExportArgs {
/// Export modpack without server content /// Export modpack without server content
/// Modrinth: exclude server-overrides and SERVER mods /// Modrinth: exclude server-overrides and SERVER mods
/// ServerPack: skip export /// `ServerPack`: skip export
#[clap(long = "no-server")] #[clap(long = "no-server")]
pub no_server: bool, pub no_server: bool,
} }