]> git.ozlabs.org Git - patchwork/commitdiff
pwclient: add bash completion for project names
authorYann E. MORIN <yann.morin.1998@free.fr>
Tue, 1 Jul 2014 18:14:25 +0000 (20:14 +0200)
committerJeremy Kerr <jk@ozlabs.org>
Fri, 4 Jul 2014 00:37:46 +0000 (08:37 +0800)
Add initial bash-completion, which so far only completes on the
project names.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
apps/patchwork/bin/bash_completion [new file with mode: 0644]

diff --git a/apps/patchwork/bin/bash_completion b/apps/patchwork/bin/bash_completion
new file mode 100644 (file)
index 0000000..a120a76
--- /dev/null
@@ -0,0 +1,29 @@
+# Autocompletion for bash.
+
+_pwclient() {
+    local cur prev words cword split
+
+    if declare -f _init_completion >/dev/null; then
+        _init_completion -s || return
+    else
+        cur=$(_get_cword)
+        prev=${COMP_WORDS[COMP_CWORD-1]}
+    fi
+
+    case "${COMP_CWORD}" in
+        0|1)    return 0;;
+    esac
+
+    projects="$(sed -r -e '/\[options\]/d;' \
+                       -e '/^\[(.+)\]$/!d;' \
+                       -e 's//\1/;' ~/.pwclientrc 2>/dev/null)"
+
+    case "${prev}" in
+        -p) COMPREPLY=( $(compgen -W "${projects}" -- "${cur}" ) );;
+    esac
+
+    return 0
+}
+complete -F _pwclient pwclient
+
+# vim: ft=sh