#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' \ '--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' \ '--config=[specify config file]:config file:_files' \ '(--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]' \ "--no-use-server-timestamps[don't set the local file's timestamp by the one on the server]" \ '(--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' \ '--ignore-case[ignore case when matching files/directories]' \ '(-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' \ '(--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' \ '--unlink[remove file before clobber]' \ '(--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 --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' \ '--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' \ '--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)' \ '--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 --ask-password)--ftp-password=:password' \ "--no-remove-listing[don't remove \`.listing' files]" \ '--no-glob[turn off FTP file name globbing]' \ '--no-passive-ftp' \ '--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' \ '--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' \ '--trust-server-names' \ '(--exclude-directories -X)'{--exclude-directories=,-X+}'[exclude directories]:excluded directories' \ '(-np --no-parent)'{-np,--no-parent}"[don't ascend to parent directory]" \ '--no-host-lookup' \ '--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