mirror of
https://github.com/oh-my-fish/oh-my-fish.git
synced 2024-12-02 05:34:10 +08:00
3ba9a50bee
Use rbenv fish integration, if available. Fix rbenv "supports fish" logic.
34 lines
1.1 KiB
Fish
34 lines
1.1 KiB
Fish
set -l rbenv_dir "$RBENV_ROOT"
|
|
if [ ! $rbenv_dir ]
|
|
set rbenv_dir $HOME/.rbenv
|
|
end
|
|
|
|
set -l supports_fish
|
|
set -l supports_fish_version '0.4.0'
|
|
set -l user_version (eval $rbenv_dir/bin/rbenv --version | sed -E 's/^rbenv ([[:digit:]\.]{2,}).*$/\1/g')
|
|
|
|
if [ $user_version = $supports_fish_version ]
|
|
set -l supports_fish_commits '56'
|
|
set -l user_commits (eval $rbenv_dir/bin/rbenv --version | sed -E 's/^.+-([[:digit:]]{1,}).+$/\1/g')
|
|
if [ $user_commits -ge $supports_fish_commits ]
|
|
set supports_fish true
|
|
end
|
|
else
|
|
set -l higher_version (echo -e "$supports_fish_version\n$user_version" | \
|
|
sort --field-separator . \
|
|
--key 1,1 --numeric-sort --reverse \
|
|
--key 2,2 --numeric-sort --reverse \
|
|
--key 3,3 --numeric-sort --reverse | \
|
|
head -n 1)
|
|
if [ $user_version = $higher_version ]
|
|
set supports_fish true
|
|
end
|
|
end
|
|
|
|
_prepend_path $rbenv_dir/bin
|
|
if [ $supports_fish ]
|
|
status --is-interactive; and source (eval $rbenv_dir/bin/rbenv init - | psub)
|
|
else
|
|
_prepend_path $rbenv_dir/shims
|
|
end
|