Merge pull request #824 from jasonkarns/help-completion

Handle --help flag for subcommands
This commit is contained in:
Mislav Marohnić 2015-11-20 14:28:39 +01:00
commit 63671a1479
4 changed files with 18 additions and 4 deletions

View file

@ -97,7 +97,7 @@ case "$command" in
} >&2
exit 1
;;
-v )
-v | --version )
exec rbenv---version
;;
-h | --help )
@ -111,6 +111,10 @@ case "$command" in
fi
shift 1
exec "$command_path" "$@"
if [ "$1" = --help ]; then
exec rbenv-help "$command"
else
exec "$command_path" "$@"
fi
;;
esac

View file

@ -11,6 +11,10 @@ if [ -z "$COMMAND" ]; then
fi
COMMAND_PATH="$(command -v "rbenv-$COMMAND" || command -v "rbenv-sh-$COMMAND")"
# --help is provided automatically
echo --help
if grep -iE "^([#%]|--|//) provide rbenv completions" "$COMMAND_PATH" >/dev/null; then
shift
exec "$COMMAND_PATH" --complete "$@"

View file

@ -13,7 +13,7 @@ create_command() {
create_command "rbenv-hello" "#!$BASH
echo hello"
run rbenv-completions hello
assert_success ""
assert_success "--help"
}
@test "command with completion support" {
@ -25,7 +25,11 @@ else
exit 1
fi"
run rbenv-completions hello
assert_success "hello"
assert_success
assert_output <<OUT
--help
hello
OUT
}
@test "forwards extra arguments" {
@ -40,6 +44,7 @@ fi"
run rbenv-completions hello happy world
assert_success
assert_output <<OUT
--help
happy
world
OUT

View file

@ -35,6 +35,7 @@ create_executable() {
run rbenv-completions exec
assert_success
assert_output <<OUT
--help
rake
ruby
OUT