summaryrefslogtreecommitdiff
path: root/contrib/rdesktop
blob: 7acf47a54b3f8722780105490037598351e11f58 (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
# bash completion for rdesktop

have rdesktop &&
_rdesktop()
{
    local cur prev

    COMPREPLY=()
    _get_comp_words_by_ref cur prev

    case $prev in
        -k)
            COMPREPLY=( $( command ls \
                /usr/share/rdesktop/keymaps 2>/dev/null | \
                command grep -E -v '(common|modifiers)' ) )
            COMPREPLY=( ${COMPREPLY[@]:-} $( command ls \
                $HOME/.rdesktop/keymaps 2>/dev/null ) )
            COMPREPLY=( ${COMPREPLY[@]:-} $( command ls \
                ./keymaps 2>/dev/null ) )
            COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- "$cur" ) )
            return 0
            ;;
        -a)
            COMPREPLY=( $( compgen -W '8 15 16 24' -- "$cur" ) )
            return 0
            ;;
        -x)
            COMPREPLY=( $( compgen -W 'b broadband m modem l lan' \
                -- $cur ) )
            return 0
            ;;
        -r)
            # FIXME: should do -o nospace for the colon options
            COMPREPLY=( $( compgen -W 'comport: disk: lptport: \
                printer: sound: lspci scard' -- "$cur" ) )
            return 0
            ;;
    esac

    if [[ "$cur" == -* ]]; then
        COMPREPLY=( $( compgen -W '-u -d -s -c -p -n -k -g -f -b -L \
            -A -B -e -E -m -C -D -K -S -T -N -X -a -z -x -P -r \
            -0 -4 -5' -- "$cur" ) )
    else
        _known_hosts_real "$cur"
    fi

} &&
complete -F _rdesktop rdesktop

# Local variables:
# mode: shell-script
# sh-basic-offset: 4
# sh-indent-comment: t
# indent-tabs-mode: nil
# End:
# ex: ts=4 sw=4 et filetype=sh