mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-10-31 18:10:56 +01:00 
			
		
		
		
	32998: completion function updates
This commit is contained in:
		
							parent
							
								
									469ee6daef
								
							
						
					
					
						commit
						2be0d8bdef
					
				
					 6 changed files with 136 additions and 37 deletions
				
			
		|  | @ -1,5 +1,9 @@ | |||
| 2014-08-14  Oliver Kiddle  <opk@zsh.org> | ||||
| 
 | ||||
| 	* 32998: Completion/Unix/Command/_dsh, Completion/Unix/Command/_nm, | ||||
| 	Completion/Unix/Command/_mosh, Completion/Unix/Command/_rsync, | ||||
| 	Completion/Unix/Command/_wget: completion function updates | ||||
| 
 | ||||
| 	* 32997: Completion/Base/Utility/_sequence, Doc/Zsh/compsys.yo, | ||||
| 	Completion/Unix/Command/_mount, Completion/Unix/Command/_nmap, | ||||
| 	Completion/Unix/Command/_pgrep, Completion/Unix/Command/_zip: | ||||
|  |  | |||
							
								
								
									
										33
									
								
								Completion/Unix/Command/_dsh
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								Completion/Unix/Command/_dsh
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,33 @@ | |||
| #compdef dsh | ||||
| 
 | ||||
| local curcontext="$curcontext" state line expl | ||||
| typeset -A opt_args | ||||
| 
 | ||||
| _arguments -s -C -S \ | ||||
|   '(-v --verbose -q --quiet)'{-v,--verbose}'[verbose output]' \ | ||||
|   '(-q --quiet -v --verbose)'{-q,--quiet}'[quieter output]' \ | ||||
|   '(-M --show-machine-names)'{-M,--show-machine-names}'[prepend the host name on output]' \ | ||||
|   '(-i --duplicate-input)'{-i,--duplicate-input}'[duplicate input given to dsh]' \ | ||||
|   '(-b --bufsize)'{-b,--bufsize}'[change buffer size used in input duplication]:buffer size for -i (bytes)' \ | ||||
|   '(-m --machine)'{-m,--machine}'[execute on machine]:machine:{_hosts || _user_at_host}' \ | ||||
|   '(-n --num-topology)'{-n,--num-topology}'[how to divide the machines]:number' \ | ||||
|   '(-a --all)'{-a,--all}'[execute on all machines]' \ | ||||
|   '(-g --group)'{-g,--group}'[execute on group member]:groupname:->groups' \ | ||||
|   '(-f --file)'{-f,--file}'[use the file as list of machines]:file:_files' \ | ||||
|   '(-r --remoteshell)'{-r,--remoteshell}'[execute using shell]:remote shell:(rsh ssh)' \ | ||||
|   '(-o --remoteshellopt)'{-o,--remoteshellopt}'[option to give to remote shell ]:option' \ | ||||
|   '(-)'{-h,--help}'[display help information]' \ | ||||
|   '(-w --wait-shell -c --concurrent-shell)'{-w,--wait-shell}'[sequentially execute shell]' \ | ||||
|   '(-c --concurrent-shell -w --wait-shell)'{-c,--concurrent-shell}'[execute shell concurrently]' \ | ||||
|   '(-F --forklimit)'{-F,--forklimit}'[concurrent with limit on number]:fork limit' \ | ||||
|   '(-)'{-V,--version}'[display version information]' \ | ||||
|   '*::args: _normal' && return | ||||
| 
 | ||||
| if [[ $state = groups ]]; then | ||||
|   if ! zstyle -s ":completion:$curcontext:dsh-groups" dsh-groups grp; then | ||||
|     [[ -e ~/.dsh/group ]] && grp="~/.dsh/group" || return 1 | ||||
|   fi | ||||
|   _path_files -W ~/.dsh/group && return | ||||
| fi | ||||
| 
 | ||||
| return 1 | ||||
|  | @ -1,12 +1,26 @@ | |||
| #compdef mosh | ||||
| 
 | ||||
