summaryrefslogtreecommitdiff
path: root/completions/minicom
blob: 57510e98bdfa2e245af88f4726f8781450edb930 (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
# bash completion for minicom                              -*- shell-script -*-

_minicom()
{
    local cur prev words cword split
    _init_completion -s || return

    case $prev in
        --attrib | --color | -!(-*)[ac])
            COMPREPLY=($(compgen -W 'on off' -- "$cur"))
            return
            ;;
        --script | --capturefile | -!(-*)[SC])
            _filedir
            return
            ;;
        --ptty | -!(-*)p)
            COMPREPLY=($(printf '%s\n' /dev/tty*))
            COMPREPLY=($(compgen -W '${COMPREPLY[@]} ${COMPREPLY[@]#/dev/}' \
                -- "$cur"))
            return
            ;;
    esac

    $split && return

    if [[ $cur == -* ]]; then
        COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
        [[ ${COMPREPLY-} == *= ]] && compopt -o nospace
        return
    fi

    COMPREPLY=(
        $(printf '%s\n' /etc/minirc.* /etc/minicom/minirc.* ~/.minirc.* |
            command sed -e '/\*$/d' -e 's/^.*minirc\.//' |
            command grep "^${cur}"))
} &&
    complete -F _minicom -o default minicom

# ex: filetype=sh