From 08a988669f2a3aecd102df493bf3adf20e7c0feb Mon Sep 17 00:00:00 2001 From: Bjorn Neergaard Date: Wed, 11 Apr 2018 04:40:19 -0600 Subject: [PATCH 1/4] Update rbenv.fish Update to match the pyenv plugin; most importantly, add a `--is-login` guard. --- conf.d/rbenv.fish | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/conf.d/rbenv.fish b/conf.d/rbenv.fish index cb21f65..f28c6ac 100644 --- a/conf.d/rbenv.fish +++ b/conf.d/rbenv.fish @@ -1,18 +1,20 @@ if not command -s rbenv > /dev/null - echo "rbenv: command not found. See https://github.com/rbenv/rbenv" + echo "Install to use 'rbenv'." exit 1 end -set -l rbenv_root '' +set -l rbenv_root "" + if test -z "$RBENV_ROOT" - set rbenv_root "$HOME/.rbenv" - set -x RBENV_ROOT "$HOME/.rbenv" + set rbenv_root ~/.rbenv + set -x RBENV_ROOT "$rbenv_root" else set rbenv_root "$RBENV_ROOT" end -set -x PATH $rbenv_root/shims $PATH -set -x RBENV_SHELL fish -if test ! -d "$rbenv_root/shims"; or test ! -d "$rbenv_root/versions" - command mkdir -p $rbenv_root/{shims,versions} +if status --is-login + set -x PATH "$rbenv_root/shims" $PATH + set -x RBENV_SHELL fish end +command mkdir -p "$rbenv_root/"{shims,versions} + From 955c67147b61088deb6420e80c033ebc04c5ee64 Mon Sep 17 00:00:00 2001 From: Bjorn Neergaard Date: Wed, 11 Apr 2018 05:33:53 -0600 Subject: [PATCH 2/4] Get sh-prefixed commands directly from rbenv This enhances rbenv-update, as the `rbenv` function would not properly call `sh-update`. Also removed an unnecessary recursion into our own function definition. --- functions/rbenv.fish | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/functions/rbenv.fish b/functions/rbenv.fish index 922751d..d34b29b 100644 --- a/functions/rbenv.fish +++ b/functions/rbenv.fish @@ -19,12 +19,14 @@ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +set __rbenv_sh_commands (command rbenv commands --sh) + function rbenv set command $argv[1] set -e argv[1] switch "$command" - case rehash shell + case $__rbenv_sh_commands source (rbenv "sh-$command" $argv|psub) case '*' command rbenv "$command" $argv From 2b770fd448680ca0f2cde8d73526a2c626939b36 Mon Sep 17 00:00:00 2001 From: Bjorn Neergaard Date: Wed, 11 Apr 2018 05:35:03 -0600 Subject: [PATCH 3/4] Actually remove the recursion --- functions/rbenv.fish | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/functions/rbenv.fish b/functions/rbenv.fish index d34b29b..84feac3 100644 --- a/functions/rbenv.fish +++ b/functions/rbenv.fish @@ -27,7 +27,7 @@ function rbenv switch "$command" case $__rbenv_sh_commands - source (rbenv "sh-$command" $argv|psub) + source (command rbenv "sh-$command" $argv|psub) case '*' command rbenv "$command" $argv end From 426bf447a95398422d53089dd69b5c561f7f3542 Mon Sep 17 00:00:00 2001 From: Bjorn Neergaard Date: Thu, 12 Apr 2018 16:05:02 -0600 Subject: [PATCH 4/4] Don't cache `commands --sh` --- functions/rbenv.fish | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/functions/rbenv.fish b/functions/rbenv.fish index 84feac3..8dbd7f1 100644 --- a/functions/rbenv.fish +++ b/functions/rbenv.fish @@ -19,14 +19,12 @@ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -set __rbenv_sh_commands (command rbenv commands --sh) - function rbenv set command $argv[1] set -e argv[1] switch "$command" - case $__rbenv_sh_commands + case (command rbenv commands --sh) source (command rbenv "sh-$command" $argv|psub) case '*' command rbenv "$command" $argv