~ubuntu-branches/ubuntu/oneiric/apt-xapian-index/oneiric

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
# axi-cache(1) completion
#
# © 2010, David Paleino <dapal@debian.org>
#
# This file is released under GPL-2, or later.

# This is for development only. It's normally defined inside bash-completion.
#have() { return 0; }

have axi-cache &&
_axi_cache() {
    local cur prev cmd
    COMPREPLY=()
    COMP_WORDBREAKS=${COMP_WORDBREAKS//:}

    type _get_comp_words_by_ref &>/dev/null && {
        _get_comp_words_by_ref -n: cur prev
    } || {
        cur=$(_get_cword ":")
        prev=${COMP_WORDS[$COMP_CWORD-1]}
    }
    cmd=${COMP_WORDS[1]}

    case "$prev" in
        *axi-cache*)
            COMPREPLY=( $(compgen -W "help more search show again showpkg showsrc depends rdepends policy madison" -- "$cur") )
            return 0
            ;;
        --sort)
            COMPREPLY=( $(compgen -W "$(egrep ^[a-z] /var/lib/apt-xapian-index/values | awk -F"\t" '{print $1}')" -- "$cur") )
            return 0
            ;;
    esac

    case "$cmd" in
        search|again)
            if [[ "$cur" == -* ]]; then
                COMPREPLY=( $(compgen -W "--sort --tags" -- "$cur") )
                return 0
            fi
            ;;
        show|showpkg|showsrc|depends|rdepends|policy|madison)
            if [[ "$cur" == -* ]]; then
                COMPREPLY=( $(compgen -W "--last" -- "$cur") )
                return 0
            fi
            ;;
        *)
            return 0
            ;;
    esac

    if [ -n "$cur" ]; then
        #unset COMP_WORDS[$COMP_CWORD]
        COMPREPLY=( $(compgen -W "$(${COMP_WORDS[@]} --tabcomplete=partial)" -- "$cur") )
    else
        COMPREPLY=( $(compgen -W "$(${COMP_WORDS[@]} --tabcomplete=plain)" -- "$cur") )
    fi

    return 0
} &&
complete -F _axi_cache axi-cache