phpup/commands/
default.rs1use super::{Command, Config};
2use crate::version;
3use clap;
4use thiserror::Error;
5
6#[derive(clap::Parser, Debug)]
7pub struct Default {
8 link_version: Option<version::Local>,
9}
10
11#[derive(Error, Debug)]
12pub enum Error {
13 #[error(transparent)]
14 FailedCreateAlias(#[from] super::alias::Error),
15}
16
17impl Command for Default {
18 type Error = Error;
19
20 fn run(&self, config: &Config) -> Result<(), Error> {
21 let alias = crate::version::Alias::default();
22 if let Some(link_version) = self.link_version {
23 let cmd = super::Alias {
24 alias,
25 link_version,
26 };
27 cmd.run(config).map_err(Into::into)
28 } else {
29 match alias.resolve(config.aliases_dir()) {
30 Ok(version) => println!("{}", version),
31 Err(_) => println!("none"),
32 }
33 Ok(())
34 }
35 }
36}