summaryrefslogtreecommitdiffstats
path: root/completions/dot
diff options
context:
space:
mode:
Diffstat (limited to 'completions/dot')
-rw-r--r--completions/dot45
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