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