diff --git a/scripts/env/use b/scripts/env/use index 45a6a09..da14059 100644 --- a/scripts/env/use +++ b/scripts/env/use @@ -1,9 +1,18 @@ #!/bin/bash function gvm_use() { - [[ "$1" != "" ]] || + [[ "$1" != "" ]] || display_error "Please specifiy the version" || return 1 - fuzzy_match=`$LS_PATH $GVM_ROOT/gos | $SORT_PATH | $GREP_PATH "$1" | $HEAD_PATH -n 1 | $GREP_PATH "$1"` || - display_error "Invalid version $1" || return 1 + VERSION=$1 + fuzzy_match=`$LS_PATH $GVM_ROOT/gos | $SORT_PATH | $GREP_PATH "$1" | $HEAD_PATH -n 1 | $GREP_PATH "$1"` + if [[ "$?" != "0" ]]; then + GO_CACHE_PATH=$GVM_ROOT/archive/go + version=`hg tags -R $GO_CACHE_PATH | awk '{print $1}' | $SORT_PATH | $GREP_PATH "$VERSION" | $HEAD_PATH -n 1 | $GREP_PATH "$VERSION"` + if [[ "x$version" == "x" ]]; then + display_error "Version not found locally. Try 'gvm install $1'" || return 1 + else + display_warning "$version is not installed. Install it by running 'gvm install $version'" || return 1 + fi + fi export PATH=$GVM_PATH_BACKUP . $GVM_ROOT/environments/$fuzzy_match &> /dev/null || display_error "Couldn't source environment" || return 1 diff --git a/scripts/function/display_warning b/scripts/function/display_warning index 6320a43..e5afde0 100644 --- a/scripts/function/display_warning +++ b/scripts/function/display_warning @@ -4,7 +4,7 @@ display_warning() { # YELLOW! tput sgr0 tput setaf 3 - echo "$1" + echo "WARNING: $1" tput sgr0 else echo "$1"