#/bin/zsh switchto() { export OLD_WEBKIT_DIR=$WEBKIT_DIR export WEBKIT_DIR=~/Projects/WebKit.$1 export WEBKIT_OUTPUTDIR=$WEBKIT_DIR/OpenSource/WebKitBuild export PERP_BUILD_PATH=$WEBKIT_OUTPUTDIR if [[ "$OLD_WEBKIT_DIR" == "" ]]; then export PATH=$PATH:$WEBKIT_DIR/Internal/Tools/Scripts:$WEBKIT_DIR/OpenSource/Tools:$WEBKIT_DIR/OpenSource/Tools/Scripts export CDPATH=$CDPATH:$WEBKIT_DIR/OpenSource:$WEBKIT_DIR/OpenSource/Source:$WEBKIT_DIR/Internal else export PATH=$(echo $PATH | sed -e "s;$OLD_WEBKIT_DIR;$WEBKIT_DIR;g") export CDPATH=$(echo $CDPATH | sed -e "s;$OLD_WEBKIT_DIR;$WEBKIT_DIR;g") fi export OLD_WEBKIT_DIR= alias opensource="cd $WEBKIT_DIR/OpenSource" alias internal="cd $WEBKIT_DIR/Internal" } _webkit_dirs() { compadd $( for dir in ~/Projects/WebKit.*; do echo ${dir##*.}; done ) } _switchto() { _arguments '1:dir:_webkit_dirs' } compdef _switchto switchto if [[ $( has subl ) == 'yes' ]]; then export GUI_EDITOR="subl -w" elif [[ $( has bbedit ) == 'yes' ]]; then export GUI_EDITOR="bbedit -w" elif [[ $( has mate_wait ) == 'yes' ]]; then export GUI_EDITOR="mate_wait" else export GUI_EDITOR="vim" fi if [[ -z "$SSH_TTY" ]]; then export EDITOR="$GUI_EDITOR" export SVN_LOG_EDITOR="$GUI_EDITOR" export GIT_SEQUENCE_EDITOR="$GUI_EDITOR" else export EDITOR=vim export SVN_LOG_EDITOR=vim export GIT_SEQUENCE_EDITOR=vim fi switchto git