diff options
Diffstat (limited to 'completions/sbopkg')
-rw-r--r-- | completions/sbopkg | 41 |
1 files changed, 22 insertions, 19 deletions
diff --git a/completions/sbopkg b/completions/sbopkg index 1504a54e..16bd58f9 100644 --- a/completions/sbopkg +++ b/completions/sbopkg @@ -5,14 +5,14 @@ _sbopkg() local cur prev words cword _init_completion || return - if [[ "$cur" == -* ]]; then - COMPREPLY=( $(compgen -W '$(_parse_help "$1" -h)' -- "$cur") ) - [[ $COMPREPLY ]] && return + if [[ $cur == -* ]]; then + COMPREPLY=($(compgen -W '$(_parse_help "$1" -h)' -- "$cur")) + [[ ${COMPREPLY-} ]] && return fi case "$prev" in -e) - COMPREPLY=( $(compgen -W 'ask continue stop' -- "$cur") ) + COMPREPLY=($(compgen -W 'ask continue stop' -- "$cur")) return ;; -f) @@ -24,12 +24,12 @@ _sbopkg() return ;; -V) - COMPREPLY=( $(compgen -W "? - $(sbopkg -V ? 2>&1 | cut -s -f1)" -- "$cur") ) + COMPREPLY=($(compgen -W "? + $(sbopkg -V '?' 2>&1 | cut -s -f1)" -- "$cur")) return ;; - -i|-b) - ;; + -i | -b) ;; + *) return ;; @@ -37,34 +37,37 @@ _sbopkg() local i config config="/etc/sbopkg/sbopkg.conf" - for (( i=${#words[@]}-1; i>0; i-- )); do - if [[ "${words[i]}" == -f ]]; then - config="${words[i+1]}" + for ((i = ${#words[@]} - 1; i > 0; i--)); do + if [[ ${words[i]} == -f ]]; then + config="${words[i + 1]}" __expand_tilde_by_ref config break fi done - [[ -r "$config" ]] || return + [[ -r $config ]] || return . $config - for (( i=1; i<${#words[@]}; i++ )); do + for ((i = 1; i < ${#words[@]}; i++)); do case "${words[i]}" in -V) - REPO_NAME="${words[i+1]%%/*}" - REPO_BRANCH="${words[i+1]#*/}" + REPO_NAME="${words[i + 1]%%/*}" + REPO_BRANCH="${words[i + 1]#*/}" ;; -d) - REPO_ROOT="${words[i+1]}" + REPO_ROOT="${words[i + 1]}" ;; esac done [[ -r $REPO_ROOT/$REPO_NAME/$REPO_BRANCH/SLACKBUILDS.TXT ]] || return - COMPREPLY=( $(command sed -ne "/^SLACKBUILD NAME: $cur/{s/^SLACKBUILD NAME: //;p}"\ + COMPREPLY=($(command sed -ne "/^SLACKBUILD NAME: $cur/{s/^SLACKBUILD NAME: //;p}" \ $REPO_ROOT/$REPO_NAME/$REPO_BRANCH/SLACKBUILDS.TXT) - $(cd $QUEUEDIR; compgen -f -X "!*.sqf" -- "$cur") ) + $( + cd $QUEUEDIR + compgen -f -X "!*.sqf" -- "$cur" + )) } && -complete -F _sbopkg sbopkg + complete -F _sbopkg sbopkg # ex: filetype=sh |