More tar *[cr]*f completion improvements.

This commit is contained in:
Ville Skyttä 2011-03-20 18:43:12 +02:00
parent 0ae464e580
commit f973eb043c

View File

@ -3,12 +3,12 @@
have tar && { have tar && {
_tar() _tar()
{ {
local cur prev words ext regex tar untar local cur prev words cword ext regex tar untar
COMPREPLY=() COMPREPLY=()
_get_comp_words_by_ref cur prev words _get_comp_words_by_ref cur prev words cword
if [ $COMP_CWORD -eq 1 ]; then if [ $cword -eq 1 ]; then
COMPREPLY=( $( compgen -W 'c t x u r d A' -- "$cur" ) ) COMPREPLY=( $( compgen -W 'c t x u r d A' -- "$cur" ) )
return 0 return 0
fi fi
@ -19,6 +19,7 @@ _tar()
--*) --*)
;; ;;
?(-)*[cr]*f) ?(-)*[cr]*f)
if [[ $cword -eq 2 ]]; then
ext='@(tar|gem|spkg)' ext='@(tar|gem|spkg)'
case ${words[1]} in case ${words[1]} in
*a*) ext="$tars" ;; *a*) ext="$tars" ;;
@ -28,6 +29,9 @@ _tar()
*J*) ext='t?(ar.)xz' ;; *J*) ext='t?(ar.)xz' ;;
esac esac
_filedir $ext _filedir $ext
else
_filedir
fi
return 0 return 0
;; ;;
+([^IZzJjy])f) +([^IZzJjy])f)