#compdef nc netcat # handle name clash with the nedit client if [[ $service = nc ]] && ! _pick_variant netcat=connect nedit -h; then _nedit return fi if (( ! $#_cache_nc_args )); then typeset -ga _cache_nc_args local help="$(_call_program options $words[1] -h < /dev/null 2>&1)" local -A optionmap optionmap=( '*-e prog*' '-e+[program to exec after connect]:program:_command_names -e' '*-g gateway*' '-g+[source-routing hop point]:gateway:_hosts' '*-G num*' '-G[source-routing pointer: 4, 8, 12]' '*-i secs*' '-i+[delay interval for lines sent or ports scanned]:delay (secs)' '*-l*' '-l[listen mode]' '*-n*' '-n[numeric-only IP addresses, no DNS]' '*-o file*' '-o+[hex dump of traffic]:file:_files' '*-p port*' '-p+[local port number]:port:_ports' '*-r*' '-r[randomize local and remote ports]' '*-q secs*' '-q+[quit after EOF on stdin and delay of secs]:delay (secs)' '*-t*' '-t[answer TELNET negotiation]' '*-u*' '-u[UDP mode]' '*-v*' '-v[verbose]' '*-w secs*' '-w+[timeout for connects and final net reads]:timeout (secs)' '*-z*' '-z[zero-I/O mode]' '*-x*' '-x' '*-b*' '-b[allow broadcasts]' ) _cache_nc_args=( $optionmap[(K)"$help"] ) fi _arguments -s \ "$_cache_nc_args[@]" \ ':host:_hosts' \ ':port:_ports'