# Perforce completion by Frank Cusack # # $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