diff options
Diffstat (limited to 'Completion/Unix')
-rw-r--r-- | Completion/Unix/Command/_netcat | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/Completion/Unix/Command/_netcat b/Completion/Unix/Command/_netcat index 4e4006b30..250d4c85d 100644 --- a/Completion/Unix/Command/_netcat +++ b/Completion/Unix/Command/_netcat @@ -6,11 +6,12 @@ if [[ $service = nc ]] && ! _pick_variant netcat=connect nedit -h; then return fi -if (( ! $+_nc_args )); then +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]:prog:_command_names -e' + '*-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)' @@ -28,10 +29,10 @@ if (( ! $+_nc_args )); then '*-x*' '-x' '*-b*' '-b[allow broadcasts]' ) - _nc_args=($optionmap[(K)"$help"]) + _cache_nc_args=( $optionmap[(K)"$help"] ) fi _arguments -s \ - "$_nc_args[@]" \ + "$_cache_nc_args[@]" \ ':host:_hosts' \ ':port:_ports' |