#compdef guilt guilt-add guilt-applied guilt-delete guilt-files guilt-fold guilt-fork guilt-header guilt-help guilt-import-commit guilt-import guilt-init guilt-new guilt-next guilt-patchbomb guilt-pop guilt-prev guilt-push guilt-rebase guilt-refresh guilt-rm guilt-series guilt-status guilt-top guilt-unapplied local -a _guilt_commands _guilt_commands=( 'add:add a file to git and guilt' 'applied:list applied patches' 'delete:delete a patch' 'files:print the list of files that the topmost patch changes' 'fold:fold a specified patch into the topmost applied patch' 'fork:fork the topmost applied patch' 'header:print a patch header' 'help:open man page of a guilt command' 'import-commit:import one or more commits as patches' 'import:import specified patch file' 'init:initialize guilt for use in a git repository' 'new:create a new patch' 'next:output the name of next patch to be pushed' 'patchbomb:email a series of commits interactively' 'pop:pop patches from the tree' 'prev:output name of second topmost applied patch' 'push:push patches onto the tree' 'rebase:rebase pushed patches' 'refresh:refresh topmost applied patch' 'rm:remove a file from the git tree and guilt' 'series:print the stack of patches' 'status:print the status of files since the last refresh' 'top:output name of topmost applied patch' 'unapplied:list all unapplied patches' ) case "$service" in (guilt) if (( CURRENT == 2 )); then _describe -t commands 'guilt command' _guilt_commands && ret=0 else _files fi ;; (*) _files ;; esac