Updates from review feedback.

* Don't bail if GOENV_ROOT not set
* Set GOENV_ROOT to ~/.goenv if not set and installed there
* Only munge path if goenv not on path and exists in GOENV_ROOT/bin
* More comments
pull/1515/head
David Farrell 2020-03-09 19:43:27 -07:00
parent 73a21f7435
commit fc43b112a5
No known key found for this signature in database
GPG Key ID: 1CCA28D0E300B56F
1 changed files with 19 additions and 11 deletions

View File

@ -1,21 +1,29 @@
cite about-plugin
about-plugin 'Init goenv, if installed. Plays nicely with package managers'
# Try to set GOENV_ROOT if not already set
if [ -z "${GOENV_ROOT}" ]; then
# Bail if cannot be set
if [ ! -d "$HOME/.goenv" ]; then
return
fi
export GOENV_ROOT="$HOME/.goenv"
# GOENV_ROOT does not need to be configured.
# If it is configured, it should not be overridden.
# However, let's try to handle the case where:
# - goenv is not already on the path
# - GOENV_ROOT is not configured
# - User has installed goenv in ~/.goenv
# In this case, we'll do the user a solid and configure
# the goenv they've taken the time to install.
if ! _command_exists goenv && [ -z "${GOENV_ROOT}" ] && [ -x "${HOME}/.goenv/bin/goenv" ]; then
export GOENV_ROOT="${HOME}/.goenv"
fi
# Add GOENV_ROOT/bin to path if goenv not already on path
if ! _command_exists goenv && [ -x "${GOENV_ROOT}/bin/goenv" ]; then
pathmunge "$GOENV_ROOT/bin"
# Add GOENV_ROOT/bin to path if:
# - goenv not already on path
# - GOENV_ROOT is configured
# - User has installed goenv in GOENV_ROOT
if ! _command_exists goenv && [ -n "${GOENV_ROOT}" ] && [ -x "${GOENV_ROOT}/bin/goenv" ]; then
pathmunge "${GOENV_ROOT}/bin"
fi
# Initialize goenv - Play nicely if goenv not on path
# Initialize goenv - Play nicely if goenv never made it to the path
# NOTE: In the off-chance that goenv has already been initialized,
# it should be safe to re-initialize
if _command_exists goenv ; then
eval "$(goenv init - bash)"
fi