aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/commands/self_update.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-02-11 00:15:14 +0900
committernsfisis <nsfisis@gmail.com>2026-02-11 00:15:14 +0900
commit8441abd29aea53719c19f34ec6d542a4575a23c9 (patch)
tree2d5704acdae268253b69c4bb9a37653635037138 /src/commands/self_update.rs
parent9dacb9293f9b995c6c810227f73b4aa5cf019bab (diff)
downloadphp-mozart-8441abd29aea53719c19f34ec6d542a4575a23c9.tar.gz
php-mozart-8441abd29aea53719c19f34ec6d542a4575a23c9.tar.zst
php-mozart-8441abd29aea53719c19f34ec6d542a4575a23c9.zip
define subcommands and options
Diffstat (limited to 'src/commands/self_update.rs')
-rw-r--r--src/commands/self_update.rs55
1 files changed, 55 insertions, 0 deletions
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<String>,
+
+ /// 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!()
+}