diff --git a/scripts/env/pkgset-use b/scripts/env/pkgset-use index 5f7b824..c052d44 100644 --- a/scripts/env/pkgset-use +++ b/scripts/env/pkgset-use @@ -20,7 +20,7 @@ function gvm_pkgset_use() { [[ "$2" != "--default" ]] || display_error "Cannot set local pkgset as default" || return 1 - export PATH=$GVM_PATH_BACKUP + gvm_export_path . "$LOCAL_TOP/environments/$fuzzy_match" || display_error "Failed to source the package set environment" || return 1 @@ -30,7 +30,7 @@ function gvm_pkgset_use() { fuzzy_match=`$LS_PATH $GVM_ROOT/environments | $SORT_PATH | $GREP_PATH "$gvm_go_name@" | $GREP_PATH "$1" | $HEAD_PATH -n 1` || display_error "Invalid package set" || return 1 - export PATH=$GVM_PATH_BACKUP + gvm_export_path . "$GVM_ROOT/environments/$fuzzy_match" || display_error "Failed to source the package set environment" || return 1 diff --git a/scripts/env/use b/scripts/env/use index 2b37598..33b5be2 100644 --- a/scripts/env/use +++ b/scripts/env/use @@ -14,7 +14,7 @@ function gvm_use() { fi fi - export PATH=$GVM_PATH_BACKUP + gvm_export_path . $GVM_ROOT/environments/$fuzzy_match &> /dev/null || display_error "Couldn't source environment" || return 1 if [[ "$2" == "--default" ]]; then cp $GVM_ROOT/environments/$fuzzy_match $GVM_ROOT/environments/default || display_error "Couldn't make $fuzzy_match default" diff --git a/scripts/function/gvm_export_path b/scripts/function/gvm_export_path new file mode 100644 index 0000000..b1f518d --- /dev/null +++ b/scripts/function/gvm_export_path @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +function gvm_export_path() { + export PATH="$GVM_ROOT/bin:`echo "$PATH" | tr ":" "\n" | grep -v '^$' | egrep -v "$GVM_ROOT/(pkgsets|gos|bin)" | tr "\n" ":" | sed 's/:*$//'`" + export GVM_PATH_BACKUP="$PATH" +} +