feat(asdf): load zsh completions instead of bash ones

Closes #11143
Closes #8779

Co-authored-by: Carlo Sala <carlosalag@protonmail.com>
This commit is contained in:
Thomas Faugier 2023-10-02 20:25:17 +02:00 committed by Carlo Sala
parent 27402e2603
commit 278bcfc93b
No known key found for this signature in database
GPG Key ID: DA6FB450C1A4FE9A

View File

@ -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 [[ ! -f "$ASDF_DIR/asdf.sh" || ! -f "$ASDF_COMPLETIONS/_asdf" ]]; then
# If not found, check for archlinux/AUR package (/opt/asdf-vm/) # 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 if [[ -f "/opt/asdf-vm/asdf.sh" ]]; then
ASDF_DIR="/opt/asdf-vm" ASDF_DIR="/opt/asdf-vm"
ASDF_COMPLETIONS="$ASDF_DIR" ASDF_COMPLETIONS="$ASDF_DIR"
fi
# If not found, check for Homebrew package # If not found, check for Homebrew package
if [[ ! -f "$ASDF_DIR/asdf.sh" || ! -f "$ASDF_COMPLETIONS/asdf.bash" ]] && (( $+commands[brew] )); then elif (( $+commands[brew] )); then
brew_prefix="$(brew --prefix asdf)" _ASDF_PREFIX="$(brew --prefix asdf)"
ASDF_DIR="${brew_prefix}/libexec" ASDF_DIR="${_ASDF_PREFIX}/libexec"
ASDF_COMPLETIONS="${brew_prefix}/etc/bash_completion.d" ASDF_COMPLETIONS="${_ASDF_PREFIX}/share/zsh/site-functions"
unset brew_prefix 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 if [[ -f "$ASDF_COMPLETIONS/_asdf" ]]; then
. "$ASDF_COMPLETIONS/asdf.bash" fpath+=("$ASDF_COMPLETIONS")
autoload -Uz _asdf
compdef _asdf asdf # compdef is already loaded before loading plugins
fi fi
fi fi