diff --git a/completions/pkgtools b/completions/pkgtools index b2386ba1..eadc5517 100644 --- a/completions/pkgtools +++ b/completions/pkgtools @@ -6,8 +6,8 @@ have pkgtool && _pkgtool() { - COMPREPLY=() - local cur="${COMP_WORDS[COMP_CWORD]}" + local cur prev words cword + _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '--sets --ignore-tagfiles --tagfile \ --source-mounted --source_dir --target_dir --source_device' \ @@ -15,9 +15,7 @@ _pkgtool() return 0 fi - local prev=${COMP_WORDS[COMP_CWORD-1]} - - case $prev in + case "$prev" in --source_dir|--target_dir) _filedir -d return 0 @@ -41,8 +39,8 @@ complete -F _pkgtool pkgtool have removepkg && _removepkg() { - COMPREPLY=() - local cur=`_get_cword` + local cur prev words cword + _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '-copy -keep -preserve -warn' \ -- "$cur" ) ) @@ -56,8 +54,8 @@ complete -F _removepkg removepkg have upgradepkg && _upgradepkg() { - COMPREPLY=() - local cur=`_get_cword` + local cur prev words cword + _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '--dry-run --install-new --reinstall \ --verbose' -- "$cur") ) @@ -70,17 +68,15 @@ _upgradepkg() have installpkg && _installpkg() { - COMPREPLY=() - local cur=`_get_cword` + local cur prev words cword + _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '--warn --md5sum --root --infobox --terse \ --menu --ask --priority --tagfile' -- "$cur") ) return 0 fi - local prev=`_get_pword` - - case $prev in + case "$prev" in --root) _filedir -d return 0 @@ -101,17 +97,15 @@ _installpkg() have makepkg && _makepkg() { - COMPREPLY=() - local cur=`_get_cword` + local cur prev words cword + _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '-l --linkadd -p --prepend \ -c --chown' -- "$cur") ) return 0 fi - local prev=`_get_pword` - - case $prev in + case "$prev" in -l|--linkadd|-c|--chown) COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) ) return 0 diff --git a/completions/rpm2tgz b/completions/rpm2tgz index dca03f22..574505ec 100644 --- a/completions/rpm2tgz +++ b/completions/rpm2tgz @@ -4,8 +4,9 @@ have rpm2tgz || return _rpm2tgz() { - COMPREPLY=() - local cur="${COMP_WORDS[COMP_CWORD]}" + local cur prev words cword + _init_completion || return + if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '-s -S -n -r -d -c' -- "$cur" ) ) return 0 diff --git a/completions/sbopkg b/completions/sbopkg index c551e57f..9891f510 100644 --- a/completions/sbopkg +++ b/completions/sbopkg @@ -4,9 +4,8 @@ have sbopkg || return _sbopkg() { - COMPREPLY=() - local cur prev - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '-b -c -d -e -f -g -h -i -k -l \ @@ -14,7 +13,7 @@ _sbopkg() return 0 fi - case $prev in + case "$prev" in -e) COMPREPLY=( $( compgen -W 'ask continue stop' -- "$cur" ) ) return 0 @@ -40,8 +39,6 @@ _sbopkg() esac local config="/etc/sbopkg/sbopkg.conf" - local words - _get_comp_words_by_ref words for (( i=${#words[@]}-1; i>0; i-- )); do if [[ "${words[i]}" == -f ]]; then diff --git a/completions/slackpkg b/completions/slackpkg index 7fe7cd08..13d85ed4 100644 --- a/completions/slackpkg +++ b/completions/slackpkg @@ -4,9 +4,8 @@ have slackpkg || return _slackpkg() { - COMPREPLY=() - local cur - _get_comp_words_by_ref cur + local cur prev words cword + _init_completion -n = || return # based on `grep '\-.*\=.*)' /usr/sbin/slackpkg | cut -f1 -d\)` if [[ "$cur" == -* ]]; then @@ -36,9 +35,7 @@ _slackpkg() fi . "$config" - local action words - _get_comp_words_by_ref -n "=" words - + local action for (( i=1; i<${#words[@]}; i++ )); do if [[ "${words[i]}" != -* ]]; then action="${words[i]}" @@ -46,7 +43,7 @@ _slackpkg() fi done - case $action in + case "$action" in generate-template|search|file-search) # argument required but no completions available return 0 diff --git a/completions/slapt b/completions/slapt index 77946538..cba7255c 100644 --- a/completions/slapt +++ b/completions/slapt @@ -3,9 +3,8 @@ have slapt-get && _slapt_get() { - COMPREPLY=() - local cur prev - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '--download-only -d --simulate -s \ @@ -19,7 +18,7 @@ _slapt_get() return 0 fi - case $prev in + case "$prev" in --config|-c) _filedir return 0 @@ -30,9 +29,7 @@ _slapt_get() ;; esac - local words t - _get_comp_words_by_ref words - + local t # search for last action (--install|--install-set|--remove|--show|--filelist) for (( i=${#words[@]}-1; i>0; i-- )); do if [[ ${words[i]} == -@(i|-install|-show) ]]; then @@ -71,9 +68,8 @@ _slapt_get() have slapt-src && _slapt_src() { - COMPREPLY=() - local cur prev - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '--update -u --list -l --clean -e \ @@ -83,7 +79,7 @@ _slapt_src() return 0 fi - case $prev in + case "$prev" in --config|-c) _filedir return 0 @@ -94,9 +90,6 @@ _slapt_src() ;; esac - local words - _get_comp_words_by_ref words - local t # search for last action (-i|-w|-b|-f) for (( i=${#words[@]}-1; i>0; i-- )); do