| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- # - PERFORCE {{{ -
- _p4commands() {
- p4 help commands | sed -re "s/^\t+(\w+)\s+.+/\1/" | sed -re "s/^\s.*//"
- }
- _p4opened() {
- p4 opened 2>/dev/null | sed -rn 's/.*\/(.*\..*)#.*/\1/p'
- }
- _complete_p4(){
- local cur
- cur=${COMP_WORDS[COMP_CWORD]}
- prev=${COMP_WORDS[COMP_CWORD-1]}
- case "$prev" in
- p4|perf)
- COMPREPLY=( $(_p4commands | grep -E "^$cur") );;
- diff|revert|pd)
- COMPREPLY=( $(_p4opened | grep -E "^$cur") );;
- add|delete|edit|pe)
- #COMPREPLY=( $(ls | grep -v "$(p4opened | sed 's/\n/\|/')"));;
- COMPREPLY=( $(uniq -u \
- <( sort <(ls) <(_p4opened) ) \
- | grep -E "^$cur" ) );;
- *)
- COMPREPLY=( $( compgen -f ${COMP_WORDS[COMP_CWORD]} ) );;
- esac
- return 0
- }
- complete -F _complete_p4 p4 perf pe pd
- # - }}} -
|