Skip to main content

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}