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