[Bash-completion-commits] [SCM] bash-completion branch, master, updated. 1.3-235-g26ae770
Igor Murzov
igor at gplsoft.org
Mon May 2 10:27:00 UTC 2011
The following commit has been merged in the master branch:
commit c54f41ff26e2909bfd7d9bb05be7063dc5044db3
Author: Igor Murzov <igor at gplsoft.org>
Date: Mon Jul 5 04:23:23 2010 +0400
Improve slapt-get completion
now _slapt-get completes multiple package names
diff --git a/contrib/slackware b/contrib/slackware
index 816faa3..486e747 100644
--- a/contrib/slackware
+++ b/contrib/slackware
@@ -41,22 +41,39 @@ _slapt-get()
# argument required but no completions available
return 0
;;
- --install|-i|--show|--filelist)
+ esac
+
+ local words t
+ _get_comp_words_by_ref words
+
+ # search for last action (--install|--install-set|--remove|--show|--filelist)
+ for (( i=${#words[@]}-1; i>0; i-- )); do
+ if [[ ${words[i]} == -@(i|-install|-show|-filelist) ]]; then
+ t="all"
+ break
+ elif [[ ${words[i]} == --install-set ]]; then
+ t="set"
+ break
+ elif [[ ${words[i]} == --remove ]]; then
+ t="ins"
+ break
+ fi
+ done
+
+ case $t in
+ all) # --install|-i|--show|--filelist
COMPREPLY=( $( slapt-get --search "^$cur" 2> /dev/null | \
awk '{print $1}' ) )
return 0
;;
- --install-set)
- COMPREPLY=( $( compgen -W 'a ap d e f k kde kdei l n t tcl x \
- xap y' -- "$cur" ) )
+ ins) # --remove
+ COMPREPLY=( $( (cd /var/log/packages; compgen -f -- "$cur") ) )
return 0
;;
- --remove)
- COMPREPLY=( $( (cd /var/log/packages; compgen -f -- "$cur") ) )
+ set)
+ COMPREPLY=( $( compgen -W 'a ap d e f k kde kdei l n t tcl x \
+ xap y' -- "$cur" ) )
return 0
;;
esac
-
- COMPREPLY=( $( slapt-get --search "^$cur" 2> /dev/null | \
- awk '{print $1}' ) )
} && complete -F _slapt-get slapt-get
--
bash-completion
More information about the Bash-completion-commits
mailing list