diff options
Diffstat (limited to 'contrib/p4')
-rw-r--r-- | contrib/p4 | 97 |
1 files changed, 51 insertions, 46 deletions
@@ -1,55 +1,60 @@ -# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*- -# ex: ts=8 sw=8 noet filetype=sh -# # Perforce completion by Frank Cusack <frank@google.com> +have p4 && _p4() { - local cur prev prev2 p4commands p4filetypes + local cur prev prev2 p4commands p4filetypes - COMPREPLY=() - cur=`_get_cword` - prev=${COMP_WORDS[COMP_CWORD-1]} + 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" + # 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 + 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 -} + 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 |