#compdef git-journal _git-journal() { typeset -A opt_args local ret=1 local context curcontext="$curcontext" state line _arguments -s -S -C \ '-p+[Sets a custom working path.]' \ '--path+[Sets a custom working path.]' \ '-n+[The number of tags until the parser stops when a single revision is given.]' \ '--tags-count+[The number of tags until the parser stops when a single revision is given.]' \ '-e+[A pattern to exclude git tags from the processing.]' \ '-t+[Use a custom output template.]' \ '--template+[Use a custom output template.]' \ '-o+[The output file for the changelog.]' \ '--output+[The output file for the changelog.]' \ '-a[Do not stop parsing at the first tag when a single revision is given. Overwrites '\''-n/--tags-count'\''.]' \ '--all[Do not stop parsing at the first tag when a single revision is given. Overwrites '\''-n/--tags-count'\''.]' \ '-g[Generate a fresh output template from a commit range.]' \ '--generate[Generate a fresh output template from a commit range.]' \ '-s[Print only the shortlog (summary) form.]' \ '--short[Print only the shortlog (summary) form.]' \ '-u[Skip entries without any relation to a git TAG.]' \ '--skip-unreleased[Skip entries without any relation to a git TAG.]' \ '-h[Prints help information]' \ '--help[Prints help information]' \ '-V[Prints version information]' \ '--version[Prints version information]' \ "1:: :_git-journal_commands" \ "*:: :->git-journal" \ && ret=0 case $state in (git-journal) curcontext="${curcontext%:*:*}:git-journal-command-$words[1]:" case $line[1] in (p) _arguments -s -S -C \ '-h[Prints help information]' \ '--help[Prints help information]' \ '-V[Prints version information]' \ '--version[Prints version information]' \ "1:: :_git-journal__prepare_commands" \ && ret=0 ;; (prepare) _arguments -s -S -C \ '-h[Prints help information]' \ '--help[Prints help information]' \ '-V[Prints version information]' \ '--version[Prints version information]' \ "1:: :_git-journal__prepare_commands" \ && ret=0 ;; (s) _arguments -s -S -C \ '-h[Prints help information]' \ '--help[Prints help information]' \ '-V[Prints version information]' \ '--version[Prints version information]' \ && ret=0 ;; (setup) _arguments -s -S -C \ '-h[Prints help information]' \ '--help[Prints help information]' \ '-V[Prints version information]' \ '--version[Prints version information]' \ && ret=0 ;; (v) _arguments -s -S -C \ '-h[Prints help information]' \ '--help[Prints help information]' \ '-V[Prints version information]' \ '--version[Prints version information]' \ "1:: :_git-journal__verify_commands" \ && ret=0 ;; (verify) _arguments -s -S -C \ '-h[Prints help information]' \ '--help[Prints help information]' \ '-V[Prints version information]' \ '--version[Prints version information]' \ "1:: :_git-journal__verify_commands" \ && ret=0 ;; (help) _arguments -s -S -C \ '-h[Prints help information]' \ '--help[Prints help information]' \ '-V[Prints version information]' \ '--version[Prints version information]' \ && ret=0 ;; esac ;; esac } (( $+functions[_git-journal_commands] )) || _git-journal_commands() { local commands; commands=( "prepare:Prepare a commit message before the user can edit it." \ "p:Prepare a commit message before the user can edit it." \ "setup:Creates all necessary git hooks and an initial configuration file. Shell completions for bash and fish will be available inside the current working directory." \ "s:Creates all necessary git hooks and an initial configuration file. Shell completions for bash and fish will be available inside the current working directory." \ "verify:Verify the specified commit message." \ "v:Verify the specified commit message." \ "help:Prints this message or the help of the given subcommand(s)" \ "REVISION_RANGE:Specifies the revision range to be processed. If a single revision is specified, the output will stop at the first following git TAG." \ ) _describe -t commands 'git-journal commands' commands "$@" } (( $+functions[_git-journal__help_commands] )) || _git-journal__help_commands() { local commands; commands=( ) _describe -t commands 'git-journal help commands' commands "$@" } (( $+functions[_git-journal__p_commands] )) || _git-journal__p_commands() { local commands; commands=( "MESSAGE:The path to the commit message which should be prepared." \ "TYPE:The type of the commit. For example "message"." \ ) _describe -t commands 'git-journal p commands' commands "$@" } (( $+functions[_p_commands] )) || _p_commands() { local commands; commands=( "MESSAGE:The path to the commit message which should be prepared." \ "TYPE:The type of the commit. For example "message"." \ ) _describe -t commands 'p commands' commands "$@" } (( $+functions[_git-journal__prepare_commands] )) || _git-journal__prepare_commands() { local commands; commands=( "MESSAGE:The path to the commit message which should be prepared." \ "TYPE:The type of the commit. For example "message"." \ ) _describe -t commands 'git-journal prepare commands' commands "$@" } (( $+functions[_git-journal__s_commands] )) || _git-journal__s_commands() { local commands; commands=( ) _describe -t commands 'git-journal s commands' commands "$@" } (( $+functions[_s_commands] )) || _s_commands() { local commands; commands=( ) _describe -t commands 's commands' commands "$@" } (( $+functions[_git-journal__setup_commands] )) || _git-journal__setup_commands() { local commands; commands=( ) _describe -t commands 'git-journal setup commands' commands "$@" } (( $+functions[_git-journal__v_commands] )) || _git-journal__v_commands() { local commands; commands=( "MESSAGE:The path to the commit message which should be prepared." \ ) _describe -t commands 'git-journal v commands' commands "$@" } (( $+functions[_v_commands] )) || _v_commands() { local commands; commands=( "MESSAGE:The path to the commit message which should be prepared." \ ) _describe -t commands 'v commands' commands "$@" } (( $+functions[_git-journal__verify_commands] )) || _git-journal__verify_commands() { local commands; commands=( "MESSAGE:The path to the commit message which should be prepared." \ ) _describe -t commands 'git-journal verify commands' commands "$@" } _git-journal "$@"