56 lines
1.2 KiB
Plaintext
Raw Normal View History

# -*- 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>
_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
}
2009-02-05 10:11:24 +01:00
complete -F _p4 $default p4 g4