summaryrefslogtreecommitdiff
path: root/completions/links
blob: 6bfee6540d16c2910f9daa9828e45e0df000073b (plain)
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
# 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