From 8441abd29aea53719c19f34ec6d542a4575a23c9 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Wed, 11 Feb 2026 00:15:14 +0900 Subject: define subcommands and options --- src/commands/self_update.rs | 55 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 src/commands/self_update.rs (limited to 'src/commands/self_update.rs') diff --git a/src/commands/self_update.rs b/src/commands/self_update.rs new file mode 100644 index 0000000..3497d7d --- /dev/null +++ b/src/commands/self_update.rs @@ -0,0 +1,55 @@ +use clap::Args; + +#[derive(Args)] +pub struct SelfUpdateArgs { + /// Version to update to + pub version: Option, + + /// Revert to a previous version + #[arg(short, long)] + pub rollback: bool, + + /// Delete old backups during self-update + #[arg(long)] + pub clean_backups: bool, + + /// Do not output download progress + #[arg(long)] + pub no_progress: bool, + + /// Prompt user for a key update + #[arg(long)] + pub update_keys: bool, + + /// Force update to the stable channel + #[arg(long)] + pub stable: bool, + + /// Force update to the preview channel + #[arg(long)] + pub preview: bool, + + /// Force update to the snapshot channel + #[arg(long)] + pub snapshot: bool, + + /// Force update to the 1.x channel + #[arg(long = "1")] + pub channel_1: bool, + + /// Force update to the 2.x channel + #[arg(long = "2")] + pub channel_2: bool, + + /// Force update to the 2.2.x LTS channel + #[arg(long = "2.2")] + pub channel_2_2: bool, + + /// Only store the channel as default and skip the update + #[arg(long)] + pub set_channel_only: bool, +} + +pub fn execute(_args: &SelfUpdateArgs) { + todo!() +} -- cgit v1.3.1