add --help to subcommand completions

ensure subcommand exists, then include --help in its completion output
This commit is contained in:
Jason Karns 2015-11-17 15:01:33 -05:00
parent 2c4dd63f77
commit d7ca2aba2a
3 changed files with 12 additions and 2 deletions

View file

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

View file

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

View file

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