46 lines
1.3 KiB
Bash
46 lines
1.3 KiB
Bash
# 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 == -@([GNETKo]|L[nUCT]) ]] && compopt -o nospace
|
|
return
|
|
fi
|
|
|
|
_filedir dot
|
|
} &&
|
|
complete -F _dot dot
|
|
|
|
# ex: ts=4 sw=4 et filetype=sh
|