# 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 | command sed -ne 's/.*one of://p')) COMPREPLY=($(compgen -P -T -W '${langs[@]}' -- "${cur#-T}")) return ;; -K*) local layouts=($("$1" -KNON_EXISTENT 2>&1 | command 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: filetype=sh