#compdef zcat (( $+_is_gnu )) || typeset -gA _is_gnu if (( ! $+_is_gnu[$words[1]] )); then if [[ $(_call version $words[1] --license &1) = *GNU* ]] then _is_gnu[$words[1]]=yes else _is_gnu[$words[1]]= fi fi if [[ -n "$_is_gnu[$words[1]]" ]] then _gzip "$@" else _description files expl 'compressed file' _files "$expl[@]" -g '*.Z' fi