#compdef machreduce autoload -U is-at-least _machreduce() { 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[@]}" : \ '-o+[output to a specific file (like result.zip)]: :_files' \ '-d+[direction \: horizontal or vertical (vertical by default)]: :(horizontal vertical)' \ '-h[Print help]' \ '--help[Print help]' \ '-V[Print version]' \ '--version[Print version]' \ && ret=0 } (( $+functions[_machreduce_commands] )) || _machreduce_commands() { local commands; commands=() _describe -t commands 'machreduce commands' commands "$@" } if [ "$funcstack[1]" = "_machreduce" ]; then _machreduce "$@" else compdef _machreduce machreduce fi