#compdef procs

autoload -U is-at-least

_procs() {
    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[@]}" \
'-W+[Watch mode with custom interval]' \
'--watch-interval=[Watch mode with custom interval]' \
'*-i+[Insert column to slot]' \
'*--insert=[Insert column to slot]' \
'--only=[Specified column only]' \
'(--sortd -t --tree)--sorta=[Sort column by ascending]' \
'(--sorta -t --tree)--sortd=[Sort column by descending]' \
'-c+[Color mode]: :(auto always disable)' \
'--color=[Color mode]: :(auto always disable)' \
'--theme=[Theme mode]: :(auto dark light)' \
'-p+[Pager mode]: :(auto always disable)' \
'--pager=[Pager mode]: :(auto always disable)' \
'--interval=[Interval to calculate throughput]' \
'--completion=[Generate shell completion file]: :(zsh bash fish powershell elvish)' \
'(-o --or -d --nand -r --nor)-a[AND  logic for multi-keyword]' \
'(-o --or -d --nand -r --nor)--and[AND  logic for multi-keyword]' \
'(-a --and -d --nand -r --nor)-o[OR   logic for multi-keyword]' \
'(-a --and -d --nand -r --nor)--or[OR   logic for multi-keyword]' \
'(-a --and -o --or -r --nor)-d[NAND logic for multi-keyword]' \
'(-a --and -o --or -r --nor)--nand[NAND logic for multi-keyword]' \
'(-a --and -o --or -d --nand)-r[NOR  logic for multi-keyword]' \
'(-a --and -o --or -d --nand)--nor[NOR  logic for multi-keyword]' \
'-l[Show list of kind]' \
'--list[Show list of kind]' \
'--thread[Show thread]' \
'-t[Tree view]' \
'--tree[Tree view]' \
'-w[Watch mode with default interval (1s)]' \
'--watch[Watch mode with default interval (1s)]' \
'--config[Generate configuration sample file]' \
'--no-header[Suppress header]' \
'--debug[Show debug message]' \
'-h[Prints help information]' \
'--help[Prints help information]' \
'-V[Prints version information]' \
'--version[Prints version information]' \
'::KEYWORD -- Keywords for search:_files' \
&& ret=0
    
}

(( $+functions[_procs_commands] )) ||
_procs_commands() {
    local commands; commands=(
        
    )
    _describe -t commands 'procs commands' commands "$@"
}

_procs "$@"