mirror of
https://github.com/asdf-vm/asdf.git
synced 2024-11-15 01:28:17 -07:00
1d43a052fe
Add "shell" subcommand for setting versions in shell session
31 lines
723 B
Fish
31 lines
723 B
Fish
#!/usr/bin/env fish
|
|
|
|
set -x ASDF_DIR (dirname (status -f))
|
|
set -l asdf_data_dir (
|
|
if test -n "$ASDF_DATA_DIR"; echo $ASDF_DATA_DIR;
|
|
else; echo $HOME/.asdf; end)
|
|
|
|
# Add asdf to PATH
|
|
set -l asdf_bin_dirs $ASDF_DIR/bin $ASDF_DIR/shims $asdf_data_dir/shims
|
|
|
|
for x in $asdf_bin_dirs
|
|
if begin not contains $x $PATH; and test -d $x; end
|
|
set PATH $x $PATH
|
|
end
|
|
end
|
|
|
|
# Add function wrapper so we can export variables
|
|
function asdf
|
|
set command $argv[1]
|
|
set -e argv[1]
|
|
|
|
switch "$command"
|
|
case "shell"
|
|
# eval commands that need to export variables
|
|
source (env ASDF_SHELL=fish asdf "sh-$command" $argv | psub)
|
|
case '*'
|
|
# forward other commands to asdf script
|
|
command asdf "$command" $argv
|
|
end
|
|
end
|