mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-05-08 04:34:00 +02:00
Merge c5e67bcdc0 into 5667161d49
This commit is contained in:
commit
4675f4ee5d
1 changed files with 34 additions and 0 deletions
34
plugins/bundler-exec/bundler-exec.plugin.zsh
Normal file
34
plugins/bundler-exec/bundler-exec.plugin.zsh
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
# This plugin is based on https://github.com/gma/bundler-exec
|
||||
# modify the bundled_commands if needed
|
||||
|
||||
bundled_commands=(cucumber heroku rackup rails rake rspec ruby shotgun spec spork)
|
||||
|
||||
## Functions
|
||||
|
||||
_bundler-installed() {
|
||||
which bundle > /dev/null 2>&1
|
||||
}
|
||||
|
||||
_within-bundled-project() {
|
||||
local check_dir=$PWD
|
||||
while [ "$(dirname $check_dir)" != "/" ]; do
|
||||
[ -f "$check_dir/Gemfile" ] && return
|
||||
check_dir="$(dirname $check_dir)"
|
||||
done
|
||||
false
|
||||
}
|
||||
|
||||
_run-with-bundler() {
|
||||
local command="$1"
|
||||
shift
|
||||
if _bundler-installed && _within-bundled-project; then
|
||||
bundle exec $command "$@"
|
||||
else
|
||||
$command "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
## Main program
|
||||
for cmd in $bundled_commands; do
|
||||
alias $cmd="_run-with-bundler $cmd"
|
||||
done
|
||||
Loading…
Add table
Add a link
Reference in a new issue