# Perforce completion -*- shell-script -*- # by Frank Cusack proc _p4 { local cur prev words cword _init_completion || return local p4commands p4filetypes # rename isn't really a command setvar p4commands = "$( p4 help commands 2>/dev/null | awk 'NF>3 {print $1}' )" setvar p4filetypes = ""ctext cxtext ktext kxtext ltext tempobj ubinary \ uresource uxbinary xbinary xltext xtempobj xtext \ text binary resource"" if [[ $cword -eq 1 ]] { setvar COMPREPLY = ''( $( compgen -W "$p4commands" -- "$cur" ) ) } elif [[ $cword -eq 2 ]] { case (prev) { help { setvar COMPREPLY = ''( $( compgen -W "simple commands environment filetypes jobview revisions usage views $p4commands" \ -- "$cur" ) ) } admin { setvar COMPREPLY = ''( $( compgen -W "checkpoint stop" -- "$cur" ) ) } * { } } } elif [[ $cword -gt 2 ]] { case (prev) { -t { case{ add|edit|reopen { setvar COMPREPLY = ''( $( compgen -W "$p4filetypes" -- "$cur" ) ) } * { } } } * { } } } return 0 } && complete -F _p4 -o default p4 g4 # ex: ts=4 sw=4 et filetype=sh