#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]" \ "-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]" \ "-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]" \ "-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]" \ "-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]" \ "-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]" \ "-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]" \ "-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]" \ "-h[Prints help information]" \ "--help[Prints help information]" \ "-V[Prints version information]" \ "--version[Prints version information]" \ && ret=0 ;; (help) _arguments -s -S -C \ "-h[Prints help information]" \ "--help[Prints help information]" \ "-V[Prints version information]" \ "--version[Prints version information]" \ "-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)" \ "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 "$@"