Bläddra i källkod

Improve `rbenv init` instructions for fish

Fish user config file `~/.config/fish/config.fish` loads for every
instance of fish shell, not just interactive ones. Since it's
unnecessary and dangerous to eval `rbenv init -` output in
non-interactive shells, wrap the invocation in a conditional that checks
if the current shell is interactive.

Fixes #501
pull/360/head^2
Mislav Marohnić 12 år sedan
förälder
incheckning
be5e1a4ded
2 ändrade filer med 7 tillägg och 1 borttagningar
  1. +1
    -1
      libexec/rbenv-init
  2. +6
    -0
      test/init.bats

+ 1
- 1
libexec/rbenv-init Visa fil

@ -77,7 +77,7 @@ if [ -z "$print" ]; then
echo
case "$shell" in
fish )
echo '. (rbenv init -|psub)'
echo 'status --is-interactive; and . (rbenv init -|psub)'
;;
* )
echo 'eval "$(rbenv init -)"'

+ 6
- 0
test/init.bats Visa fil

@ -38,6 +38,12 @@ load test_helper
assert_line ". '${root}/libexec/../completions/rbenv.fish'"
}
@test "fish instructions" {
run rbenv-init fish
assert [ "$status" -eq 1 ]
assert_line 'status --is-interactive; and . (rbenv init -|psub)'
}
@test "option to skip rehash" {
run rbenv-init - --no-rehash
assert_success

Laddar…
Avbryt
Spara