| local curcontext="$curcontext" state line | ||||
| local -a suf | ||||
| 
 | ||||
| _arguments \ | ||||
|   '--client=:client helper:_command_names -e' \ | ||||
|   '--server=:server helper:_files' \ | ||||
|   '--ssh=:ssh command to run:_files' \ | ||||
|   '(-a -n)--predict=:when:(adaptive always never)' \ | ||||
|   '(--predict -n)-a[predict always]' \ | ||||
|   '(--predict -a)-n[predict never]' \ | ||||
|   {-p,--port=}':port:_ports' \ | ||||
|   ':remote:_hosts' \ | ||||
|   ':remote command:_command_names -e' | ||||
|   '(-)--help[display help information]' \ | ||||
|   '(-)--version[display version information]' \ | ||||
|   "--no-init[don't set terminal init string]" \ | ||||
|   '--ssh=[specify ssh command to setup session]:ssh command:_normal' \ | ||||
|   '--port=[specify server-side port range]:port:_sequence -n 2 -s \: _ports' \ | ||||
|   '(-a -n)--predict=[control speculative local echo]:mode:(adaptive always never)' \ | ||||
|   '(--predict -n)-a[synonym for --predict=always]' \ | ||||
|   '(--predict -a)-n[synonym for --predict=never]' \ | ||||
|   '--server[specify command to run server helper]:remote file:_files' \ | ||||
|   '--client[specify command to run client helper]:_command_names -e' \ | ||||
|   '1:remote host name:->userhost' \ | ||||
|   '*:::args:_normal' && return | ||||
| 
 | ||||
| case $state in | ||||
|   userhost) | ||||
|     _hosts || _user_at_host && return | ||||
|   ;; | ||||
| esac | ||||
| 
 | ||||
| return 1 | ||||
|  |  | |||
|  | @ -1,30 +1,62 @@ | |||
| #compdef nm | ||||
| 
 | ||||
| # This is a stub.  It's main reason for existence is to offer | ||||
| # object files with nm.  Feel free to extend it.  If you do, remove | ||||
| # this comment. | ||||
| local args files | ||||
| 
 | ||||
| local state context line expl | ||||
| local -A opt_args | ||||
| local -a args | ||||
| integer ret=1 | ||||
| _nm_object_file() { | ||||
|   [[ -x $REPLY || $REPLY = *.([ao]|so) ]] | ||||
| } | ||||
| 
 | ||||
| if _pick_variant gnu='Free Soft' unix --version; then | ||||
|   args+=(-s --) | ||||
| files="*:object file:_path_files -g '*(-.e:_nm_object_file:)'" | ||||
| args=( | ||||
|   '(-A -o --print-file-name)'{-A,-o,--print-file-name}'[print name of input file on each line]' | ||||
|   '(--demangle)-C[decode symbol names]' | ||||
|   '(-D --dynamic)'{-D,--dynamic}'[display dynamic symbols instead of normal ones]' | ||||
|   '(-g --extern-only)'{-g,--extern-only}'[display only global symbols]' | ||||
|   '(-t --radix -o -x)'{-t,--radix}'[specify radix for numeric values]:radix:((d\:decimal o\:octal x\:hexadecimal))' | ||||
| ) | ||||
| 
 | ||||
