mirror of
https://github.com/oh-my-fish/oh-my-fish
synced 2024-11-09 13:10:40 +00:00
55 lines
1.5 KiB
Fish
55 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
|
||
|
||
set -l do_eval (function --help | grep -q '‐‐inherit‐variable'; and echo false)
|
||
|
||
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
|