Use compgen -W instead of grepping $cur.

This commit is contained in:
Ville Skyttä 2009-04-18 22:41:48 +03:00
parent 2e66656e68
commit 56996e5e6d

View File

@ -18,24 +18,24 @@ _mcrypt()
return 0 return 0
;; ;;
-@(o|-keymode)) -@(o|-keymode))
COMPREPLY=( $( mcrypt --list-keymodes 2> /dev/null | COMPREPLY=( $( compgen -W '$( mcrypt --list-keymodes \
grep "^$cur" ) ) 2>/dev/null )' -- $cur ) )
return 0 return 0
;; ;;
-@(m|-mode)) -@(m|-mode))
COMPREPLY=( $( mcrypt --list 2> /dev/null | COMPREPLY=( $( compgen -W "$( mcrypt --list \
sed -e 's/.*: //' -e 's/ $//' | sort | 2>/dev/null | sed -e 's/.*: //' -e 's/ $//' | \
uniq | tr " " "\n" | grep "^$cur" ) ) sort | uniq )" -- $cur ) )
return 0 return 0
;; ;;
-@(a|-algorithm)) -@(a|-algorithm))
COMPREPLY=( $( mcrypt --list 2> /dev/null | COMPREPLY=( $( compgen -W "$( mcrypt --list \
awk '{print $1}' | grep "^$cur" ) ) 2>/dev/null | awk '{print $1}' )" -- $cur ) )
return 0 return 0
;; ;;
-@(h|-hash)) -@(h|-hash))
COMPREPLY=( $( mcrypt --list-hash 2> /dev/null | COMPREPLY=( $( compgen -W '$( mcrypt --list-hash \
sed 1d | grep "^$cur" ) ) 2>/dev/null | sed -e 1d )' -- $cur ) )
return 0 return 0
;; ;;
-@(k|s|-@(key?(size)))) -@(k|s|-@(key?(size))))