9a40ae9b5f463614ec16d39df4268b53d745ce8c
- Author
- Robby Russell <robby@planetargon.com>
- Committer
- Robby Russell <robby@planetargon.com>
- Date
Message
Merge pull request #2212 from bsiegel/bundler_bi_function
Change bundler plugin's `bi` alias to a function
Diff
1diff --git a/plugins/bundler/bundler.plugin.zsh b/plugins/bundler/bundler.plugin.zsh
2index e390f8620bb1252e7b0f14072bf90c7d92fef36e..4c3580caca9accf93d6359afb706a681c99968f5 100644
3--- a/plugins/bundler/bundler.plugin.zsh
4+++ b/plugins/bundler/bundler.plugin.zsh
5@@ -4,13 +4,31 @@ alias bp="bundle package"
6 alias bo="bundle open"
7 alias bu="bundle update"
8
9-
10 # The following is based on https://github.com/gma/bundler-exec
11
12 bundled_commands=(annotate berks cap capify cucumber foodcritic foreman guard jekyll kitchen knife middleman nanoc rackup rainbows rake rspec ruby shotgun spec spin spork strainer tailor taps thin thor unicorn unicorn_rails puma)
13
14 ## Functions
15
16+bi() {
17+ if _bundler-installed && _within-bundled-project; then
18+ local bundler_version=`bundle version | cut -d' ' -f3`
19+ if [[ $bundler_version > '1.4.0' || $bundler_version = '1.4.0' ]]; then
20+ if [[ "$(uname)" == 'Darwin' ]]
21+ then
22+ local cores_num="$(sysctl hw.ncpu | awk '{print $2}')"
23+ else
24+ local cores_num="$(nproc)"
25+ fi
26+ bundle install --jobs=$cores_num $@
27+ else
28+ bundle install $@
29+ fi
30+ else
31+ echo "Can't 'bundle install' outside a bundled project"
32+ fi
33+}
34+
35 _bundler-installed() {
36 which bundle > /dev/null 2>&1
37 }
38@@ -32,28 +50,14 @@ _run-with-bundler() {
39 fi
40 }
41
42-if _bundler-installed; then
43- bundler_version=`bundle version | cut -d' ' -f3`
44- if [[ $bundler_version > '1.4.0' || $bundler_version = '1.4.0' ]]; then
45- if [[ "$(uname)" == 'Darwin' ]]
46- then
47- local cores_num="$(sysctl hw.ncpu | awk '{print $2}')"
48- else
49- local cores_num="$(nproc)"
50- fi
51- eval "alias bi='bundle install --jobs=$cores_num'"
52- else
53- alias bi='bundle install'
54- fi
55-
56- ## Main program
57- for cmd in $bundled_commands; do
58- eval "function unbundled_$cmd () { $cmd \$@ }"
59- eval "function bundled_$cmd () { _run-with-bundler $cmd \$@}"
60- alias $cmd=bundled_$cmd
61-
62- if which _$cmd > /dev/null 2>&1; then
63- compdef _$cmd bundled_$cmd=$cmd
64- fi
65- done
66-fi
67+## Main program
68+for cmd in $bundled_commands; do
69+ eval "function unbundled_$cmd () { $cmd \$@ }"
70+ eval "function bundled_$cmd () { _run-with-bundler $cmd \$@}"
71+ alias $cmd=bundled_$cmd
72+
73+ if which _$cmd > /dev/null 2>&1; then
74+ compdef _$cmd bundled_$cmd=$cmd
75+ fi
76+done
77+