cli/commands/self_install.rs
1use crate::update_check::ReleaseChannel;
2use clap::Subcommand;
3
4#[derive(Subcommand, Debug)]
5pub enum SelfCommands {
6 /// Copy the shine binary to a platform-specific install location
7 Install {
8 /// Destination path (default: /usr/local/bin/shine on Unix, %LOCALAPPDATA%\Programs\shine\shine.exe on Windows)
9 #[arg(long, value_name = "PATH")]
10 dest: Option<std::path::PathBuf>,
11 },
12 /// Download and install a shine release for this platform
13 Upgrade {
14 /// Release channel to install (default: stable)
15 #[arg(long, value_enum)]
16 channel: Option<ReleaseChannel>,
17 },
18}