mirror of
https://github.com/oh-my-fish/oh-my-fish.git
synced 2024-12-11 12:47:52 +08:00
56 lines
1.5 KiB
Fish
56 lines
1.5 KiB
Fish
# These methods override the default calls to append `bundle exec` if this gem
|
|
# is available within the context of bundler.
|
|
#
|
|
set -l execs annotate \
|
|
cap \
|
|
capify \
|
|
cucumber \
|
|
dashing \
|
|
foreman \
|
|
guard \
|
|
kitchen \
|
|
middleman \
|
|
nanoc \
|
|
puma \
|
|
rackup \
|
|
rainbows \
|
|
rake \
|
|
rspec \
|
|
rubocop \
|
|
ruby \
|
|
shotgun \
|
|
sidekiq \
|
|
spec \
|
|
spinach \
|
|
spork \
|
|
thin \
|
|
thor \
|
|
unicorn \
|
|
unicorn_rails
|
|
|
|
# Fish 2.1.1+ has support for --inherit-variable
|
|
set -l do_eval (echo $FISH_VERSION | grep 2.1.1-)
|
|
|
|
for executable in $execs
|
|
if test -z "$do_eval"
|
|
eval "function $executable; __execute_as_bundler $executable \$argv; end"
|
|
else
|
|
function $executable --inherit-variable executable
|
|
__execute_as_bundler $executable $argv
|
|
end
|
|
end
|
|
end
|
|
|
|
function __execute_as_bundler
|
|
if __is_a_bundled_executable $argv[1]
|
|
command bundle exec $argv
|
|
else
|
|
eval command $argv
|
|
end
|
|
end
|
|
|
|
function __is_a_bundled_executable
|
|
set -l bindir (command bundle exec ruby -e 'puts Gem.bindir')
|
|
test -f "$bindir/$argv"
|
|
end
|