# Perforce completion by Frank Cusack have p4 && _p4() { local cur prev prev2 p4commands p4filetypes COMPREPLY=() cur=`_get_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 $default p4 g4 # 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