54 lines
1.3 KiB
Plaintext
54 lines
1.3 KiB
Plaintext
|
# dot(1) completion
|
||
|
|
||
|
have dot || return
|
||
|
|
||
|
_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
|
||
|
|
||
|
# Local variables:
|
||
|
# mode: shell-script
|
||
|
# sh-basic-offset: 4
|
||
|
# sh-indent-comment: t
|
||
|
# indent-tabs-mode: nil
|
||
|
# End:
|
||
|
# ex: ts=4 sw=4 et filetype=sh
|