summaryrefslogtreecommitdiff
path: root/completions/cvsps
diff options
context:
space:
mode:
Diffstat (limited to 'completions/cvsps')
-rw-r--r--completions/cvsps69
1 files changed, 69 insertions, 0 deletions
diff --git a/completions/cvsps b/completions/cvsps
new file mode 100644
index 00000000..257437bc
--- /dev/null
+++ b/completions/cvsps
@@ -0,0 +1,69 @@
+# bash completion for cvsps
+
+have cvsps &&
+_cvsps()
+{
+ COMPREPLY=()
+ local cur prev
+ _get_comp_words_by_ref -n : cur prev
+
+ case $prev in
+ -h|-z|-f|-d|-l|--diff-opts|--debuglvl)
+ return 0
+ ;;
+ -s)
+ COMPREPLY=( $( compgen -W "$( cvsps 2>/dev/null |
+ awk '/^PatchSet:?[ \t]/ { print $2 }' )" -- "$cur" ) )
+ return 0
+ ;;
+ -a)
+ COMPREPLY=( $( compgen -W "$( cvsps 2>/dev/null |
+ awk '/^Author:[ \t]/ { print $2 }' )" -- "$cur" ) )
+ return 0
+ ;;
+ -b)
+ COMPREPLY=( $( compgen -W "$( cvsps 2>/dev/null |
+ awk '/^Branch:[ \t]/ { print $2 }' )" -- "$cur" ) )
+ return 0
+ ;;
+ -r)
+ COMPREPLY=( $( compgen -W "$( cvsps 2>/dev/null |
+ awk '/^Tag:[ \t]+[^(]/ { print $2 }' )" -- "$cur" ) )
+ return 0
+ ;;
+ -p)
+ _filedir -d
+ return 0
+ ;;
+ --test-log)
+ _filedir
+ return 0
+ ;;
+ -Z)
+ COMPREPLY=( $( compgen -W '1 2 3 4 5 6 7 8 9' -- "$cur" ) )
+ return 0
+ ;;
+ --root)
+ type _cvs_roots &>/dev/null && _cvs_roots
+ return 0
+ ;;
+ esac
+
+ if [[ "$cur" == -* ]] ; then
+ COMPREPLY=( $( compgen -W '-h -x -u -z -g -s -a -f -d -b -l -r -p -v \
+ -t --norc --summary-first --test-log --diff-opts --bkcvs --no-rlog \
+ --cvs-direct --no-cvs-direct --debuglvl -Z --root -q -A' \
+ -- "$cur" ) )
+ else
+ type _cvs_roots &>/dev/null && _cvs_roots
+ fi
+} &&
+complete -F _cvsps cvsps
+
+# 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