[Refactor] `bash_completion`: Improve coding style

Peter Dave Hello 2018-05-21 19:59:01 +08:00 committed by Jordan Harband
parent 113d807e5a
commit 62ee7cf998
No known key found for this signature in database
GPG Key ID: 64A196AEE0916D55
1 changed files with 28 additions and 35 deletions

View File

@ -6,17 +6,15 @@ if ! command -v nvm &> /dev/null; then
return return
fi fi
__nvm_generate_completion() __nvm_generate_completion() {
{
declare current_word declare current_word
current_word="${COMP_WORDS[COMP_CWORD]}" current_word="${COMP_WORDS[COMP_CWORD]}"
# shellcheck disable=SC2207 # shellcheck disable=SC2207
COMPREPLY=($(compgen -W "$1" -- "$current_word")) COMPREPLY=($(compgen -W "$1" -- "${current_word}"))
return 0 return 0
} }
__nvm_commands () __nvm_commands() {
{
declare current_word declare current_word
declare command declare command
@ -32,7 +30,7 @@ __nvm_commands ()
if [ ${#COMP_WORDS[@]} == 4 ]; then if [ ${#COMP_WORDS[@]} == 4 ]; then
command="${COMP_WORDS[COMP_CWORD-2]}" command="${COMP_WORDS[COMP_CWORD - 2]}"
case "${command}" in case "${command}" in
alias) __nvm_installed_nodes ;; alias) __nvm_installed_nodes ;;
esac esac
@ -41,46 +39,41 @@ __nvm_commands ()
case "${current_word}" in case "${current_word}" in
-*) __nvm_options ;; -*) __nvm_options ;;
*) __nvm_generate_completion "$COMMANDS" ;; *) __nvm_generate_completion "${COMMANDS}" ;;
esac esac
fi fi
} }
__nvm_options () __nvm_options() {
{
OPTIONS='' OPTIONS=''
__nvm_generate_completion "$OPTIONS" __nvm_generate_completion "${OPTIONS}"
} }
__nvm_installed_nodes () __nvm_installed_nodes() {
{
__nvm_generate_completion "$(nvm_ls) $(__nvm_aliases)" __nvm_generate_completion "$(nvm_ls) $(__nvm_aliases)"
} }
__nvm_aliases () __nvm_aliases() {
{
declare aliases declare aliases
aliases="" aliases=""
if [ -d "$NVM_DIR/alias" ]; then if [ -d "${NVM_DIR}/alias" ]; then
aliases="$(cd "$NVM_DIR/alias" && command find "$PWD" -type f | command sed "s:$PWD/::")" aliases="$(cd "${NVM_DIR}/alias" && command find "${PWD}" -type f | command sed "s:${PWD}/::")"
fi fi
echo "${aliases} node stable unstable iojs" echo "${aliases} node stable unstable iojs"
} }
__nvm_alias () __nvm_alias() {
{
__nvm_generate_completion "$(__nvm_aliases)" __nvm_generate_completion "$(__nvm_aliases)"
} }
__nvm () __nvm() {
{
declare previous_word declare previous_word
previous_word="${COMP_WORDS[COMP_CWORD-1]}" previous_word="${COMP_WORDS[COMP_CWORD - 1]}"
case "$previous_word" in case "${previous_word}" in
use|run|exec|ls|list|uninstall) __nvm_installed_nodes ;; use | run | exec | ls | list | uninstall) __nvm_installed_nodes ;;
alias|unalias) __nvm_alias ;; alias | unalias) __nvm_alias ;;
*) __nvm_commands ;; *) __nvm_commands ;;
esac esac