# 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