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