61 lines
1.6 KiB
Plaintext
Raw Normal View History

# Perforce completion by Frank Cusack <frank@google.com>
2009-06-08 21:22:43 +03:00
have p4 &&
_p4()
{
2009-10-04 19:42:50 +02:00
local cur prev prev2 p4commands p4filetypes
2009-10-04 19:42:50 +02:00
COMPREPLY=()
cur=`_get_cword`
prev=${COMP_WORDS[COMP_CWORD-1]}
2009-10-04 19:42:50 +02:00
# 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"
2009-10-04 19:42:50 +02:00
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
2009-10-04 19:42:50 +02:00
return 0
2009-06-08 21:22:43 +03:00
} &&
2009-02-05 10:11:24 +01:00
complete -F _p4 $default p4 g4
# Local variables:
# mode: shell-script
2009-10-04 19:42:50 +02:00
# sh-basic-offset: 4
# sh-indent-comment: t
2009-10-04 19:42:50 +02:00
# indent-tabs-mode: nil
# End:
2009-10-04 19:42:50 +02:00
# ex: ts=4 sw=4 et filetype=sh