haiku/data/etc/bash_completion.d/p4

59 lines
1.5 KiB
Bash

# Perforce completion by Frank Cusack <frank@google.com>
have p4 &&
_p4()
{
local cur prev words cword p4commands p4filetypes
COMPREPLY=()
_get_comp_words_by_ref cur prev words cword
# 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 [ $cword -eq 1 ]; then
COMPREPLY=( $( compgen -W "$p4commands" -- "$cur" ) )
elif [ $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 [ $cword -gt 2 ]; then
case $prev in
-t)
case ${words[$cword-2]} in
add|edit|reopen)
COMPREPLY=( $( compgen -W "$p4filetypes" -- "$cur") )
;;
*)
;;
esac
;;
*)
;;
esac
fi
return 0
} &&
complete -F _p4 -o 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