#compdef bpython bpython-gtk bpython-urwid bpython2 bpython2-gtk bpython2-urwid bpython3 bpython3-gtk bpython3-urwid local -a all_opts urwid_opts gtk_opts all_opts=( '--config[configuration file]:config file:_files' '-h --help[show help message]' '(-i --interactive)'{-i,--interactive}'[drop to bpython after running a file]' '(-q --quiet)'{-q,--quiet}'[do not flush the output to stdout]' '(-V --version)'{-V,--version}'[print version]' '1:script:_files -g "*.u#py(-.)"' '*:arguments:' ) urwid_opts=( '(-r --reactor)'{-r,--reactor}'[use twisted reactor instead of the event loop]:reactor' '--help-reactors[display list of available Twisted reactors]' '(-p --plugin)'{-p,--plugin}'[execute a twisted plugin]:plugin' '(-s --server)'{-s,--server}'[run an eval server on the given port]:port:_ports' ) gtk_opts=( '--socket-id[embed bpython]:socket id:' ) case "$service" in bpython|bpython2|bpython3) _arguments \ "$all_opts[@]" ;; bpython-urwid|bpython2-urwid|bpython3-urwid) _arguments \ "$all_opts[@]" \ "$urwid_opts[@]" ;; bpython-gtk|bpython2-gtk|bpython3-gtk) _arguments \ "$all_opts[@]" \ "$gtk_opts[@]" ;; esac