#compdef auto. _arguments \ '1:flag:->flags' \ '*:: :->args' case "$state" in flags) local -a opts opts=( '-t:Topography file' '-i:Install dotfiles specified in the .topography file' '-u:Uninstall dotfiles specified in the .topography file' '-b:Exit at first error' '-h:Show help text' ) _describe 'flags' opts ;; args) case $line[1] in -t) _files ;; esac esac