|
@@ -2,26 +2,29 @@
|
|
ASDF_DIR="${ASDF_DIR:-$HOME/.asdf}"
|
|
ASDF_DIR="${ASDF_DIR:-$HOME/.asdf}"
|
|
ASDF_COMPLETIONS="$ASDF_DIR/completions"
|
|
ASDF_COMPLETIONS="$ASDF_DIR/completions"
|
|
|
|
|
|
-# If not found, check for archlinux/AUR package (/opt/asdf-vm/)
|
|
|
|
-if [[ ! -f "$ASDF_DIR/asdf.sh" || ! -f "$ASDF_COMPLETIONS/asdf.bash" ]] && [[ -f "/opt/asdf-vm/asdf.sh" ]]; then
|
|
|
|
- ASDF_DIR="/opt/asdf-vm"
|
|
|
|
- ASDF_COMPLETIONS="$ASDF_DIR"
|
|
|
|
-fi
|
|
|
|
-
|
|
|
|
-# If not found, check for Homebrew package
|
|
|
|
-if [[ ! -f "$ASDF_DIR/asdf.sh" || ! -f "$ASDF_COMPLETIONS/asdf.bash" ]] && (( $+commands[brew] )); then
|
|
|
|
- brew_prefix="$(brew --prefix asdf)"
|
|
|
|
- ASDF_DIR="${brew_prefix}/libexec"
|
|
|
|
- ASDF_COMPLETIONS="${brew_prefix}/etc/bash_completion.d"
|
|
|
|
- unset brew_prefix
|
|
|
|
|
|
+if [[ ! -f "$ASDF_DIR/asdf.sh" || ! -f "$ASDF_COMPLETIONS/_asdf" ]]; then
|
|
|
|
+ # If not found, check for archlinux/AUR package (/opt/asdf-vm/)
|
|
|
|
+ if [[ -f "/opt/asdf-vm/asdf.sh" ]]; then
|
|
|
|
+ ASDF_DIR="/opt/asdf-vm"
|
|
|
|
+ ASDF_COMPLETIONS="$ASDF_DIR"
|
|
|
|
+ # If not found, check for Homebrew package
|
|
|
|
+ elif (( $+commands[brew] )); then
|
|
|
|
+ _ASDF_PREFIX="$(brew --prefix asdf)"
|
|
|
|
+ ASDF_DIR="${_ASDF_PREFIX}/libexec"
|
|
|
|
+ ASDF_COMPLETIONS="${_ASDF_PREFIX}/share/zsh/site-functions"
|
|
|
|
+ unset _ASDF_PREFIX
|
|
|
|
+ else
|
|
|
|
+ return
|
|
|
|
+ fi
|
|
fi
|
|
fi
|
|
|
|
|
|
# Load command
|
|
# Load command
|
|
if [[ -f "$ASDF_DIR/asdf.sh" ]]; then
|
|
if [[ -f "$ASDF_DIR/asdf.sh" ]]; then
|
|
- . "$ASDF_DIR/asdf.sh"
|
|
|
|
-
|
|
|
|
|
|
+ source "$ASDF_DIR/asdf.sh"
|
|
# Load completions
|
|
# Load completions
|
|
- if [[ -f "$ASDF_COMPLETIONS/asdf.bash" ]]; then
|
|
|
|
- . "$ASDF_COMPLETIONS/asdf.bash"
|
|
|
|
|
|
+ if [[ -f "$ASDF_COMPLETIONS/_asdf" ]]; then
|
|
|
|
+ fpath+=("$ASDF_COMPLETIONS")
|
|
|
|
+ autoload -Uz _asdf
|
|
|
|
+ compdef _asdf asdf # compdef is already loaded before loading plugins
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|