# profile-required: vim.bashrc if [ ! -z "$SUDO_USER" ]; then export P4USER=$SUDO_USER export P4TICKETS=/tmp/.p4tickets.$SUDO_USER else export P4USER=$USER fi export P4CONFIG=.p4config eval $(alias diff 2>/dev/null | sed 's/^alias diff/P4DIFF/') export P4DIFF="${P4DIFF:-diff} -u" eval $(alias vim 2>/dev/null | sed 's/^alias vim/p4vim/') p4vim=${p4vim:-vim} P4EDITOR="$p4vim" p4script=$(find_target_profile ".vim/script/p4") [ -n "$p4script" ] && P4EDITOR="$p4vim -S '$p4script'" export P4EDITOR if [ -z "$DISPLAY" ]; then p4script=$(find_target_profile ".vim/script/merge") if [ -n "$p4script" ]; then export P4MERGE="$p4vim -S '$p4script'" else export P4MERGE="$p4vim -o -c '3wincmd j' -c 'wincmd L'" fi else export P4MERGE="p4merge" fi unset p4script p4vim # p4: Wrapper around p4 to add some other features. function p4() { if [ -z "$P4OPTSTRING" -a ! "${P4OPTSTRING+xxx}" = "xxx" ]; then local p4=$(which p4) P4OPTSTRING="$(strings $p4 | grep H:)" fi local opts= OPTIND=1 if [ -n "$P4OPTSTRING" ]; then while getopts "$P4OPTSTRING" opt; do [ "$opt" = "?" ] && continue opts="$opts -$opt $OPTARG" done shift $((OPTIND-1)) fi command="$1"; shift custom=${PROFILE_HOME:-~}/opt/p4/p4-"$command" if [ -x "$custom" ]; then "$custom" $opts "$command" ${1+"$@"} else ( exec p4 $opts "$command" ${1+"$@"} ) fi }