summaryrefslogtreecommitdiffstats
path: root/completions/ccze
blob: 31602b09ecadc64d2579a08b45943dfe24f0697b (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
# ccze(1) completion                                       -*- shell-script -*-

_comp_cmd_ccze()
{
    local cur prev words cword was_split comp_args
    _comp_initialize -s -- "$@" || return

    local noargopts='!(-*|*[acFmop]*)'
    # shellcheck disable=SC2254
    case $prev in
        -'?' | --help | --usage | -V | --version)
            return
            ;;
        --argument | --color | -${noargopts}[ac])
            # TODO?
            return
            ;;
        --rcfile | -${noargopts}F)
            _comp_compgen_filedir
            return
            ;;
        --mode | -${noargopts}m)
            _comp_compgen -- -W "curses ansi html"
            return
            ;;
        --option | -${noargopts}o)
            local -a opts=(scroll wordcolor lookups transparent cssfile)
            _comp_compgen -- -W '"${opts[@]}" "${opts[@]/#/no}"'
            return
            ;;
        --plugin | -${noargopts}p)
            _comp_compgen_split -- "$("$1" --list-plugins | command \
                sed -ne 's/^\([a-z0-9]\{1,\}\)[[:space:]]\{1,\}|.*/\1/p')"
            return
            ;;
    esac

    [[ $was_split ]] && return

    _comp_compgen_help
    [[ ${COMPREPLY-} == *= ]] && compopt -o nospace
} &&
    complete -F _comp_cmd_ccze ccze

# ex: filetype=sh