#compdef zgetattr zsetattr zdelattr zlistattr local context state line expl ret=1 REPLY case $service in zgetattr) _arguments \ '1:file:_files' \ '2:attribute:->attrs' \ '3:parameter' ;; zsetattr) _arguments \ '1:file:_files' \ '2:attribute:->attrs' \ '3:value' ;; zdelattr) _arguments \ '1:file:_files' \ '2:attribute:->attrs' ;; zlistattr) _arguments \ '1:file:_files' \ '2:parameter' ;; esac && ret=0 if [[ $state = attrs ]]; then zlistattr ${(Q)${~line[1]}} REPLY 2> /dev/null _wanted -C "$context[1]" attrs expl 'attribute' compadd -a REPLY && ret=0 fi return ret