#compdef quilt _arguments \ '--trace' \ '--quiltrc:config file:_files' \ '--version' \ ':quilt command:(add files import previous setup annotate fold mail push snapshot applied fork new refresh top delete graph next remove unapplied diff grep patches rename upgrade edit header pop series)' \ '*::subcmd:->subcmd' && return 0 case "$state" in (subcmd) case "$words[1]" in (applied|delete|files|graph|header|next|previous|refresh|unapplied) _wanted -V 'patches' expl 'patch' compadd ${(f)"$(quilt series)"} ;; (push) _wanted -V 'unapplied patches' expl 'patch' compadd ${(f)"$(quilt unapplied)"} ;; (pop) _wanted -V 'applied patches' expl 'patch' compadd ${(f)"$(quilt applied)"} ;; (*) _files ;; esac ;; esac