summaryrefslogtreecommitdiff
path: root/debian/bash_completion/contrib/p4
diff options
context:
space:
mode:
Diffstat (limited to 'debian/bash_completion/contrib/p4')
-rw-r--r--debian/bash_completion/contrib/p454
1 files changed, 54 insertions, 0 deletions
diff --git a/debian/bash_completion/contrib/p4 b/debian/bash_completion/contrib/p4
new file mode 100644
index 0000000..d561722
--- /dev/null
+++ b/debian/bash_completion/contrib/p4
@@ -0,0 +1,54 @@
+# Perforce completion by Frank Cusack <frank@google.com>
+#
+# $Id: p4,v 1.3 2003/12/31 08:22:37 ianmacd Exp $
+
+_p4()
+{
+ local cur prev prev2 p4commands p4filetypes
+
+ COMPREPLY=()
+ cur=${COMP_WORDS[COMP_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
+}
+complete -F _p4 -o default p4 g4