# postalias(1) and postmap(1) completion -*- shell-script -*- proc _postmap { var 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 { var len = $(#cur), idx = '0', pval = '' for pval in [$[ /usr/sbin/postconf -m !2 >/dev/null]] { if [[ "$cur" == "${pval:0:$len}" ]] { setglobal COMPREPLY[$idx]="$pval:" set 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