summaryrefslogtreecommitdiff
path: root/completions/reportbug
blob: f5eaadf3ba66836d690cc3264ad77d99dc58f825 (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
# bash completion for (Debian) reportbug                   -*- shell-script -*-

_reportbug()
{
    local cur prev words cword split
    _init_completion -s || return

    case $prev in
        --class|--header|--pseudo-header|--mirror|--list-cc|--subject|\
        --http_proxy|--proxy|--email|--realname|--smtpuser|--smtppasswd|\
        --replyto|--reply-to|--justification|--package-version|--body|\
        --body-file|--timeout|--max-attachment-size|--envelope-from|\
        -!(-*)[CHPsjV])
            return
            ;;
        --filename|--include|--mta|--output|--attach|-[fioA])
            _filedir
            return
            ;;
        --keyid|-!(-*)K)
            COMPREPLY=( $(compgen -W '$(IFS=: ; \
                gpg --list-keys --with-colons 2>/dev/null \
                | while read -ra row ; do
                    [[ "${row[0]}" == [ps]ub && ${row[11]} == *s* ]] && \
                        printf "%s\n" "${row[4]}"
                done)' -- "$cur") )
            return
            ;;
        --bts|-!(-*)B)
            COMPREPLY=( $(compgen -W "debian guug kde mandrake help" -- \
                "$cur") )
            return
            ;;
        --editor|--mua|--mbox-reader-cmd|-!(-*)e)
            words=( words[0] "$cur" )
            cword=1
            _command
            return
            ;;
        --mode)
            COMPREPLY=( $(compgen -W "novice standard expert" -- "$cur") )
            return
            ;;
        --severity|-!(-*)S)
            COMPREPLY=( $(compgen -W "grave serious important normal minor
                wishlist" -- "$cur") )
            return
            ;;
        --ui|--interface|-!(-*)u)
            COMPREPLY=( $(compgen -W "newt text gnome" -- "$cur") )
            return
            ;;
        --type|-!(-*)t)
            COMPREPLY=( $(compgen -W "gnats debbugs" -- "$cur") )
            return
            ;;
        --tag|-!(-*)T)
            COMPREPLY=( $(compgen -W "none woody potato sarge sarge-ignore
                etch etch-ignore lenny lenny-ignore sid experimental confirmed
                d-i fixed fixed-in-experimental fixed-upstream help l10n
                moreinfo patch pending security unreproducible upstream wontfix
                ipv6 lfs" -- "$cur") )
            return
            ;;
        --from-buildd)
            COMPREPLY=( $(compgen -S "_" -W '$(apt-cache dumpavail | \
                command grep "^Source: $cur" | sort -u | cut -f2 -d" ")') )
            return
            ;;
        --smtphost)
            _known_hosts_real -- "$cur"
            return
            ;;
        --draftpath)
            _filedir -d
            return
            ;;
    esac

    $split && return

    if [[ $cur == -* ]]; then
        COMPREPLY=( $(compgen -W '$(_parse_help "$1")' -- "$cur") )
        [[ $COMPREPLY == -*= ]] && compopt -o nospace
        return
    fi

    COMPREPLY=( $(compgen -W 'wnpp boot-floppies kernel bugs.debian.org
        cdimage.debian.org general installation-reports listarchives
        lists.debian.org mirrors nm.debian.org press project qa.debian.org
        release-notes security.debian.org tech-ctte upgrade-reports
        www.debian.org $(apt-cache pkgnames 2>/dev/null)' -- "$cur") )
    _filedir
} &&
complete -F _reportbug reportbug

# ex: filetype=sh