diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | Completion/Unix/Command/_netcat | 34 |
2 files changed, 37 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index c4a067ee7..b9b3e2626 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2002-03-10 Clint Adams <clint@zsh.org> + * 16789: Completion/Unix/Command/_netcat: completion for netcat, + courtesy of Matt Zimmerman. + * unposted: Etc/BUGS: mention that you can't time builtins. 2002-03-07 Bart Schaefer <schaefer@zsh.org> diff --git a/Completion/Unix/Command/_netcat b/Completion/Unix/Command/_netcat new file mode 100644 index 000000000..d5e854e12 --- /dev/null +++ b/Completion/Unix/Command/_netcat @@ -0,0 +1,34 @@ +#compdef nc netcat + +local curcontext="$curcontext" state line expl +typeset -A opt_args + +if (( ! $+_nc_args )); then + local help="$(_call_program options nc -h < /dev/null 2>&1)" + local -A optionmap + optionmap=( + '*-e prog*' '-e+[program to exec after connect]:prog:_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]: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]:secs:' + '*-t*' '-t[answer TELNET negotiation]' + '*-u*' '-u[UDP mode]' + '*-v*' '-v[verbose]' + '*-w secs*' '-w+[timeout for connects and final net reads]:secs:' + '*-z*' '-z[zero-I/O mode]' + '*-x*' '-x' + '*-b*' '-b[allow broadcasts]' + ) + _nc_args=($optionmap[(K)"$help"]) +fi + +_arguments -C -s \ + "$_nc_args[@]" \ + ':host:_hosts' \ + ':port:_ports' && return 0 |