| if _pick_variant gnu=GNU unix -V; then | ||||
|   compset -P '@' && files='*:options file:_files' | ||||
|   args+=( | ||||
|     '(- *)--help[display help information]' | ||||
|     '(- *)--version[display version information]' | ||||
|     '(-f --format -P --portability)-B[same as --format=bsd]' | ||||
|     '(-C --no-demangle)--demangle=-[decode symbol names]::style:(auto gnu lucid arm hp edg gnu-v3 java gnat)' | ||||
|     "(-C --demangle)--no-demangle[don't decode symbol names]" | ||||
|     '(-u --undefined-only)--defined-only[display only defined symbols]' | ||||
|     '(-f --format -P)'{-f+,--format=}'[specify output format]:format:(bsd sysv posix)' | ||||
|     '(-l --line-numbers)'{-l,--line-numbers}'[display source file and line numbers from debug information]' | ||||
|     '(-n --numeric-sort -p --no-sort --size-sort)'{-n,--numeric-sort}'[sort symbols numerically by address]' | ||||
|     '(-p --no-sort -n --numeric-sort -r -P --reverse-sort --size-sort)'{-p,--no-sort}'[do not sort symbols]' | ||||
|     '(-P --portability -B -f --format)'{-P,--portability}'[same as --format=posix]' | ||||
|     '(-r --reverse-sort -p --no-sort --size-sort)'{-r,--reverse-sort}'[reverse sort order]' | ||||
|     '--plugin[load specified plugin]:plugin' | ||||
|     '(-u --undefined-only --defined-only)'{-u,--undefined-only}'[display only undefined symbols]' | ||||
|     "--target=[target object format]:targets:(${${(@M)${(f)$(_call_program targets nm --help)}:#*supported targets:*}##*: })" | ||||
|     '(-a --debug-syms)'{-a,--debug-syms}'[display debugger-only symbols]' | ||||
|     '(-S --print-size)'{-S,--print-size}'[print size of defined symbols]' | ||||
|     '(-s --print-armap)'{-s,--print-armap}'[include index for symbols from archive members]' | ||||
|     '(-p --no-sort -n --numeric-sort -r)--size-sort[sort symbols by size]' | ||||
|     '--special-syms[include special symbols in the output]' | ||||
|     '--synthetic[display synthetic symbols as well]' | ||||
|   ) | ||||
| else | ||||
|   # following flags are accurate for Solaris | ||||
|   args=( ${args:#(|*\)(\*|))-[o-]*} | ||||
|     "-h[don't display column headers]" | ||||
|     '-l[distinguish WEAK symbols with * character]' | ||||
|     '(-t -x)-o[print values in octal]' | ||||
|     '(-v)-n[sort symbols by name]' | ||||
|     '(-P)-p[produce parsable output]' | ||||
|     '(-p)-P[portable output format]' | ||||
|     '(-r)-R[print archive name, object file and symbol name]' | ||||
|     '-r[prepend name of input file to each symbol name]' | ||||
|     '-s[print section name instead of index]' | ||||
|     '-u[print undefined symbols only]' | ||||
|     '(-n)-v[sort external symbols by value]' | ||||
|     '-V[display version of the nm command]' | ||||
|     '(-o -t)-x[print values in hexadecimal]' | ||||
|   ) | ||||
| fi | ||||
| args+=('*:file:->file') | ||||
| 
 | ||||
| _arguments "$args[@]" && ret=0 | ||||
| 
 | ||||
| case $state in | ||||
|   (file) | ||||
|   _alternative \ | ||||
|     "object-files:object file:_path_files -g '*.o'" \ | ||||
|     "executable-files:executable file:_path_files -g '*(*)'" \ | ||||
|     "dynamic-libraries:dynamic library:_path_files -g '*.so(.*)#'" \ | ||||
|     "static-libraries:static library:_path_files -g '*.a'" \ | ||||
|     "directories:directory:_path_files -g '*(/)'" && ret=0 | ||||
|   ;; | ||||
| esac | ||||
| 
 | ||||
| return ret | ||||
| _arguments -s "$args[@]" $files | ||||
|  |  | |||
|  | @ -74,7 +74,8 @@ _rsync() { | |||
|   _arguments -s \ | ||||
|     '*'{-v,--verbose}'[increase verbosity]' \ | ||||
|     {--no-v,--no-verbose}'[turn off --verbose]' \ | ||||
|     '--bwlimit=[limit I/O bandwidth]:KBytes (etc.) per second' \ | ||||
|     '--bwlimit=[limit I/O bandwidth]:limit (KiB per second)' \ | ||||
|     '--outbuf=[set output buffering]:buffering:(none line block)' \ | ||||
|     '--port=[specify alternate port number]:port:(873)' \ | ||||
|     '--address=[bind to the specified address]:bind address:_bind_addresses' \ | ||||
|     '(-T --temp-dir)'{-T,--temp-dir=}'[create temporary files in specified directory]:directory:_directories' \ | ||||
|  | @ -213,6 +214,7 @@ _rsync() { | |||
|     '--protocol=[force an older protocol version to be used]:number' \ | ||||
|     '--info=[fine-grained informational verbosity]:comma-separated list' \ | ||||
|     '--debug=[fine-grained debug verbosity]:comma-separated list' \ | ||||
|     '--msgs2stderr[special output handling for debugging]' \ | ||||
|     '--munge-links[munge symlinks to make them safer, but unusable]' \ | ||||
|     '--ignore-missing-args[ignore missing source args without error]' \ | ||||
|     '--delete-missing-args[delete missing source args from destination]' \ | ||||
|  | @ -222,6 +224,7 @@ _rsync() { | |||
|     '*'{-M=,--remote-option=}'[send option to the remote side only]:option string' \ | ||||
|     '--preallocate[preallocate the full length of new files]' \ | ||||
|     '--iconv=[request charset conversion of filenames]:number' \ | ||||
|     '--checksum-seed=:number' \ | ||||
|     '--read-batch=[read a batched update from the specified file]:file:_files' | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -14,6 +14,7 @@ _arguments -C -s \ | |||
|   '(--quiet -q --verbose -v --no-verbose -nv)'{--quiet,-q}'[turn off output]' \ | ||||
|   '(--quiet -q --verbose -v --no-verbose -nv)'{--verbose,-v}'[turn on verbose output]' \ | ||||
|   '*-n+[turn off flags]:flags:->noflags' \ | ||||
|   '--report-speed=:type:(bits)' \ | ||||
|   '(--input-file -i)'{--input-file=,-i+}'[specify input file]:file containing URLs:_files' \ | ||||
|   '(--force-html -F)'{--force-html,-F}'[treat input file as html]' \ | ||||
|   '(--base -B)'{--base=,-B+}'[prepend URL to relative links]:base URL:_urls' \ | ||||
|  | @ -47,6 +48,7 @@ _arguments -C -s \ | |||
|   '--prefer-family[connect first to addresses of specified family]:address family:(IPv6 IPv4 none)' \ | ||||
|   '(--http-user --ftp-user)--user[set both ftp and http user]:user' \ | ||||
|   '(--http-password --ftp-password)--password[set both ftp and http password]:password' \ | ||||
|   '(--password --http-password --ftp-password)--ask-password:[prompt for passwords]' \ | ||||
|   '--no-iri[turn off IRI support]' \ | ||||
|   '--local-encoding=[specify local encoding for IRIs]:encoding' \ | ||||
|   '--remote-encoding=[specify default remote encoding]:encoding' \ | ||||
|  | @ -56,12 +58,13 @@ _arguments -C -s \ | |||
|   '(--directory-prefix -P)'{--directory-prefix=,-P+}'[specify prefix to save files to]:prefix:_files -/' \ | ||||
|   '--cut-dirs=:number:' \ | ||||
|   '(--user)--http-user=:user' \ | ||||
|   '(--password)--http-password=:password' \ | ||||
|   '(--password --ask-password)--http-password=:password' \ | ||||
|   '--no-cache[disallow server-cached data]' \ | ||||
|   '--default-page=[specify default page name, normally index.html]' \ | ||||
|   '(--adjust-extension -E)'{--adjust-extension,-E}'[save all HTML/CSS documents with proper extensions]' \ | ||||
|   "--ignore-length[ignore \`Content-Length' header field]" \ | ||||
|   '*--header=:string' \ | ||||
|   '--max-redirect=:number' \ | ||||
|   '--proxy-user=:user' \ | ||||
|   '--proxy-password=:password' \ | ||||
|   '--referer=:URL:_urls' \ | ||||
|  | @ -74,9 +77,14 @@ _arguments -C -s \ | |||
|   '--keep-session-cookies[load and save session cookies]' \ | ||||
|   '--post-data=[use the POST method with specified data]:data to send' \ | ||||
|   '--post-file=[use the POST method; sending contents of a file]:file:_files' \ | ||||
|   '--method=[use specified HTTP method]:method:(GET POST HEAD DELETE)' \ | ||||
|   '(--body-file)--body-data=[send string as data]:string' \ | ||||
|   '(--body-data)--body-file=[send contents of file]:file:_files' \ | ||||
|   '--content-disposition[honor the Content-Disposition header when choosing local file names]'  \ | ||||
|   '--content-on-error[output received content on server errors]' \ | ||||
|   "--auth-no-challenge[send basic HTTP authentication without first waiting for server's challenge]" \ | ||||
|   '--secure-protocol=[choose secure protocol]:protocol:(SSLv2 SSLv3 TLSv1)' \ | ||||
|   --https-only \ | ||||
|   "--no-check-certificate=[don't check the server certificate]" \ | ||||
|   '--certificate=[specify client certificate]:client certificate file:_files' \ | ||||
|   '--certificate-type=[specify client certificate type]:certificate type:(PEM DER)' \ | ||||
|  | @ -87,22 +95,27 @@ _arguments -C -s \ | |||
|   '--random-file[specify file with random data for seeding generator]:file:_files' \ | ||||
|   '--egd-file=[specify filename of EGD socket]:file:_files' \ | ||||
|   '(--user)--ftp-user=:user' \ | ||||
|   '(--password)--ftp-password=:password' \ | ||||
|   '(--password --ask-password)--ftp-password=:password' \ | ||||
|   "--no-remove-listing[don't remove \`.listing' files]" \ | ||||
|   '--no-glob[turn off FTP file name globbing]' \ | ||||
|   '--no-passive-ftp' \ | ||||
|   '--retr-symlinks' \ | ||||
|   '--preserve-permissions[preserve remote file permissions with ftp]' \ | ||||
|   '--retr-symlinks' \ | ||||
|   '--warc-file=:file:_files' --warc-header=:string --warc-max-size=:number \ | ||||
|   --warc-cdx --warc-dedup=:file:_files --no-warc-compression --no-warc-digests \ | ||||
|   --no-warc-keep-log --warc-tempdir=:directory:_directories \ | ||||
|   '(--recursive -r)'{--recursive,-r}'[recurse subdirectories]' \ | ||||
|   '(--level -l)'{--level=,-l+}'[specify maximum recursion depth]:level' \ | ||||
|   '--delete-after' \ | ||||
|   '(--convert-links -k)'{--convert-links,-k}'[convert links to be relative]' \ | ||||
|   '--backups=:max backups' \ | ||||
|   '(--backup-converted -K)'{--backup-converted,-K}'[backup files before conversion]' \ | ||||
|   '(--mirror -m -r -N -l)'{--mirror,-m}'[mirror (-r -N -l inf --no-remove-listing)]' \ | ||||
|   '(--page-requisites -p)'{--page-requisites,-p}'[get all images needed to display page]' \ | ||||
|   '--strict-comments[turn on strict (SGML) handling of HTML comments]' \ | ||||
|   '(--accept -A)'{--accept=,-A+}'[specify accepted extensions]:extensions' \ | ||||
|   '(--reject -R)'{--reject=,-R+}'[specify rejected extensions]:extensions' \ | ||||
|   --{accept,reject}-regex=:regex '--regex-type=:regex type:(posix pcre)' \ | ||||
|   '(--domains -D)'{--domains=,-D+}'[specify accepted domains]:domains:_domains' \ | ||||
|   '--exclude-domains=:rejected domains:_domains' \ | ||||
|   '--follow-ftp' \ | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue