![AlexMunoz@users.noreply.github.com](/assets/img/avatar_default.png)
![GitHub](/assets/img/avatar_default.png)
13 changed files with 171 additions and 3 deletions
@ -0,0 +1,36 @@
@@ -0,0 +1,36 @@
|
||||
use super::command::Command; |
||||
use crate::config::FnmConfig; |
||||
use crate::fs::remove_symlink_dir; |
||||
use snafu::{ensure, ResultExt, Snafu}; |
||||
use structopt::StructOpt; |
||||
|
||||
#[derive(StructOpt, Debug)] |
||||
pub struct Unalias { |
||||
pub(crate) requested_alias: String, |
||||
} |
||||
|
||||
impl Command for Unalias { |
||||
type Error = Error; |
||||
|
||||
fn apply(self, config: &FnmConfig) -> Result<(), Self::Error> { |
||||
let alias_path = config.aliases_dir().join(&self.requested_alias); |
||||
ensure!( |
||||
alias_path.exists(), |
||||
AliasNotFound { |
||||
requested_alias: self.requested_alias |
||||
} |
||||
); |
||||
|
||||
remove_symlink_dir(&alias_path).context(CantDeleteSymlink)?; |
||||
|
||||
Ok(()) |
||||
} |
||||
} |
||||
|
||||
#[derive(Debug, Snafu)] |
||||
pub enum Error { |
||||
#[snafu(display("Can't delete symlink: {}", source))] |
||||
CantDeleteSymlink { source: std::io::Error }, |
||||
#[snafu(display("Requested alias {} not found", requested_alias))] |
||||
AliasNotFound { requested_alias: String }, |
||||
} |
@ -0,0 +1,14 @@
@@ -0,0 +1,14 @@
|
||||
--- |
||||
source: tests/feature_tests/mod.rs |
||||
expression: "&source.trim()" |
||||
--- |
||||
set -e |
||||
shopt -s expand_aliases |
||||
|
||||
eval "$(fnm env)" |
||||
fnm install 11.10.0 |
||||
fnm install 8.11.3 |
||||
fnm alias 8.11.3 version8 |
||||
fnm ls | grep version8 |
||||
fnm unalias version8 |
||||
fnm use version8 2>&1 | grep 'Requested version version8 is not currently installed' |
@ -0,0 +1,11 @@
@@ -0,0 +1,11 @@
|
||||
--- |
||||
source: tests/feature_tests/mod.rs |
||||
expression: "&source.trim()" |
||||
--- |
||||
fnm env | source |
||||
fnm install 11.10.0 |
||||
fnm install 8.11.3 |
||||
fnm alias 8.11.3 version8 |
||||
fnm ls | grep version8 |
||||
fnm unalias version8 |
||||
fnm use version8 2>&1 | grep 'Requested version version8 is not currently installed' |
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
--- |
||||
source: tests/feature_tests/mod.rs |
||||
expression: "&source.trim()" |
||||
--- |
||||
$ErrorActionPreference = "Stop" |
||||
fnm env | Out-String | Invoke-Expression |
||||
fnm install 11.10.0 |
||||
fnm install 8.11.3 |
||||
fnm alias 8.11.3 version8 |
||||
$($__out__ = $(fnm ls | Select-String 'version8'); echo $__out__; if ($__out__ -eq $null){ exit 1 } else { $__out__ }) |
||||
fnm unalias version8 |
||||
$($__out__ = $($($_tmp_err_action = $ErrorActionPreference;$ErrorActionPreference = "Continue";fnm use version8 2>&1;$ErrorActionPreference = $_tmp_err_action) | Select-String 'Requested version version8 is not currently installed'); echo $__out__; if ($__out__ -eq $null){ exit 1 } else { $__out__ }) |
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
--- |
||||
source: tests/feature_tests/mod.rs |
||||
expression: "&source.trim()" |
||||
--- |
||||
set -e |
||||
eval "$(fnm env)" |
||||
fnm install 11.10.0 |
||||
fnm install 8.11.3 |
||||
fnm alias 8.11.3 version8 |
||||
fnm ls | grep version8 |
||||
fnm unalias version8 |
||||
fnm use version8 2>&1 | grep 'Requested version version8 is not currently installed' |
@ -0,0 +1,9 @@
@@ -0,0 +1,9 @@
|
||||
--- |
||||
source: tests/feature_tests/mod.rs |
||||
expression: "&source.trim()" |
||||
--- |
||||
set -e |
||||
shopt -s expand_aliases |
||||
|
||||
eval "$(fnm --log-level='error' env)" |
||||
fnm unalias lts 2>&1 | grep 'Requested alias lts not found' |
@ -0,0 +1,6 @@
@@ -0,0 +1,6 @@
|
||||
--- |
||||
source: tests/feature_tests/mod.rs |
||||
expression: "&source.trim()" |
||||
--- |
||||
fnm --log-level='error' env | source |
||||
fnm unalias lts 2>&1 | grep 'Requested alias lts not found' |
@ -0,0 +1,7 @@
@@ -0,0 +1,7 @@
|
||||
--- |
||||
source: tests/feature_tests/mod.rs |
||||
expression: "&source.trim()" |
||||
--- |
||||
$ErrorActionPreference = "Stop" |
||||
fnm --log-level='error' env | Out-String | Invoke-Expression |
||||
$($__out__ = $($($_tmp_err_action = $ErrorActionPreference;$ErrorActionPreference = "Continue";fnm unalias lts 2>&1;$ErrorActionPreference = $_tmp_err_action) | Select-String 'Requested alias lts not found'); echo $__out__; if ($__out__ -eq $null){ exit 1 } else { $__out__ }) |
@ -0,0 +1,7 @@
@@ -0,0 +1,7 @@
|
||||
--- |
||||
source: tests/feature_tests/mod.rs |
||||
expression: "&source.trim()" |
||||
--- |
||||
set -e |
||||
eval "$(fnm --log-level='error' env)" |
||||
fnm unalias lts 2>&1 | grep 'Requested alias lts not found' |
Loading…
Reference in new issue