# postalias(1) and postmap(1) completion -*- shell-script -*- proc _postmap { local cur prev words cword _init_completion || return match $prev { with -c _filedir -d return 0 with -[dq] return 0 } if [[ $cur == -* ]] { setglobal COMPREPLY = ''( $( compgen -W '$( _parse_usage "$1" )' -- "$cur" ) ) return 0 } if [[ "$cur" == *:* ]] { compopt -o filenames setglobal 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}" ]] { compat array-assign COMPREPLY '$idx' ""$pval:"" setglobal idx = $shExpr('$idx+1') } } if [[ $idx -eq 0 ]] { compopt -o filenames setglobal COMPREPLY = ''( $( compgen -f -- "$cur" ) ) } } return 0 } && complete -F _postmap postmap postalias # ex: ts=4 sw=4 et filetype=sh