dot: New completion.

This commit is contained in:
Ville Skyttä 2011-06-18 18:22:35 +03:00
parent ae3be4b725
commit 38dc63d591
4 changed files with 75 additions and 0 deletions

View File

@ -36,6 +36,7 @@ bashcomp_DATA = abook \
dd \
dhclient \
dict \
dot \
dpkg \
dselect \
dsniff \

53
completions/dot Normal file
View File

@ -0,0 +1,53 @@
# 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

1
test/completion/dot.exp Normal file
View File

@ -0,0 +1 @@
assert_source_completions dot

View File

@ -0,0 +1,20 @@
proc setup {} {
save_env
}
proc teardown {} {
assert_env_unmodified
}
setup
assert_complete_any "dot "
sync_after_int
teardown