summaryrefslogtreecommitdiff
path: root/completions/bind
blob: 2ee428b214ed4d0963a69795928a729c8742a21e (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
# bash bind completion                                     -*- shell-script -*-

_bind()
{
    local cur prev words cword
    _init_completion || return

    case $prev in
        -*[lpPsSvVrxX])
            return
            ;;
        -*m)
            COMPREPLY=($(compgen -W "emacs emacs-standard emacs-meta
                emacs-ctlx vi vi-move vi-command vi-insert" -- "$cur"))
            return
            ;;
        -*f)
            _filedir
            return
            ;;
        -*[qu])
            COMPREPLY=($(compgen -W '$("$1" -l)' -- "$cur"))
            return
            ;;
    esac

    if [[ $cur == -* ]]; then
        COMPREPLY=($(compgen -W '$(_parse_usage "$1")' -- "$cur"))
        return
    fi

    COMPREPLY=($(compgen -A binding -- "$cur"))
} &&
    complete -F _bind bind

# ex: filetype=sh