Hi, I modified my _zip completion file to support files with .xpi extension That filename extension is used for firefox addons. They are just zip whose names ends with .xpi I don't known if many people need to pack/unpack firefox addons regulaly, so I don't known if supporting .xpi extension would be that useful. On the other hand, I don't think .xpi is used for other types of files, so there should be no conflict, or undesired matching. arno ? _zip.patch Index: Completion/Unix/Command/_zip =================================================================== RCS file: /cvsroot/zsh/zsh/Completion/Unix/Command/_zip,v retrieving revision 1.8 diff -u -r1.8 _zip --- Completion/Unix/Command/_zip 21 Jan 2004 13:53:29 -0000 1.8 +++ Completion/Unix/Command/_zip 7 Nov 2006 05:12:07 -0000 @@ -50,7 +50,7 @@ '(-0 -1 -2 -3 -4 -5 -6 -7 -8 )-9[compress better]' \ '-x[exclude the following names]' \ '-i[include only the following names]' \ - "(-f -d -R -q -c -b -@ -F -FF -A -T -y -e -h -u -m -g -j -l -ll -L -v -z -t -tt -o -D -J -X -n -0 -1 -2 -3 -4 -5 -6 -7 -8 -9):zip file:_files -g '(#i)*.(zip|[ejw]ar)(-.)'" \ + "(-f -d -R -q -c -b -@ -F -FF -A -T -y -e -h -u -m -g -j -l -ll -L -v -z -t -tt -o -D -J -X -n -0 -1 -2 -3 -4 -5 -6 -7 -8 -9):zip file:_files -g '(#i)*.(zip|xpi|[ejw]ar)(-.)'" \ '*:file:->files' && ret=0 ;; unzip) @@ -75,7 +75,7 @@ '-M[page output]' \ '-x[exclude the following names]' \ '-Z[zipinfo mode]:zipinfomode:->zipinfo' \ - "(-p -f -u -l -t -z -n -o -j -C -X -q -qq -a -aa -v -L -M)1:zip file:_files -g '(#i)*.(zip|[ejw]ar)(-.)'" \ + "(-p -f -u -l -t -z -n -o -j -C -X -q -qq -a -aa -v -L -M)1:zip file:_files -g '(#i)*.(zip|xpi|[ejw]ar)(-.)'" \ '*:file:->files' && ret=0 ;; esac @@ -98,7 +98,7 @@ '(-1 -2)-T[use sortable decimal format for file times]' \ '-M[page output]' \ '-x[exclude the following names]' \ - "(-1 -2 -s -m -l -v -h -z -C -t -T -M)1:zip file:_files -g '(#i)*.(zip|[ejw]ar)(-.)'" \ + "(-1 -2 -s -m -l -v -h -z -C -t -T -M)1:zip file:_files -g '(#i)*.(zip|xpi|[ejw]ar)(-.)'" \ '*:file:->files' && ret=0 fi @@ -112,7 +112,7 @@ ;; files) if [[ $service = zip ]] && (( ! ${+opt_args[-d]} )); then - _wanted files expl zfile _files -g '^(#i)*.(zip|[ejw]ar)(-.)' && return + _wanted files expl zfile _files -g '^(#i)*.(zip|xpi|[ejw]ar)(-.)' && return else zipfile=( $~line[1](|.zip|.ZIP) ) [[ -z $zipfile[1] ]] && return 1