refactor: use fish_add_path during fish setup if available (#1317)

This commit is contained in:
Yuri Pereira Constante 2022-08-30 15:18:25 +00:00 committed by GitHub
parent 733980f559
commit b8f6218bf1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2,27 +2,36 @@ if not set -q ASDF_DIR
set -x ASDF_DIR (dirname (status -f)) set -x ASDF_DIR (dirname (status -f))
end end
set -l asdf_user_shims (
if test -n "$ASDF_DATA_DIR"
printf "%s\n" "$ASDF_DATA_DIR/shims"
else
printf "%s\n" "$HOME/.asdf/shims"
end
)
# Add asdf to PATH # Add asdf to PATH
set -l asdf_bin_dirs $ASDF_DIR/bin $asdf_user_shims # fish_add_path was added in fish 3.2, so we need a fallback for older version
if type -q fish_add_path
if test -n "$ASDF_DATA_DIR"
fish_add_path --global --move "$ASDF_DATA_DIR/shims" "$ASDF_DIR/bin"
else
fish_add_path --global --move "$HOME/.asdf/shims" "$ASDF_DIR/bin"
end
else
set -l asdf_user_shims (
if test -n "$ASDF_DATA_DIR"
printf "%s\n" "$ASDF_DATA_DIR/shims"
else
printf "%s\n" "$HOME/.asdf/shims"
end
)
for x in $asdf_bin_dirs set -l asdf_bin_dirs $ASDF_DIR/bin $asdf_user_shims
if test -d $x
for i in (seq 1 (count $PATH)) for x in $asdf_bin_dirs
if test $PATH[$i] = $x if test -d $x
set -e PATH[$i] for i in (seq 1 (count $PATH))
break if test $PATH[$i] = $x
set -e PATH[$i]
break
end
end end
end end
set PATH $x $PATH
end end
set PATH $x $PATH
end end
# Load the asdf wrapper function # Load the asdf wrapper function