[Bash-completion-commits] [SCM] bash-completion branch, master, updated. 1.3-441-g2014d3b

Ville Skyttä ville.skytta at iki.fi
Wed Sep 28 16:07:30 UTC 2011


The following commit has been merged in the master branch:
commit 89b7923cb8247e4bd1fa7d01c235c88d0e45cd24
Author: Ville Skyttä <ville.skytta at iki.fi>
Date:   Wed Sep 28 18:59:15 2011 +0300

    ping, tracepath: Split to iputils, add option completions.

diff --git a/bash_completion b/bash_completion
index 8e2497f..556d83f 100644
--- a/bash_completion
+++ b/bash_completion
@@ -1466,8 +1466,8 @@ _known_hosts_real()
 
     return 0
 } # _known_hosts_real()
-complete -F _known_hosts traceroute traceroute6 tracepath tracepath6 ping \
-    ping6 fping fping6 telnet rsh rlogin ftp dig mtr ssh-installkeys showmount
+complete -F _known_hosts traceroute traceroute6 tracepath tracepath6 \
+    fping fping6 telnet rsh rlogin ftp dig mtr ssh-installkeys showmount
 
 # This meta-cd function observes the CDPATH variable, so that cd additionally
 # completes on directories under those specified in CDPATH.
diff --git a/completions/Makefile.am b/completions/Makefile.am
index bdb8368..ae792b0 100644
--- a/completions/Makefile.am
+++ b/completions/Makefile.am
@@ -77,6 +77,7 @@ bashcomp_DATA = abook \
 		ipmitool \
 		iproute2 \
 		ipsec \
+		iputils \
 		ipv6calc \
 		isql \
 		jar \
diff --git a/completions/iputils b/completions/iputils
new file mode 100644
index 0000000..8c36eb1
--- /dev/null
+++ b/completions/iputils
@@ -0,0 +1,88 @@
+have ping || have ping6 &&
+_ping()
+{
+    local cur prev words cword
+    _init_completion -n = || return
+
+    case $prev in
+        -c|-F|-G|-g|-h|-i|-l|-m|-P|-p|-s|-t|-V|-W|-w|-z)
+            return
+            ;;
+        -I)
+            _available_interfaces -a
+            return
+            ;;
+        -M)
+            # Path MTU strategy in Linux, mask|time in FreeBSD
+            local opts="do want dont"
+            [[ $OSTYPE == *bsd* ]] && opts="mask time"
+            COMPREPLY=( $( compgen -W '$opts' -- "$cur" ) )
+            return
+            ;;
+        -N)
+            if [[ $cur != *= ]]; then
+                COMPREPLY=( $( compgen -W 'name ipv6 ipv6-global ipv6-sitelocal
+                    ipv6-linklocal ipv6-all ipv4 ipv4-all subject-ipv6=
+                    subject-ipv4= subject-name= subject-fqdn=' -- "$cur" ) )
+                [[ $COMPREPLY == *= ]] && compopt -o nospace
+            fi
+            return
+            ;;
+        -Q)
+            # TOS in Linux, "somewhat quiet" (no args) in FreeBSD
+            if [[ $OSTYPE != *bsd* ]]; then
+                COMPREPLY=( $( compgen -W '{0..7}' -- "$cur" ) )
+                return
+            fi
+            ;;
+        -S)
+            # Socket sndbuf in Linux, source IP in FreeBSD
+            [[ $OSTYPE == *bsd* ]] && _ip_addresses
+            return
+            ;;
+        -T)
+            # Timestamp option in Linux, TTL in FreeBSD
+            [[ $OSTYPE == *bsd* ]] || \
+                COMPREPLY=( $( compgen -W 'tsonly tsandaddr' -- "$cur" ) )
+            return
+            ;;
+    esac
+
+    if [[ $cur == -* ]]; then
+        COMPREPLY=( $( compgen -W '$( _parse_usage "$1" )' -- "$cur" ) )
+        return
+    fi
+
+    _known_hosts_real "$cur"
+} &&
+complete -F _ping ping ping6
+
+
+have tracepath || have tracepath6 &&
+_tracepath()
+{
+    local cur prev words cword
+    _init_completion || return
+
+    case $prev in
+        -l)
+            return
+            ;;
+    esac
+
+    if [[ $cur == -* ]]; then
+        COMPREPLY=( $( compgen -W '$( _parse_usage "$1" )' -- "$cur" ) )
+        return
+    fi
+
+    _known_hosts_real "$cur"
+} &&
+complete -F _tracepath tracepath tracepath6
+
+# 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/tracepath.exp b/test/completion/tracepath.exp
new file mode 100644
index 0000000..621f0ba
--- /dev/null
+++ b/test/completion/tracepath.exp
@@ -0,0 +1 @@
+assert_source_completions tracepath
diff --git a/test/lib/completions/ping.exp b/test/lib/completions/ping.exp
index 3e41996..9ef7f2f 100644
--- a/test/lib/completions/ping.exp
+++ b/test/lib/completions/ping.exp
@@ -12,8 +12,9 @@ setup
 
 
 assert_complete_any "ping "
+sync_after_int
 
-
+assert_complete_any "ping -"
 sync_after_int
 
 
diff --git a/test/lib/completions/chsh.exp b/test/lib/completions/tracepath.exp
similarity index 66%
copy from test/lib/completions/chsh.exp
copy to test/lib/completions/tracepath.exp
index 6736c18..33b3256 100644
--- a/test/lib/completions/chsh.exp
+++ b/test/lib/completions/tracepath.exp
@@ -11,15 +11,10 @@ proc teardown {} {
 setup
 
 
-assert_complete_any "chsh -s "
-
-
+assert_complete_any "tracepath "
 sync_after_int
 
-
-assert_complete_any "chsh "
-
-
+assert_complete_any "tracepath -"
 sync_after_int
 
 

-- 
bash-completion



More information about the Bash-completion-commits mailing list