diff --git a/completion/available/gem.completion.bash b/completion/available/gem.completion.bash index 8ce359f7..ab07a133 100644 --- a/completion/available/gem.completion.bash +++ b/completion/available/gem.completion.bash @@ -9,23 +9,26 @@ __gem_completion() { install) # list the remote gems and add to completion if [ -z "$REMOTE_GEMS" ]; then - REMOTE_GEMS=($(gem list --remote --no-versions | sed 's/\*\*\* REMOTE GEMS \*\*\*//' | tr '\n' ' ')) + read -r -a REMOTE_GEMS <<< "$(gem list --remote --no-versions | sed 's/\*\*\* REMOTE GEMS \*\*\*//' | tr '\n' ' ')" fi local cur=${COMP_WORDS[COMP_CWORD]} + # shellcheck disable=SC2207 COMPREPLY=($(compgen -W "${REMOTE_GEMS[*]}" -- "$cur")) + return 0 ;; uninstall) # list all local installed gems and add to completion - if [ -z "$LOCAL_GEMS" ]; then - LOCAL_GEMS=($(gem list --no-versions | sed 's/\*\*\* LOCAL GEMS \*\*\*//' | tr '\n' ' ')) - fi + read -r -a LOCAL_GEMS <<< "$(gem list --no-versions | sed 's/\*\*\* LOCAL GEMS \*\*\*//' | tr '\n' ' ')" local cur=${COMP_WORDS[COMP_CWORD]} + # shellcheck disable=SC2207 COMPREPLY=($(compgen -W "${LOCAL_GEMS[*]}" -- "$cur")) + return 0 ;; esac local commands=(build cert check cleanup contents dependency environment fetch generate_index help install list lock outdated owner pristine push query rdoc search server sources specification stale uninstall unpack update which) + # shellcheck disable=SC2207 COMPREPLY=($(compgen -W "${commands[*]}" -- "$cur")) }