#compdef aptitude local curcontext="$curcontext" state line cmds ret=1 function _aptitude_release() { #{{{ local expl releases releases=( ${${(M)${(f)"$(cmds' \ '*: :->args' && ret=0 case $state in cmds) cmds=( ${${(M)${(f)"$(_call_program commands aptitude -h 2>/dev/null)"}:# [^- ][^ ]## *}/(#b) ([^ ]##) ##(- )#([^- ]*)/$match[1]:$match[3]:l}) _describe -t commands 'aptitude command' cmds && ret=0 ;; args) case $line[1] in search) _message -e patterns pattern ;; (download|show|changelog|why|why-not|build-dep|build-depends) _deb_packages avail && ret=0 ;; (remove|purge|hold|unhold|reinstall|forbid-version|markauto|unmarkauto) _deb_packages installed && ret=0 ;; install) _deb_packages uninstalled && ret=0 ;; *) (( ret )) && _message 'no more arguments' ;; esac ;; esac return ret