Blame completions/postmap

Packit 8462d6
# postalias(1) and postmap(1) completion                   -*- shell-script -*-
Packit 8462d6
Packit 8462d6
_postmap()
Packit 8462d6
{
Packit 8462d6
    local cur prev words cword
Packit 8462d6
    _init_completion || return
Packit 8462d6
Packit 8462d6
    case $prev in
Packit 8462d6
        -c)
Packit 8462d6
            _filedir -d
Packit 8462d6
            return
Packit 8462d6
            ;;
Packit 8462d6
        -[dq])
Packit 8462d6
            return
Packit 8462d6
            ;;
Packit 8462d6
    esac
Packit 8462d6
Packit 8462d6
    if [[ $cur == -* ]]; then
Packit 8462d6
        COMPREPLY=( $( compgen -W '$( _parse_usage "$1" )' -- "$cur" ) )
Packit 8462d6
        return
Packit 8462d6
    fi
Packit 8462d6
Packit 8462d6
    if [[ "$cur" == *:* ]]; then
Packit 8462d6
        compopt -o filenames
Packit 8462d6
        COMPREPLY=( $( compgen -f -- "${cur#*:}" ) )
Packit 8462d6
    else
Packit 8462d6
        local len=${#cur} idx=0 pval
Packit 8462d6
        for pval in $( /usr/sbin/postconf -m 2>/dev/null ); do
Packit 8462d6
            if [[ "$cur" == "${pval:0:$len}" ]]; then
Packit 8462d6
                COMPREPLY[$idx]="$pval:"
Packit 8462d6
                idx=$(($idx+1))
Packit 8462d6
            fi
Packit 8462d6
        done
Packit 8462d6
        if [[ $idx -eq 0 ]]; then
Packit 8462d6
            compopt -o filenames
Packit 8462d6
            COMPREPLY=( $( compgen -f -- "$cur" ) )
Packit 8462d6
        fi
Packit 8462d6
    fi
Packit 8462d6
} &&
Packit 8462d6
complete -F _postmap postmap postalias
Packit 8462d6
Packit 8462d6
# ex: filetype=sh