phpup 0.1.8

Cross-Platform PHP version manager
Documentation
use super::{Command, Config};
use crate::decorized::Decorized;
use crate::version::alias;
use clap;
use thiserror::Error;

#[derive(clap::Parser, Debug)]
pub struct Unalias {
    alias: alias::Alias,
}

#[derive(Error, Debug)]
pub enum Error {
    #[error("Can't remove alias: {0}")]
    FailedRemoveAlias(#[from] alias::Error),
}

impl Command for Unalias {
    type Error = Error;

    fn run(&self, config: &Config) -> Result<(), Error> {
        self.alias.remove(config.aliases_dir())?;
        println!("Remove the alias {}", self.alias.decorized());
        Ok(())
    }
}