diff options
Diffstat (limited to 'completions/dot')
-rw-r--r-- | completions/dot | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/completions/dot b/completions/dot new file mode 100644 index 0000000..8122229 --- /dev/null +++ b/completions/dot @@ -0,0 +1,45 @@ +# 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 |