mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-10-31 06:00:54 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			38 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #compdef nc netcat
 | |
| 
 | |
| local curcontext="$curcontext" state line expl
 | |
| typeset -A opt_args
 | |
| 
 | |
| # handle name clash with the nedit client
 | |
| [[ $service = nc ]] && ! _pick_variant netcat=connect nedit -h &&
 | |
|     _nedit && return
 | |
| 
 | |
| if (( ! $+_nc_args )); then
 | |
|   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'
 | |
|      '*-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
 |