From 12ae7eb21451710492a8bc450e07f6c3bd79a4ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Mon, 25 Feb 2013 16:50:21 +0200 Subject: ss: New completion. --- completions/Makefile.am | 1 + completions/ss | 39 +++++++++++++++++++++++++++++++++++++++ test/completion/ss.exp | 1 + test/lib/completions/ss.exp | 21 +++++++++++++++++++++ 4 files changed, 62 insertions(+) create mode 100644 completions/ss create mode 100644 test/completion/ss.exp create mode 100644 test/lib/completions/ss.exp diff --git a/completions/Makefile.am b/completions/Makefile.am index 38450acd..96e3f71b 100644 --- a/completions/Makefile.am +++ b/completions/Makefile.am @@ -306,6 +306,7 @@ bashcomp_DATA = a2x \ smbclient \ snownews \ sqlite3 \ + ss \ ssh \ ssh-add \ ssh-copy-id \ diff --git a/completions/ss b/completions/ss new file mode 100644 index 00000000..655f1f1f --- /dev/null +++ b/completions/ss @@ -0,0 +1,39 @@ +# ss(8) completion -*- shell-script -*- + +_ss() +{ + local cur prev words cword split + _init_completion -s || return + + case $prev in + -h|--help|-V|--version) + return + ;; + -f|--family) + COMPREPLY=( $( compgen -W 'unix inet inet6 link netlink' \ + -- "$cur" ) ) + return + ;; + -A|--query) + local prefix=; [[ $cur == *,* ]] && prefix="${cur%,*}," + COMPREPLY=( $( compgen -P "$prefix" -W '$( "$1" --help | \ + sed -e "s/|/ /g" -ne "s/.*QUERY := {\([^}]*\)}.*/\1/p" )' \ + -- "${cur##*,}" ) ) + return + ;; + -D|--diag|-F|--filter) + _filedir + return + ;; + esac + + $split && return + + if [[ $cur == -* ]]; then + COMPREPLY=( $( compgen -W '$( _parse_help "$1" )' -- "$cur" ) ) + [[ $COMPREPLY == *= ]] && compopt -o nospace + fi +} && +complete -F _ss ss + +# ex: ts=4 sw=4 et filetype=sh diff --git a/test/completion/ss.exp b/test/completion/ss.exp new file mode 100644 index 00000000..f8703884 --- /dev/null +++ b/test/completion/ss.exp @@ -0,0 +1 @@ +assert_source_completions ss diff --git a/test/lib/completions/ss.exp b/test/lib/completions/ss.exp new file mode 100644 index 00000000..f6e711c6 --- /dev/null +++ b/test/lib/completions/ss.exp @@ -0,0 +1,21 @@ +proc setup {} { + save_env +} + + +proc teardown {} { + assert_env_unmodified +} + + +setup + + +assert_complete_any "ss -" +sync_after_int + +assert_complete_any "ss -A " +sync_after_int + + +teardown -- cgit v1.2.1