X-Git-Url: https://src.twobees.de/?a=blobdiff_plain;f=stow%2Foh-my-zsh%2F.oh-my-zsh%2Fplugins%2Fbundler%2Fbundler.plugin.zsh;fp=stow%2Foh-my-zsh%2F.oh-my-zsh%2Fplugins%2Fbundler%2Fbundler.plugin.zsh;h=0000000000000000000000000000000000000000;hb=1a8e170bbe5c6641a26ab1ce2e6ce6c5c1faa4cd;hp=c1cbb13ddeda375415015ba8c2012908fb27eb31;hpb=475ba35502579302593f4735c853c49ef1845dcb;p=dotfiles.git diff --git a/stow/oh-my-zsh/.oh-my-zsh/plugins/bundler/bundler.plugin.zsh b/stow/oh-my-zsh/.oh-my-zsh/plugins/bundler/bundler.plugin.zsh deleted file mode 100644 index c1cbb13..0000000 --- a/stow/oh-my-zsh/.oh-my-zsh/plugins/bundler/bundler.plugin.zsh +++ /dev/null @@ -1,127 +0,0 @@ -## Aliases - -alias ba="bundle add" -alias bck="bundle check" -alias bcn="bundle clean" -alias be="bundle exec" -alias bi="bundle_install" -alias bl="bundle list" -alias bo="bundle open" -alias bout="bundle outdated" -alias bp="bundle package" -alias bu="bundle update" - -## Functions - -bundle_install() { - # Bail out if bundler is not installed - if (( ! $+commands[bundle] )); then - echo "Bundler is not installed" - return 1 - fi - - # Bail out if not in a bundled project - if ! _within-bundled-project; then - echo "Can't 'bundle install' outside a bundled project" - return 1 - fi - - # Check the bundler version is at least 1.4.0 - autoload -Uz is-at-least - local bundler_version=$(bundle version | cut -d' ' -f3) - if ! is-at-least 1.4.0 "$bundler_version"; then - bundle install "$@" - return $? - fi - - # If bundler is at least 1.4.0, use all the CPU cores to bundle install - if [[ "$OSTYPE" = (darwin|freebsd)* ]]; then - local cores_num="$(sysctl -n hw.ncpu)" - else - local cores_num="$(nproc)" - fi - BUNDLE_JOBS="$cores_num" bundle install "$@" -} - -## Gem wrapper - -bundled_commands=( - annotate - cap - capify - cucumber - foodcritic - guard - hanami - irb - jekyll - kitchen - knife - middleman - nanoc - pry - puma - rackup - rainbows - rake - rspec - rubocop - shotgun - sidekiq - spec - spork - spring - strainer - tailor - taps - thin - thor - unicorn - unicorn_rails -) - -# Remove $UNBUNDLED_COMMANDS from the bundled_commands list -bundled_commands=(${bundled_commands:|UNBUNDLED_COMMANDS}) -unset UNBUNDLED_COMMANDS - -# Add $BUNDLED_COMMANDS to the bundled_commands list -bundled_commands+=($BUNDLED_COMMANDS) -unset BUNDLED_COMMANDS - -# Check if in the root or a subdirectory of a bundled project -_within-bundled-project() { - local check_dir="$PWD" - while [[ "$check_dir" != "/" ]]; do - if [[ -f "$check_dir/Gemfile" || -f "$check_dir/gems.rb" ]]; then - return 0 - fi - check_dir="${check_dir:h}" - done - return 1 -} - -_run-with-bundler() { - if (( ! $+commands[bundle] )) || ! _within-bundled-project; then - "$@" - return $? - fi - - if [[ -f "./bin/${1}" ]]; then - ./bin/${^^@} - else - bundle exec "$@" - fi -} - -for cmd in $bundled_commands; do - # Create wrappers for bundled and unbundled execution - eval "function unbundled_$cmd () { \"$cmd\" \"\$@\"; }" - eval "function bundled_$cmd () { _run-with-bundler \"$cmd\" \"\$@\"; }" - alias "$cmd"="bundled_$cmd" - - # Bind completion function to wrapped gem if available - if (( $+functions[_$cmd] )); then - compdef "_$cmd" "bundled_$cmd"="$cmd" - fi -done -unset cmd bundled_commands