summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorThomas Faugier <thomas.faugier@gmail.com>2023-10-02 20:25:17 +0200
committerCarlo Sala <carlosalag@protonmail.com>2023-10-02 20:27:52 +0200
commit278bcfc93bed91d1095a9ea7981c4a1109da7abd (patch)
tree8c2aa0b51fb3d5ecf7e661e253e59f04ba36f0e6 /plugins
parent27402e2603b9354f419af3695bad8ff17ed33bac (diff)
downloadzsh-278bcfc93bed91d1095a9ea7981c4a1109da7abd.tar.gz
zsh-278bcfc93bed91d1095a9ea7981c4a1109da7abd.tar.bz2
zsh-278bcfc93bed91d1095a9ea7981c4a1109da7abd.zip
feat(asdf): load zsh completions instead of bash ones
Closes #11143 Closes #8779 Co-authored-by: Carlo Sala <carlosalag@protonmail.com>
Diffstat (limited to 'plugins')
-rw-r--r--plugins/asdf/asdf.plugin.zsh35
1 files changed, 19 insertions, 16 deletions
diff --git a/plugins/asdf/asdf.plugin.zsh b/plugins/asdf/asdf.plugin.zsh
index 3016282c6..7635d20c3 100644
--- a/plugins/asdf/asdf.plugin.zsh
+++ b/plugins/asdf/asdf.plugin.zsh
@@ -2,26 +2,29 @@
ASDF_DIR="${ASDF_DIR:-$HOME/.asdf}"
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
# Load command
if [[ -f "$ASDF_DIR/asdf.sh" ]]; then
- . "$ASDF_DIR/asdf.sh"
-
+ source "$ASDF_DIR/asdf.sh"
# 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