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