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 44 45
|
# dot(1) completion -*- shell-script -*-
_dot()
{
local cur prev words cword
_init_completion -n := || return
[[ $prev == -@(V|\?) ]] && return
case $cur in
-G*|-N*|-E*|-l?*|-q?*|-s?*|-Ln*|-LU*|-LC*|-LT*)
return
;;
-T*)
local langs=( $( "$1" -TNON_EXISTENT 2>&1 | \
sed -ne 's/.*one of://p' ) )
COMPREPLY=( $( compgen -P -T -W '${langs[@]}' -- "${cur#-T}" ) )
return
;;
-K*)
local layouts=( $( "$1" -KNON_EXISTENT 2>&1 | \
sed -ne 's/.*one of://p' ) )
COMPREPLY=( $( compgen -P -K -W '${layouts[@]}' -- "${cur#-K}" ) )
return
;;
-o*)
cur=${cur#-o}
_filedir
COMPREPLY=( $( compgen -P -o -W '${COMPREPLY[@]}' -- "$cur" ) )
return
;;
esac
if [[ $cur == -* ]]; then
COMPREPLY=( $( compgen -W '-V -v -G -N -E -T -K -l -o -O -P -q -s -y -n
-n1 -n2 -x -Lg -LO -Ln -LU -LC -LT -m -c -?' -- "$cur" ) )
[[ $COMPREPLY == -@(G|N|E|T|K|o|L[nUCT]) ]] && compopt -o nospace
return
fi
_filedir dot
} &&
complete -F _dot dot
# ex: ts=4 sw=4 et filetype=sh
|