mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-07-22 20:31:03 +02:00
147 lines
8.7 KiB
Text
147 lines
8.7 KiB
Text
#compdef links links2
|
|
|
|
local curcontext="$curcontext" state line ign ret=1
|
|
typeset -A opt_args
|
|
|
|
(( $#words > 2 )) && ign='!'
|
|
_arguments -C \
|
|
"${ign}-help[prints the help screen]" \
|
|
"${ign}(- :)-version[prints the links version number and exit]" \
|
|
"${ign}(- 1)-lookup[do hostname lookup]:hostname:_hosts" \
|
|
'-g[run in graphics mode rather than plain text mode]' '!-no-g' \
|
|
'-driver[graphics driver to use]:graphics driver:->graphics_drivers' \
|
|
'-mode[specify graphics mode]:graphics mode' \
|
|
'-display[specify X display]:display:_x_display' \
|
|
'-force-html[treat files with unknown type as html rather than text]' \
|
|
'-source[dump the source page]' \
|
|
'-dump[dump the page as pure text]' \
|
|
'-width[specify screen width for formatting with -dump]:width' \
|
|
'-codepage[convert output to specified character set with -dump]:codepage' \
|
|
'-anonymous[restrict links so that it can run on an anonymous account]' \
|
|
'-no-connect[runs links as a separate instance]' \
|
|
'-download-dir[default download directory]:_files -/' \
|
|
'-language[set user interface language]:language' \
|
|
'-max-connections[specify maximum number of concurrent connections]:connections [10]' \
|
|
'-max-connections-to-host[maximum number of concurrent connection to a given host]:connections [2]' \
|
|
'-retries[number of retries]:retries [3]' \
|
|
'-receive-timeout[timeout on receive]:timeout (seconds) [120]' \
|
|
'-unrestartable-receive-timeout[timeout on non-restartable connections]:timeout (seconds) [600]' \
|
|
'-timeout-when-trying-multiple-addresses[specify timeout for connection when trying multiple addresses]:timeout (seconds)' \
|
|
'-bind-address[use a specific local IP address]:IP address' \
|
|
'-bind-address-ipv6[use a specific local IPv6 address]:IPv6 address' \
|
|
"-no-libevent[don't use libevent library]" \
|
|
"-no-openmp[don't use OpenMP]" \
|
|
'-async-dns[asynchronous DNS resolver]:enable:((1\:on 0\:off))' \
|
|
'-download-utime[set time of downloaded files to last modification time reported by server]:enable:((1\:on 0\:off))' \
|
|
'-format-cache-size[number of formatted document pages cached]:pages [5]' \
|
|
'-memory-cache-size[cache memory]:size (bytes) [1048576]' \
|
|
'-image-cache-size[image cache memory]:size (bytes) [1048576]' \
|
|
'-font-cache-size[specify font cache size]:size (bytes) [2097152]' \
|
|
"-aggressive-cache[cache everything regardless of server's caching recommendations]:enable [1]:((1\\:on 0\\:off))" \
|
|
'-address-preference[specify IP version preference]:preference:((
|
|
0\:system\ default
|
|
1\:prefer\ IPv4
|
|
2\:prefer\ IPv6
|
|
3\:use\ only\ IPv4
|
|
4\:use\ only\ IPv6
|
|
))' \
|
|
'-http-proxy[specify web proxy server]:proxy:->proxies' \
|
|
'-ftp-proxy[specify ftp proxy server]:proxy:->proxies' \
|
|
'-https-proxy[specify https web proxy server]:proxy:->proxies' \
|
|
'-socks-proxy[specify socks4a proxy server]:proxy:->sproxies' \
|
|
'-append-text-to-dns-lookups[append text to dns lookups; useful for specifying fixed tor exit node]:text' \
|
|
'-no-proxy-domains[use no proxy for specified domains]:domain list' \
|
|
'-only-proxies[only initiate connections via proxy]:enable:((0\:off 1\:on))' \
|
|
'-ssl.certificates[specify handling of invalid signatures]:handling:((0\:ignore 1\:warn 2\:reject))' \
|
|
'-ssl.builtin-certificates[specify certificates to use]:certificates:((0\:system 1\:builtin))' \
|
|
'-ssl.client-cert-key[specify user private key for client certificate authentication]:PEM file:_files' \
|
|
'-ssl.client-cert-crt[specify user certificate for client certificate authentication]:PEM file:_files' \
|
|
'-ssl.client-cert-password[specify password for the user private key]:password' \
|
|
'-http-bugs.http10[specify HTTP version]:protocol [0]:((1\:force\ only\ HTTP\ 1.0 0\:use\ both\ HTTP\ 1.0\ and\ 1.1))' \
|
|
'-http-bugs.allow-blacklist[use list of servers with broken HTTP/1.1 support]:allow [1]:(1 0)' \
|
|
'-http-bugs.bug-no-accept-charset[specify sending of Accept-Charset field of HTTP header]:send [0]:(1 0)' \
|
|
'-http-bugs.no-compression[advertise HTTP compression support]:advertise compression [0]:((0\:yes 1\:no))' \
|
|
'-http-bugs.retry-internal-errors[retry on internal server errors (50x)]:retry [0]:((1\:yes 0\:no))' \
|
|
'-http.fake-firefox[fake Firefox in the HTTP header]:enable [0]:((0\:no 1\:yes))' \
|
|
'-http.do-not-track[send do not track request in the HTTP header]:enable [0]:(1 0)' \
|
|
"-http.referer[control sending of referer URL in requests]:referer [4]:((
|
|
0\:don\'t\ send 1\:'send requested URL' 2\:'fake referer' 3\:'send real'
|
|
4\:'send real only to the same server'
|
|
))" \
|
|
'-http.fake-user-agent[specify fake user agent value]:string' \
|
|
'-http.extra-header[specify extra string added to HTTP header]:string' \
|
|
'-ftp.anonymous-password[specify password for anonymous ftp access]:password' \
|
|
'-ftp.use-passive[use ftp PASV command to bypass firewalls]:enable;(0 1)' \
|
|
'-ftp.use-eprt-epsv[use EPRT and EPSV commands instead of PORT and PASV]:enable:(0 1)' \
|
|
'-ftp.set-iptos[set IP type-of-service to high throughput on ftp connections]:enable:(0 1)' \
|
|
'-smb.allow-hyperlinks-to-smb[allow hyperlinks to SMB protocol]:enable:(0 1)' \
|
|
'-menu-font-size[specify size of font in menu]:size' \
|
|
'-menu-background-color[specify menu background color in graphics mode]:color (0xRRGGBB)' \
|
|
'-menu-foreground-color[specify menu foreground color in graphics mode]:color (0xRRGGBB)' \
|
|
'-scroll-bar-area-color[set colour of scroll bar area]:colour (0xRRGGBB)' \
|
|
'-scroll-bar-bar-color[set colour of scroll bar]:colour (0xRRGGBB)' \
|
|
'-scroll-bar-frame-color[set colour of scroll bar frame]:colour (0xRRGGBB)' \
|
|
'-bookmarks-file[specify file to store bookmarks]:file:_files' \
|
|
'-bookmarks-codepage[specify character set of bookmarks file]:character set' \
|
|
'-save-url-history[save URL history on exit]:enable:(0 1)' \
|
|
'-display-red-gamma[specify red gamma of display]:gamma [2.2]' \
|
|
'-display-green-gamma[specify green gamma of display]:gamma [2.2]' \
|
|
'-display-blue-gamma[specify blue gamma of display]:gamma [2.2]' \
|
|
'-user-gamma[specify additional gamma]:gamma [1]' \
|
|
'-bfu-aspect[display aspect ration]' \
|
|
'-dither-letters[do letter dithering]:enable:(0 1)' \
|
|
'-display-optimize[optimize for display type]:display:((0\:CRT 1\:LCD\ RGB 2\:LCD\ BGR))' \
|
|
'-gamma-correction[specify type of gamma correction]:gamma correction:((0\:8-bit 1\:16-bit 2\:auto\ detect))' \
|
|
'-overwrite-instead-of-scroll[overwrite the screen instead of scrolling it]:enable:(0 1)' \
|
|
'-html-assume-codepage[specify codepage to use if unspecified by server]:codepage' \
|
|
'-html-hard-assume[always use character set from -html-assume-codepage]:enable:(0 1)' \
|
|
'-html-tables[render tables]:enable:(0 1)' \
|
|
'-html-frames[render frames]:enable:(0 1)' \
|
|
'-html-images[display links to unnamed images as \[IMG\]]:enable:(0 1)' \
|
|
'-html-image-names[display filename of an image]:enable:(0 1)' \
|
|
'-html-display-images[display images in graphics mode]:enable:(0 1)' \
|
|
'-html-image-scale[sScale images in graphics mode]:scaling (percent)' \
|
|
'-html-bare-image-autoscale[autoscale images displayed on full screen]:enable:(0 1)' \
|
|
'-html-numbered-links[number links in text mode allowing quick selection]:enable:(0 1)' \
|
|
'-html-table-order[set ordering to walk tables]:ordering:((0\:rows 1\:columns))' \
|
|
'-html-auto-refresh[process refresh or display link]:refresh:(1 0)' \
|
|
'-html-target-in-new-window[allow opening new windows from html]' \
|
|
'-html-margin[specify margin]:margin (spaces)' \
|
|
'-html-user-font-size[specify font size in graphics mode]:size' \
|
|
'-html-text-color[specify text color in text mode]:color (0..15)' \
|
|
'-html-link-color[specify link color in text mode]:color (0..15)' \
|
|
'-html-background-color[specify background color in text mode]:color (0..15)' \
|
|
'-html-ignore-document-color[ignore colors from HTML in text mode]:ignore:(0 1)' \
|
|
'-html-g-text-color[specify text color in graphics mode]:color (0xRRGGBB)' \
|
|
'-html-g-link-color[specify link color in graphics mode]:color (0xRRGGBB)' \
|
|
'-html-g-background-color[specify background color in graphics mode]:color (0xRRGGBB)' \
|
|
'-html-g-ignore-document-color[ignore colors from HTML in graphics mode]:ignore:(0 1)' \
|
|
':URL:->html' && ret=0
|
|
|
|
case $state in
|
|
html)
|
|
_alternative 'files:file:_files -g "*.x#html(-.)"' 'urls:URL:_urls' && ret=0
|
|
;;
|
|
graphics_drivers)
|
|
local -a vals
|
|
vals=( ${=${${${(f)"$(_call_program links-graphics-drivers $words[1] -driver help 2>&1)"}[-1]}//','/''}} )
|
|
_describe -t links-graphics-drivers 'graphics driver' vals && ret=0
|
|
;;
|
|
sproxies)
|
|
if ! compset -P '*@'; then
|
|
_message -e users 'user id'
|
|
return
|
|
fi
|
|
;&
|
|
proxies)
|
|
local suf=-S:
|
|
if compset -P '*:'; then
|
|
_message -e ports 'port number'
|
|
else
|
|
compset -S ':*' && suf=
|
|
_hosts $suf && ret=0
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
return ret
|