asdf: fix homebrew installation path (#7582)

* The check for the asdf installation directory is more precise:

    The existence of the directory `$HOME/.asdf` does not mean that it is the installation
    directory of `asdf`. It will also be created after installing at least one asdf plugin.

* Completions, while installed with homebrew, are now expected on an alternative location.
This commit is contained in:
eric-christian 2019-02-08 15:14:09 +01:00 committed by Marc Cornellà
parent 052493b1ba
commit 86ea319536

View File

@ -1,9 +1,11 @@
# Find where asdf should be installed # Find where asdf should be installed
ASDF_DIR="${ASDF_DIR:-$HOME/.asdf}" ASDF_DIR="${ASDF_DIR:-$HOME/.asdf}"
ASDF_COMPLETIONS="$ASDF_DIR/completions"
# If not found, check for Homebrew package # If not found, check for Homebrew package
if [[ ! -d $ASDF_DIR ]] && (( $+commands[brew] )); then if [[ ! -f "$ASDF_DIR/asdf.sh" ]] && (( $+commands[brew] )); then
ASDF_DIR="$(brew --prefix asdf)" ASDF_DIR="$(brew --prefix asdf)"
ASDF_COMPLETIONS="$ASDF_DIR/etc/bash_completion.d"
fi fi
# Load command # Load command
@ -11,7 +13,7 @@ if [[ -f "$ASDF_DIR/asdf.sh" ]]; then
. "$ASDF_DIR/asdf.sh" . "$ASDF_DIR/asdf.sh"
# Load completions # Load completions
if [[ -f "$ASDF_DIR/completions/asdf.bash" ]]; then if [[ -f "$ASDF_COMPLETIONS/asdf.bash" ]]; then
. "$ASDF_DIR/completions/asdf.bash" . "$ASDF_COMPLETIONS/asdf.bash"
fi fi
fi fi