[Bash-completion-commits] [SCM] bash-completion branch, master, updated. 1.3-382-g38dc63d

Ville Skyttä ville.skytta at iki.fi
Sat Jun 18 15:26:45 UTC 2011


The following commit has been merged in the master branch:
commit 38dc63d591d32824d268e7172391119e1dc7b58e
Author: Ville Skyttä <ville.skytta at iki.fi>
Date:   Sat Jun 18 18:22:35 2011 +0300

    dot: New completion.

diff --git a/completions/Makefile.am b/completions/Makefile.am
index 324599c..a7ad5ed 100644
--- a/completions/Makefile.am
+++ b/completions/Makefile.am
@@ -36,6 +36,7 @@ bashcomp_DATA = abook \
 		dd \
 		dhclient \
 		dict \
+		dot \
 		dpkg \
 		dselect \
 		dsniff \
diff --git a/completions/dot b/completions/dot
new file mode 100644
index 0000000..cd53598
--- /dev/null
+++ b/completions/dot
@@ -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
diff --git a/test/completion/dot.exp b/test/completion/dot.exp
new file mode 100644
index 0000000..d12422c
--- /dev/null
+++ b/test/completion/dot.exp
@@ -0,0 +1 @@
+assert_source_completions dot
diff --git a/test/lib/completions/c++.exp b/test/lib/completions/dot.exp
similarity index 81%
copy from test/lib/completions/c++.exp
copy to test/lib/completions/dot.exp
index c899de2..2a85a56 100644
--- a/test/lib/completions/c++.exp
+++ b/test/lib/completions/dot.exp
@@ -11,7 +11,7 @@ proc teardown {} {
 setup
 
 
-assert_complete_any "c++ "
+assert_complete_any "dot "
 
 
 sync_after_int

-- 
bash-completion



More information about the Bash-completion-commits mailing list