diff options
Diffstat (limited to 'debian/bash_completion/contrib/p4')
-rw-r--r-- | debian/bash_completion/contrib/p4 | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/debian/bash_completion/contrib/p4 b/debian/bash_completion/contrib/p4 new file mode 100644 index 0000000..d561722 --- /dev/null +++ b/debian/bash_completion/contrib/p4 @@ -0,0 +1,54 @@ +# Perforce completion by Frank Cusack <frank@google.com> +# +# $Id: p4,v 1.3 2003/12/31 08:22:37 ianmacd Exp $ + +_p4() +{ + local cur prev prev2 p4commands p4filetypes + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + # rename isn't really a command + p4commands="$( p4 help commands | awk 'NF>3 {print $1}' )" + p4filetypes="ctext cxtext ktext kxtext ltext tempobj ubinary \ + uresource uxbinary xbinary xltext xtempobj xtext \ + text binary resource" + + if [ $COMP_CWORD -eq 1 ]; then + COMPREPLY=( $( compgen -W "$p4commands" -- $cur ) ) + elif [ $COMP_CWORD -eq 2 ]; then + case "$prev" in + help) + COMPREPLY=( $( compgen -W "simple commands \ + environment filetypes jobview revisions \ + usage views $p4commands" -- $cur ) ) + ;; + admin) + COMPREPLY=( $( compgen -W "checkpoint stop" -- $cur ) ) + ;; + *) + ;; + esac + elif [ $COMP_CWORD -gt 2 ]; then + prev2=${COMP_WORDS[COMP_CWORD-2]} + case "$prev" in + -t) + case "$prev2" in + add|edit|reopen) + COMPREPLY=( $( compgen -W "$p4filetypes" \ + -- $cur) ) + ;; + *) + ;; + esac + ;; + *) + ;; + esac + fi + + return 0 +} +complete -F _p4 -o default p4 g4 |