#compdef precachedctl

autoload -U is-at-least

_precachedctl() {
    typeset -A opt_args
    typeset -a _arguments_options
    local ret=1

    if is-at-least 5.2; then
        _arguments_options=(-s -S -C)
    else
        _arguments_options=(-s -C)
    fi

    local context curcontext="$curcontext" state line
    _arguments "${_arguments_options[@]}" \
'-c+[The precached config file to use]' \
'--config=[The precached config file to use]' \
'-a[Produce ASCII output (default) instead of using Unicode for line drawing]' \
'--ascii[Produce ASCII output (default) instead of using Unicode for line drawing]' \
'-u[Produce Unicode output instead of using ASCII (default) for line drawing]' \
'--unicode[Produce Unicode output instead of using ASCII (default) for line drawing]' \
'*-v[Sets the level of output verbosity]' \
'-h[Prints help information]' \
'--help[Prints help information]' \
'-V[Prints version information]' \
'--version[Prints version information]' \
":: :_precachedctl_commands" \
"*::: :->precachedctl" \
&& ret=0
    case $state in
    (precachedctl)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:precachedctl-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" \
'-l[Use long display format]' \
'-h[Prints help information]' \
'--help[Prints help information]' \
'-V[Prints version information]' \
'--version[Prints version information]' \
&& ret=0
;;
(reload-config)
_arguments "${_arguments_options[@]}" \
'-h[Prints help information]' \
'--help[Prints help information]' \
'-V[Prints version information]' \
'--version[Prints version information]' \
&& ret=0
;;
(reload)
_arguments "${_arguments_options[@]}" \
'-h[Prints help information]' \
'--help[Prints help information]' \
'-V[Prints version information]' \
'--version[Prints version information]' \
&& ret=0
;;
(shutdown)
_arguments "${_arguments_options[@]}" \
'-h[Prints help information]' \
'--help[Prints help information]' \
'-V[Prints version information]' \
'--version[Prints version information]' \
&& ret=0
;;
(stop)
_arguments "${_arguments_options[@]}" \
'-h[Prints help information]' \
'--help[Prints help information]' \
'-V[Prints version information]' \
'--version[Prints version information]' \
&& ret=0
;;
(do-housekeeping)
_arguments "${_arguments_options[@]}" \
'-h[Prints help information]' \
'--help[Prints help information]' \
'-V[Prints version information]' \
'--version[Prints version information]' \
&& ret=0
;;
(housekeeping)
_arguments "${_arguments_options[@]}" \
'-h[Prints help information]' \
'--help[Prints help information]' \
'-V[Prints version information]' \
'--version[Prints version information]' \
&& ret=0
;;
(prime-caches-now)
_arguments "${_arguments_options[@]}" \
'-h[Prints help information]' \
'--help[Prints help information]' \
'-V[Prints version information]' \
'--version[Prints version information]' \
&& ret=0
;;
(prime-caches)
_arguments "${_arguments_options[@]}" \
'-h[Prints help information]' \
'--help[Prints help information]' \
'-V[Prints version information]' \
'--version[Prints version information]' \
&& ret=0
;;
(plugins)
_arguments "${_arguments_options[@]}" \
'-h[Prints help information]' \
'--help[Prints help information]' \
'-V[Prints version information]' \
'--version[Prints version information]' \
":: :_precachedctl__plugins_commands" \
"*::: :->plugins" \
&& ret=0
case $state in
    (plugins)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:precachedctl-plugins-command-$line[1]:"
        case $line[1] in
            (analyze)
_arguments "${_arguments_options[@]}" \
'-h[Prints help information]' \
'--help[Prints help information]' \
'-V[Prints version information]' \
'--version[Prints version information]' \
":: :_precachedctl__plugins__analyze_commands" \
"*::: :->analyze" \
&& ret=0
case $state in
    (analyze)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:precachedctl-plugins-analyze-command-$line[1]:"
        case $line[1] in
            (internal-state)
_arguments "${_arguments_options[@]}" \
'-h[Prints help information]' \
'--help[Prints help information]' \
'-V[Prints version information]' \
'--version[Prints version information]' \
&& ret=0
;;
(statistics)
_arguments "${_arguments_options[@]}" \
'-h[Prints help information]' \
'--help[Prints help information]' \
'-V[Prints version information]' \
'--version[Prints version information]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'-h[Prints help information]' \
'--help[Prints help information]' \
'-V[Prints version information]' \
'--version[Prints version information]' \
&& ret=0
;;
        esac
    ;;
esac
;;
(hot-applications)
_arguments "${_arguments_options[@]}" \
'-h[Prints help information]' \
'--help[Prints help information]' \
'-V[Prints version information]' \
'--version[Prints version information]' \
":: :_precachedctl__plugins__hot-applications_commands" \
"*::: :->hot-applications" \
&& ret=0
case $state in
    (hot-applications)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:precachedctl-plugins-hot-applications-command-$line[1]:"
        case $line[1] in
            (top)
_arguments "${_arguments_options[@]}" \
'-h[Prints help information]' \
'--help[Prints help information]' \
'-V[Prints version information]' \
'--version[Prints version information]' \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" \
'-h[Prints help information]' \
'--help[Prints help information]' \
'-V[Prints version information]' \
'--version[Prints version information]' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" \
'-h[Prints help information]' \
'--help[Prints help information]' \
'-V[Prints version information]' \
'--version[Prints version information]' \
&& ret=0
;;
(optimize)
_arguments "${_arguments_options[@]}" \
'-h[Prints help information]' \
'--help[Prints help information]' \
'-V[Prints version information]' \
'--version[Prints version information]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'-h[Prints help information]' \
'--help[Prints help information]' \
'-V[Prints version information]' \
'--version[Prints version information]' \
&& ret=0
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" \
'-h[Prints help information]' \
'--help[Prints help information]' \
'-V[Prints version information]' \
'--version[Prints version information]' \
&& ret=0
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" \
'-h[Prints help information]' \
'--help[Prints help information]' \
'-V[Prints version information]' \
'--version[Prints version information]' \
&& ret=0
;;
(completions)
_arguments "${_arguments_options[@]}" \
'-h[Prints help information]' \
'--help[Prints help information]' \
'-V[Prints version information]' \
'--version[Prints version information]' \
':SHELL -- The shell to generate the script for:(bash fish zsh powershell)' \
&& ret=0
;;
        esac
    ;;
esac
}

