File: add-apt-repository

package info (click to toggle)
software-properties 0.111-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 6,944 kB
  • sloc: python: 8,238; makefile: 19; sh: 18; xml: 10
file content (93 lines) | stat: -rw-r--r-- 2,247 bytes parent folder | download | duplicates (2)
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
# bash completion for add-apt-repository                             -*- shell-script -*-

_add-apt-repository_components()
{
    if test -r /etc/lsb-release && grep -q Ubuntu /etc/lsb-release; then
        COMPREPLY=( $(compgen -W 'main restricted universe multiverse main/debug' -- "$cur") )
    elif test -r /etc/debian_version; then
        COMPREPLY=( $(compgen -W 'main contrib free non-free' -- "$cur") )
    fi
}

_add-apt-repository_ppa()
{
    : # nothing to do currently
}

_add-apt-repository_uca()
{
    : # add param to list valid UCAs for current release
}

_add-apt-repository_uri()
{
    COMPREPLY=( $(compgen -W 'http:// https:// mirror:// ftp:// file:/ copy:/ rsh:// ssh://' -- "$cur") )
}

_add-apt-repository_sourceslist()
{
    : # maybe add help to autofill full sources.list line
}

_add-apt-repository_help()
{
    "$1" --help | grep '^\s*-' | tr ',' '\n' | _parse_help -
}

_add-apt-repository()
{
    local cur prev words cword
    _init_completion || return

    if [[ $cur == -* ]]; then
        COMPREPLY=( $(compgen -W "$(_add-apt-repository_help $1)" -- "$cur") )
        return
    fi

    case $prev in
        -p|--pocket)
            COMPREPLY=( $(compgen -W 'release security updates proposed backports' -- "$cur") )
            return
            ;;
        -c|--component)
            _add-apt-repository_components
            return
            ;;
        -P|--ppa)
            _add-apt-repository_ppa
            return
            ;;
        -C|--cloud)
            _add-apt-repository_uca
            return
            ;;
        -U|--uri)
            _add-apt-repository_uri
            return
            ;;
        -S|--sourceslist)
            _add-apt-repository_sourceslist
            return
            ;;
    esac

    # check if last param was -S/--sourceslist,
    # as it can accept multiple words
    local i=$cword
    while [[ $i -ge 0 ]]; do
        case $words[$i] in
            -S|--sourceslist)
                _add-apt-repository_sourceslist
                return
                ;;
        esac
        i=$(( $i - 1 ))
    done
}

complete -F _add-apt-repository add-apt-repository

# also complete the alias
complete -F _add-apt-repository apt-add-repository

# ex: filetype=sh