#compdef cu local variant ign local -a args _pick_variant -r variant taylor='Taylor UUCP' $OSTYPE --version case $variant in openbsd*) args+=( "-d[don't block waiting for a carrier to be detected]" '-r[start cu in restricted mode - prevent local operations]' ) ;; taylor|(net|free)bsd*) args+=( '(-o -P --parity)-e[use even parity]' '(-e -P --parity)-o[use odd parity]' ) ;| (net|free)bsd*) args+=( '-t[connect via a hard-wired connection to a host on a dial-up line]' ) ;| taylor|netbsd*) (( $#words > 2 )) && ign='!' args+=( "${ign}--help[display usage information]" '(-s)--speed=[set line speed for the connection]:line speed [9600]:_baudrates' '(-e -o -P)--parity=[set parity]:parity [none]:(even odd none)' '(-h --halfduplex)'{-h,--halfduplex}'[echo characters locally]' '--nostop[turn off XON/XOFF handling]' '(-E --escape)'{-E+,--escape=}'[specify escape character]:escape character [~]' '(-a -p --port)'{-a+,-p+,--port=}'[specify the port]:port' '(-c --phone -n --prompt)'{-c+,--phone=}'[specify phone number to call]:phone number' '(1 -l -z --system)--line=[specify line to use]:line:(/dev/(cuaU#<->|ttyS<->|tty.*)(N%c))' ) ;| taylor) args+=( "${ign}(-v --version)"{-v,--version}"[display version information]" '(-n --prompt -c --phone)'{-n,--prompt}'[prompt for the phone number to use]' '(-x --debug)-d[enter debugging mode]' '(-d -x --debug)'{-x+,--debug=}'[turn on particular debugging types]:debug type:_sequence compadd - all abnormal chat handshake port config incoming outgoing' '(-I --config)'{-I+,--config=}'[specify configuration file]:configuration file:_files' '(1 -z --system)'{-z+,--system=}'[specify system to call]:system' ) ;; netbsd*) args+=( '(-E --escape)-n+[disable escape character processing]' '(-f -F --flow)'{-F+,--flow=}'[set flow control]:flow control:(hard soft none)' '(-F --flow)-f[use no flow control]' '(-e -o --parity)-P+[set parity]:parity [none]:(even odd none)' ) ;; freebsd*) args=( -A "-*" $args '-a[set the acu port]:acu' '-h[echo characters locally]' ) ;; esac _arguments -s $args \ '(--speed)-s+[set line speed for the connection]:line speed [9600]:_baudrates' \ '(1 --line -z --system)-l+[specify line to use]:line:(/dev/(cuaU#<->|ttyS<->|tty.*)(N%c))' \ '1: :_guard "^-*" system'