(( $+functions[_precachedctl_commands] )) ||
_precachedctl_commands() {
    local commands; commands=(
        "status:Show the current status of the precached daemon" \
"reload:Reload external configuration of precached" \
"stop:Instruct precached to shutdown and quit" \
"housekeeping:Instruct precached to commence housekeeping tasks" \
"prime-caches:Instruct precached to commence priming all caches now" \
"plugins:Manage precached daemon plugins" \
"help:Display this short help text" \
"completions:Generates completion scripts for your shell" \
    )
    _describe -t commands 'precachedctl commands' commands "$@"
}
(( $+functions[_precachedctl__plugins__analyze_commands] )) ||
_precachedctl__plugins__analyze_commands() {
    local commands; commands=(
        "internal-state:Inspect daemon internal state" \
"statistics:Show global system statistics" \
"help:Prints this message or the help of the given subcommand(s)" \
    )
    _describe -t commands 'precachedctl plugins analyze commands' commands "$@"
}
(( $+functions[_precachedctl__completions_commands] )) ||
_precachedctl__completions_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'precachedctl completions commands' commands "$@"
}
(( $+functions[_do-housekeeping_commands] )) ||
_do-housekeeping_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'do-housekeeping commands' commands "$@"
}
(( $+functions[_precachedctl__do-housekeeping_commands] )) ||
_precachedctl__do-housekeeping_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'precachedctl do-housekeeping commands' commands "$@"
}
(( $+functions[_precachedctl__help_commands] )) ||
_precachedctl__help_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'precachedctl help commands' commands "$@"
}
(( $+functions[_precachedctl__plugins__analyze__help_commands] )) ||
_precachedctl__plugins__analyze__help_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'precachedctl plugins analyze help commands' commands "$@"
}
(( $+functions[_precachedctl__plugins__help_commands] )) ||
_precachedctl__plugins__help_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'precachedctl plugins help commands' commands "$@"
}
(( $+functions[_precachedctl__plugins__hot-applications__help_commands] )) ||
_precachedctl__plugins__hot-applications__help_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'precachedctl plugins hot-applications help commands' commands "$@"
}
(( $+functions[_precachedctl__plugins__hot-applications_commands] )) ||
_precachedctl__plugins__hot-applications_commands() {
    local commands; commands=(
        "top:Show the top most entries in the histogram of hot applications" \
"list:Show all entries in the histogram of hot applications" \
"optimize:Optimize the histogram of hot applications" \
"help:Prints this message or the help of the given subcommand(s)" \
    )
    _describe -t commands 'precachedctl plugins hot-applications commands' commands "$@"
}
(( $+functions[_precachedctl__housekeeping_commands] )) ||
_precachedctl__housekeeping_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'precachedctl housekeeping commands' commands "$@"
}
(( $+functions[_precachedctl__plugins__analyze__internal-state_commands] )) ||
_precachedctl__plugins__analyze__internal-state_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'precachedctl plugins analyze internal-state commands' commands "$@"
}
(( $+functions[_precachedctl__plugins__hot-applications__list_commands] )) ||
_precachedctl__plugins__hot-applications__list_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'precachedctl plugins hot-applications list commands' commands "$@"
}
(( $+functions[_precachedctl__plugins__hot-applications__optimize_commands] )) ||
_precachedctl__plugins__hot-applications__optimize_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'precachedctl plugins hot-applications optimize commands' commands "$@"
}
(( $+functions[_precachedctl__plugins_commands] )) ||
_precachedctl__plugins_commands() {
    local commands; commands=(
        "analyze:Analyze state and statistics" \
"hot-applications:Manage plugin: Hot Applications" \
"help:Prints this message or the help of the given subcommand(s)" \
    )
    _describe -t commands 'precachedctl plugins commands' commands "$@"
}
(( $+functions[_precachedctl__prime-caches_commands] )) ||
_precachedctl__prime-caches_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'precachedctl prime-caches commands' commands "$@"
}
(( $+functions[_precachedctl__prime-caches-now_commands] )) ||
_precachedctl__prime-caches-now_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'precachedctl prime-caches-now commands' commands "$@"
}
(( $+functions[_prime-caches-now_commands] )) ||
_prime-caches-now_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'prime-caches-now commands' commands "$@"
}
(( $+functions[_precachedctl__reload_commands] )) ||
_precachedctl__reload_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'precachedctl reload commands' commands "$@"
}
(( $+functions[_precachedctl__reload-config_commands] )) ||
_precachedctl__reload-config_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'precachedctl reload-config commands' commands "$@"
}
(( $+functions[_reload-config_commands] )) ||
_reload-config_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'reload-config commands' commands "$@"
}
(( $+functions[_precachedctl__plugins__hot-applications__show_commands] )) ||
_precachedctl__plugins__hot-applications__show_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'precachedctl plugins hot-applications show commands' commands "$@"
}
(( $+functions[_precachedctl__plugins__show_commands] )) ||
_precachedctl__plugins__show_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'precachedctl plugins show commands' commands "$@"
}
(( $+functions[_precachedctl__shutdown_commands] )) ||
_precachedctl__shutdown_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'precachedctl shutdown commands' commands "$@"
}
(( $+functions[_shutdown_commands] )) ||
_shutdown_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'shutdown commands' commands "$@"
}
(( $+functions[_precachedctl__plugins__analyze__statistics_commands] )) ||
_precachedctl__plugins__analyze__statistics_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'precachedctl plugins analyze statistics commands' commands "$@"
}
(( $+functions[_precachedctl__status_commands] )) ||
_precachedctl__status_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'precachedctl status commands' commands "$@"
}
(( $+functions[_precachedctl__stop_commands] )) ||
_precachedctl__stop_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'precachedctl stop commands' commands "$@"
}
(( $+functions[_precachedctl__plugins__hot-applications__top_commands] )) ||
_precachedctl__plugins__hot-applications__top_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'precachedctl plugins hot-applications top commands' commands "$@"
}

_precachedctl "$@"