summaryrefslogtreecommitdiff
path: root/tools/udisksctl-bash-completion.sh
blob: b24487e177b75c8b931d7e8da31f1aaa59b40ffb (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

# Check for bash
[ -z "$BASH_VERSION" ] && return

####################################################################################################


__udisksctl() {
    local IFS=$'\n'
    local cur=`_get_cword :`

    local suggestions=$(udisksctl complete "${COMP_LINE}" ${COMP_POINT})
    if [ "$suggestions" = "@FILES@" ] ; then
        _filedir
    else
        COMPREPLY=($(compgen -W "$suggestions" -- "$cur"))
    fi

    # Remove colon-word prefix from COMPREPLY items
    case "$cur" in
        *:*)
            case "$COMP_WORDBREAKS" in
                *:*)
                    local colon_word=${cur%${cur##*:}}
                    local i=${#COMPREPLY[*]}
                    while [ $((--i)) -ge 0 ]; do
                        COMPREPLY[$i]=${COMPREPLY[$i]#"$colon_word"}
                    done
                    ;;
            esac
            ;;
    esac
}

####################################################################################################

complete -o nospace -F __udisksctl udisksctl