1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
|
#compdef wget
local curcontext="$curcontext" state line
typeset -A opt_args
_arguments -C -s \
'(- *)'{--version,-V}'[display version info]' \
'(- *)'{--help,-h}'[display help]' \
'(--background -b)'{--background,-b}'[run in background]' \
'(--execute -e)'{--execute=,-e+}'[execute .wgetrc command]:.wgetrc command' \
'(--output-file -o --append-output -a)'{--output-file=,-o+}'[specify output logfile]:log file to output:_files' \
'(--append-output -a --output-file -o)'{--append-output=,-a+}'[specify output logfile to append to]:log file to append:_files' \
'(--debug -d)'{--debug,-d}'[turn on debug output]' \
'(--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' \
'(--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' \
'(--tries -t)'{--tries=,-t+}'[set number of retries]:number of retries' \
'--retry-connrefused[retry even if connection is refused]' \
'(--output-document -O)'{--output-document=,-O+}'[specify file to write documents to]:output file:_files' \
'(--continue -c)'{--continue,-c}'[continue getting an existing file]' \
'--progress=[set progress gauge type]:gauge type:->gauge' \
'(--timestamping -N)'{--timestamping,-N}'[retrieve only files newer than existing]' \
'(--server-response -S)'{--server-response,-S}'[print server response]' \
"--spider[don't download anything]" \
'(--timeout -T)'{--timeout=,-T+}'[set all timeout values]:timeout (seconds)' \
'(--timeout -T)--dns-timeout=[set the DNS lookup timeout]:DNS lookup timeout (seconds)' \
'(--timeout -T)--connect-timeout=[set the connect timeout]:connect timeout (seconds)' \
'(--timeout -T)--read-timeout=[set the read timeout]:read timeout (seconds)' \
'(--wait,-w)'{--wait=,-w+}'[specify wait between retrievals]:time (seconds)' \
'(--random-wait)--waitretry=:time (seconds)' \
'(--waitretry)--random-wait[random wait time between retrievals]' \
'(--proxy -Y --no-proxy)'{--proxy=,-Y+}'[explicitly turn on proxy]' \
'(--proxy -Y --no-proxy)--no-proxy[explicitly turn off proxy]' \
'(--quota -Q)'{--quota=,-Q+}'[set retrieval quota]:number' \
'--bind-address=[specify address to bind to (hostname or IP)]:bind address:_bind_addresses' \
'--limit-rate=[specify limit to download rate]:download rate limit' \
'--no-dns-cache[disable caching DNS lookups]' \
'--restrict-file-names=[restrict chars in file names to ones OS allows]:OS:->restrict' \
'(-4 --inet4-only -6 --inet6-only)'{-4,--inet4-only}'[connect only to IPv4 addresses]' \
'(-4 --inet4-only -6 --inet6-only)'{-6,--inet6-only}'[connect only to IPv6 addresses]' \
'--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' \
'(--force-directories -x)'{--force-directories,-x}'[force creation of directories]' \
'--protocol-directories[use protocol name in directories]' \
'(--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' \
'--no-cache[disallow server-cached data]' \
'(--html-extension -E)'{--html-extension,-E}'[save all HTML documents with a .html extension]' \
"--ignore-length[ignore \`Content-Length' header field]" \
'--header=:string' \
'--proxy-user=:user' \
'--proxy-password=:password' \
'--referer=:URL:_urls' \
'--save-headers[save http headers]' \
'(--user-agent -U)'{--user-agent=,-U+}'[specify user agent to identify as]:user-agent' \
'--no-http-keep-alive[disable HTTP keep-alive]' \
'--no-cookies=[turn cookies off]' \
'--load-cookies=[specify file to load cookies from]:cookie file:_files' \
'--save-cookies=[specify file to save cookies to]:cookie file:_files' \
'--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' \
'--secure-protocol=[choose secure protocol]:protocol:(SSLv2 SSLv3 TLSv1)' \
"--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)' \
'--private-key=[specify private key file]:key file:_files' \
'--private-key-type=[specify private key type]:key type:key type:(PEM DER)' \
"--ca-certificate=[specify file with bundle of CA's]:file:_files" \
"--ca-directory=[specify dir where hash list of CA's are stored]:directory:_directories" \
'--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' \
"--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]' \
'(--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]' \
'(--backup-converted -K)'{--backup-converted,-K}'[backup files before conversion]' \
'(--mirror -m -r -N -l)'{--mirror,-m}'[mirror (-r -N -l inf -nr)]' \
'(--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' \
'(--domains -D)'{--domains=,-D+}'[specify accepted domains]:domains:_domains' \
'--exclude-domains=:rejected domains:_domains' \
'--follow-ftp' \
'--follow-tags=:HTML tags:' \
'--ignore-tags=[specify ignored HTML tags]:HTML tags' \
'(--span-hosts -H)'{--span-hosts,-H}'[span hosts]' \
'(--relative -L)'{--relative,-L}'[follow relative links only]' \
'(--include-directories -I)'{--include-directories=,-I+}'[include directories]:allowed directories' \
'(--exclude-directories -X)'{--exclude-directories=,-X+}'[exclude directories]:excluded directories' \
'--no-host-lookup' \
'--no-parent' \
'--no-verbose' \
'--no-clobber' \
'--no-directories' \
'--no-host-directories' \
'--htmlify=:htmlify:' \
'--no:no:->noflags' \
'*:URL:_urls' && return 0
case "$state" in
gauge)
_values -S : 'progress gauge type' \
'dot:style:(default binary mega giga micro)' \
'bar:force:(force)'
;;
noflags)
_values -s '' 'option' \
'v[non verbose]' \
'H[no host directories]' \
'd[no directories]' \
'c[no clobber]' \
'p[no parent]'
;;
restrict)
_values -s , 'filename char restriction' \
'(windows)unix' \
'(unix)windows' \
'(unix windows)nocontrol'
;;
esac
|