Não digite o nome Ruby inteiro ao usar rbenv

Anteriormente , escrevi um pedaço de código que permite que você use rbenvdentro da concha de peixe. Hoje encontrei o plugin rbenv-use , mas não tenho ideia de como implementá-lo dentro rbenv. Então eu tive que escrever sozinho, e isso é o que fiz:

function rbenv_shell
set -l vers $argv[1]

switch "$vers"
case '--complete'
echo
'--unset'
echo
'system'
command rbenv versions
--bare
return
case '--unset'
set -e RBENV_VERSION
return 1
case ''
if [ -z "$RBENV_VERSION" ]
echo
"rbenv: no shell-specific version configured" >&2
return 1
else
echo
"$RBENV_VERSION"
return
end
case '*'
rbenv prefix
"$vers" > /dev/null
set -gx RBENV_VERSION "$vers"
end
end

function rbenv_lookup
set -l vers (command rbenv versions -- bare| sort | grep -- "$argv[1]" | tail -n1)

if [ ! -z "$vers" ]
echo $vers

return
else
echo $argv

return
end
end

function rbenv
set -l command $argv[1]
[ (count $argv) -gt 1 ]; and set -l args $argv[2..-1]

switch "$command"
case shell
rbenv_shell
(rbenv_lookup $args)
case local global
command rbenv $command
(rbenv_lookup $args)
case '*'
command rbenv $command $args

end
end

Também é simples reescrever para qualquer outro shell, se você tentar. Feliz hacking.