# bash completion for links -*- shell-script -*- _links() { local cur prev words cword _init_completion -n : || return case $prev in -html-t-text-color | -html-t-link-color) COMPREPLY=($(compgen -W '{0..15}' -- "$cur")) return ;; -http.fake-firefox | -html-[gt]-ignore-document-color) COMPREPLY=($(compgen -W '0 1' -- "$cur")) return ;; --help | -help | -mode | -display | -source | -dump | -width | -max-connections | \ -max-connections-to-host | -retries | -receive-timeout | \ -unrestartable-receive-timeout | -*-size | -*-proxy | \ -append-text-to-dns-lookups | -ssl.client-cert-passwd | -http.fake-* | \ -http.extra-header | -ftp.anonymous-passwd | -*-color | -*-gamma | \ -bfu-aspect | -html-image-scale | -html-margin) return ;; -lookup) _known_hosts_real -- "$cur" return ;; -driver) local drivers=$("$1" -driver foo 2>&1 | command sed -ne '$!d' -e '/^[a-z0-9, ]\{1,\}$/s/,/ /gp') [[ $drivers ]] || drivers='x svgalib fb directfb pmshell atheos' COMPREPLY=($(compgen -W "$drivers" -- "$cur")) return ;; -codepage | -bookmarks-codepage | -http-assume-codepage) _xfunc iconv _iconv_charsets return ;; -download-dir) _filedir -d return ;; -bind-address) _ip_addresses return ;; -bind-address-ipv6) _ip_addresses -6 __ltrim_colon_completions "$cur" return ;; -async-dns | -download-utime | -aggressive-cache | -only-proxies | \ -http-bugs.* | -http.do-not-track | -ftp.use-* | -ftp.fast | -ftp.set-iptos | \ -smb.allow-hyperlinks-to-smb | -save-url-history | -dither-letters | \ -dither-images | -overwrite-instead-of-scroll | -html-*) COMPREPLY=($(compgen -W '0 1' -- "$cur")) return ;; -address-preference | -http.referer) COMPREPLY=($(compgen -W '{0..4}' -- "$cur")) return ;; -ssl-certificates | -display-optimize | -gamma-correction) COMPREPLY=($(compgen -W '{0..2}' -- "$cur")) return ;; -ssl.client-cert-key) _filedir '@(key|pem)' return ;; -ssl.client-cert-crt) _filedir '@(c?(e)rt|cer|pem|der)' return ;; -bookmarks-file) _filedir html return ;; esac if [[ $cur == -* ]]; then COMPREPLY=($(compgen -W '$(_parse_help "$1" | command grep -vF -- "->")' -- "$cur")) return fi local dir for dir in .links .links2; do if [[ -r ~/$dir/links.his ]]; then COMPREPLY+=($(compgen -W '$(cat ~/$dir/links.his)' -- "$cur")) __ltrim_colon_completions "$cur" fi done _filedir '@(htm|html)' } && complete -F _links links links2 # ex: filetype=sh