diff options
Diffstat (limited to 'completions/cvsps')
-rw-r--r-- | completions/cvsps | 69 |
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 |