# Perforce completion -*- shell-script -*- # by Frank Cusack _p4() { local cur prev words cword _init_completion || return local p4commands p4filetypes # rename isn't really a command p4commands="$(p4 help commands 2>/dev/null | awk 'NF>3 {print $1}')" p4filetypes="ctext cxtext ktext kxtext ltext tempobj ubinary \ uresource uxbinary xbinary xltext xtempobj xtext \ text binary resource" if ((cword == 1)); then COMPREPLY=($(compgen -W "$p4commands" -- "$cur")) elif ((cword == 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 ((cword > 2)); then case $prev in -t) case ${words[cword - 2]} in add | edit | reopen) COMPREPLY=($(compgen -W "$p4filetypes" -- "$cur")) ;; *) ;; esac ;; *) ;; esac fi } && complete -F _p4 -o default p4 g4 # ex: filetype=sh