bash-completion/completions/postmap

44 lines
1.0 KiB
Bash

# 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