summaryrefslogtreecommitdiffstats
path: root/scripts/uscan.bash_completion
blob: 46aa43f9b2e02387a968650ab2ca447c072e6e3d (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
# /usr/share/bash-completion/completions/uscan
# Bash command completion for ‘uscan(1)’.
# Documentation: ‘bash(1)’, section “Programmable Completion”.

shopt -s progcomp

_uscan_completion () {
    COMPREPLY=()

    local cur="${COMP_WORDS[COMP_CWORD]}"
    local prev="${COMP_WORDS[COMP_CWORD-1]}"

    local opts="--help --verbose -v"
    opts+=" --download --safe --report --report-status"
    opts+=" --signature --no-signature --skip-signature"
    opts+=" --no-download --force-download -dd --overwrite-download -ddd"
    opts+=" --upstream-version --download-version --download-debversion"
    opts+=" --download-current-version --bare"
    opts+=" --check-dirname-level --check-dirname-regex"
    opts+=" --no-pasv --pasv --timeout --user-agent --useragent"
    opts+=" --no-verbose --verbose --debug -vv --extra-debug -vvv"
    opts+=" --no-dehs --dehs --no-conf --noconf --watchfile --destdir"
    opts+=" --package --no-exclusion"
    opts+=" --symlink --rename --repack --compression --copyright-file"

    case "${prev}" in
        --compression)
            local formats=(gzip bzip2 lzma xz)
            COMPREPLY=( $(compgen -W "${formats[*]}" -- ${cur}) )
            ;;

        --check-dirname-level)
            local levels=(0 1 2)
            COMPREPLY=( $(compgen -W "${levels[*]}" -- ${cur}) )
            ;;

        --watchfile)
            COMPREPLY=( $(compgen -A file -- ${cur}) )
            ;;

        --copyright-file)
            COMPREPLY=( $(compgen -A file -- ${cur}) )
            ;;

        *)
            COMPREPLY=($(compgen -W "${opts}" -- ${cur}))  
            compopt -o dirnames
            ;;
    esac
}

complete -F _uscan_completion uscan


# Local variables:
# coding: utf-8
# mode: shell-script
# End:
# vim: fileencoding=utf-8 filetype=sh :