From 3a5813784e27bb9a5b44622267faae36582a965f Mon Sep 17 00:00:00 2001 From: Joshua Bussdieker Date: Thu, 22 Mar 2012 22:09:05 -0700 Subject: [PATCH] Find the system ls command and use it to fix issue #6 --- scripts/completion | 10 ++++++---- scripts/diff | 3 ++- scripts/env/pkgset-use | 7 ++++++- scripts/env/use | 11 ++++++++--- scripts/function/errors | 1 + scripts/list | 5 +++-- scripts/uninstall | 3 ++- 7 files changed, 28 insertions(+), 12 deletions(-) create mode 100644 scripts/function/errors diff --git a/scripts/completion b/scripts/completion index 0ad760f..9c92bc8 100644 --- a/scripts/completion +++ b/scripts/completion @@ -1,5 +1,7 @@ _gvm() { + LS_PATH=`which ls` || return 1 + local cur prev opts base COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" @@ -13,7 +15,7 @@ _gvm() use|delete|empty) [[ "$gvm_go_name" == "" ]] && return 1 [[ $COMP_CWORD > 3 ]] && return 1 - local version=$(for x in `ls $GVM_ROOT/pkgsets/$gvm_go_name`; do echo ${x} ; done ) + local version=$(for x in `$LS_PATH $GVM_ROOT/pkgsets/$gvm_go_name`; do echo ${x} ; done ) COMPREPLY=( $(compgen -W "${version}" -- ${cur}) ) return 0 ;; @@ -33,11 +35,11 @@ _gvm() [[ "$gvm_go_name" == "" ]] && return 1 [[ "$gvm_pkgset_name" == "" ]] && return 1 if [[ "$COMP_CWORD" == "3" ]]; then - local version=$(for x in `ls $GVM_ROOT/pkgsets/$gvm_go_name/$gvm_pkgset_name/pkg.gvm`; do echo ${x} ; done ) + local version=$(for x in `$LS_PATH $GVM_ROOT/pkgsets/$gvm_go_name/$gvm_pkgset_name/pkg.gvm`; do echo ${x} ; done ) COMPREPLY=( $(compgen -W "${version}" -- ${cur}) ) return 0 elif [[ "$COMP_CWORD" == "4" ]]; then - local version=$(for x in `ls $GVM_ROOT/pkgsets/$gvm_go_name/$gvm_pkgset_name/pkg.gvm/${COMP_WORDS[3]}`; do echo ${x} ; done ) + local version=$(for x in `$LS_PATH $GVM_ROOT/pkgsets/$gvm_go_name/$gvm_pkgset_name/pkg.gvm/${COMP_WORDS[3]}`; do echo ${x} ; done ) COMPREPLY=( $(compgen -W "${version}" -- ${cur}) ) return 0 fi @@ -63,7 +65,7 @@ _gvm() use|uninstall) [ ! -d $GVM_ROOT/gos ] && return 1 [[ $COMP_CWORD > 2 ]] && return 1 - local installed_versions=$(for x in `ls $GVM_ROOT/gos`; do echo ${x} ; done ) + local installed_versions=$(for x in `$LS_PATH $GVM_ROOT/gos`; do echo ${x} ; done ) COMPREPLY=( $(compgen -W "${installed_versions}" -- ${cur}) ) return 0 ;; diff --git a/scripts/diff b/scripts/diff index 9944eb4..049f121 100755 --- a/scripts/diff +++ b/scripts/diff @@ -1,10 +1,11 @@ #!/bin/bash . $GVM_ROOT/scripts/functions +LS_PATH=`which ls` || display_error "$LS_ERROR" || return 1 version=$1 if [ "$version" != "" ]; then - fuzzy_match=`ls $GVM_ROOT/gos | sort | grep "$version" | head -n 1 | grep "$version"` || + fuzzy_match=`$LS_PATH $GVM_ROOT/gos | sort | grep "$version" | head -n 1 | grep "$version"` || display_error "Invalid version $version" foldername=$GVM_ROOT/gos/$fuzzy_match diff --git a/scripts/env/pkgset-use b/scripts/env/pkgset-use index 6071d84..0af132a 100644 --- a/scripts/env/pkgset-use +++ b/scripts/env/pkgset-use @@ -1,3 +1,6 @@ +#!/bin/bash +. $GVM_ROOT/scripts/function/errors + function display_error() { tput sgr0 tput setaf 1 @@ -15,13 +18,15 @@ function display_message() { } function gvm_pkgset_use() { + LS_PATH=`which ls` || display_error "$LS_ERROR" || return 1 + [[ "$1" != "" ]] || display_error "Please specify a package set" || return 1 [[ "$gvm_go_name" != "" ]] || display_error "No Go version selected" || return 1 - fuzzy_match=`ls $GVM_ROOT/environments | sort | grep "$gvm_go_name@" | grep "$1" | head -n 1` || + fuzzy_match=`$LS_PATH $GVM_ROOT/environments | sort | grep "$gvm_go_name@" | grep "$1" | head -n 1` || display_error "Invalid package set" || return 1 export PATH=$GVM_PATH_BACKUP diff --git a/scripts/env/use b/scripts/env/use index 9ef17bd..5a2d8c9 100644 --- a/scripts/env/use +++ b/scripts/env/use @@ -1,3 +1,6 @@ +#!/bin/bash +. $GVM_ROOT/scripts/function/errors + function display_error() { tput sgr0 tput setaf 1 @@ -15,15 +18,17 @@ function display_message() { } function gvm_use() { + LS_PATH=`which ls` || display_error "$LS_ERROR" || return 1 + [[ "$1" != "" ]] || display_error "Please specifiy the version" || return 1 - fuzzy_match=`ls $GVM_ROOT/gos | sort | grep "$1" | head -n 1 | grep "$1"` || + fuzzy_match=`$LS_PATH $GVM_ROOT/gos | sort | grep "$1" | head -n 1 | grep "$1"` || display_error "Invalid version $1" || return 1 export PATH=$GVM_PATH_BACKUP - . $GVM_ROOT/environments/$fuzzy_match + . $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 + cp $GVM_ROOT/environments/$fuzzy_match $GVM_ROOT/environments/default || display_error "Couldn't make $fuzzy_match default" fi display_message "Now using version $fuzzy_match" diff --git a/scripts/function/errors b/scripts/function/errors new file mode 100644 index 0000000..6c19163 --- /dev/null +++ b/scripts/function/errors @@ -0,0 +1 @@ +LS_ERROR="Couldn't find ls" diff --git a/scripts/list b/scripts/list index ffaf7c3..c3312f1 100755 --- a/scripts/list +++ b/scripts/list @@ -1,14 +1,15 @@ #!/bin/bash . $GVM_ROOT/scripts/functions +LS_PATH=`which ls` || display_error "$LS_ERROR" || return 1 echo display_message "gvm gos (installed)" echo if [ -d $GVM_ROOT/gos ]; then if [[ "$gvm_go_name" != "" ]]; then - ls -1 $GVM_ROOT/gos | sed 's/^/ /g' | sed 's/^ '$gvm_go_name'/=> '$gvm_go_name'/g' + $LS_PATH -1 $GVM_ROOT/gos | sed 's/^/ /g' | sed 's/^ '$gvm_go_name'/=> '$gvm_go_name'/g' else - ls -1 $GVM_ROOT/gos | sed 's/^/ /g' + $LS_PATH -1 $GVM_ROOT/gos | sed 's/^/ /g' fi fi echo diff --git a/scripts/uninstall b/scripts/uninstall index b456c85..2dced12 100755 --- a/scripts/uninstall +++ b/scripts/uninstall @@ -1,10 +1,11 @@ #!/bin/bash . $GVM_ROOT/scripts/functions +LS_PATH=`which ls` || display_error "$LS_ERROR" || return 1 [[ "$1" == "" ]] && display_error "Please specifiy the version" -fuzzy_match=`ls $GVM_ROOT/gos | sort | grep "$1" | head -n 1 | grep "$1"` || +fuzzy_match=`$LS_PATH $GVM_ROOT/gos | sort | grep "$1" | head -n 1 | grep "$1"` || display_error "Invalid version $1" if [ -d $GVM_ROOT/gos/$fuzzy_match ]; then