summaryrefslogtreecommitdiff
path: root/completions/bind
blob: c06654b10fbd57a931bfe9bd6a076b6f38ef878f (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