Mercurial > hg > config
view .bash_overrides @ 511:d7afa7a0ea3e
new
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Fri, 06 Sep 2013 17:11:33 -0700 |
parents | 32b202653753 |
children | ed193fcaa0dc |
line wrap: on
line source
#!/bin/bash ### command overrides too elaborate for aliases cd() { ENV="" if [ -n "${VIRTUAL_ENV}" ] then ENV="${VIRTUAL_ENV}" fi if [ -d "$@" ] then command cd "$@" else if [ -e "$@" ] then command cd `dirname "$@"` else if [[ "$@" == "^" && -n "${ENV}" ]] then command cd "${ENV}" else command cd "$@" fi fi fi # handle ENVs if [ -e "bin/activate" ] then if [ -n "${ENV}" ] then if [ "${ENV}" != "${PWD}" ] then if [[ -n "`type -t deactivate`" ]] then deactivate fi else return fi fi source "bin/activate" fi ENV="" if [ -n "${VIRTUAL_ENV}" ] then ENV="${VIRTUAL_ENV}" fi if [ -n "${ENV}" ] then FULLPWD=$(python -c 'import os; print os.getcwd()') if (( ! `expr match "${FULLPWD}" "${ENV}"` )) then if [[ -n "`type -t deactivate`" ]] then deactivate fi fi fi unset ENV } function emacsclient() { command emacsclient $@ > /dev/null & } function find { if (( ! $# )) then command find return fi if [ -d $1 ] then DIR="$1" shift else DIR="$PWD" fi if [ "$#" == "1" ] then `which find` -L "$PWD" -not -path '*.svn*' -iname "$1" return 0 fi COMMAND="`which find` -L \"$DIR\" -not -path '*.svn*' $@" #echo $COMMAND # for debugging `which find` -L "$DIR" -not -path '*.svn*' "$@" } # make hg safer since $HOME is versioned function hg { if [[ "$(command hg root)" == "${HOME}" ]] then if [[ "$*" == st* ]] then command hg st -q return fi if [[ "$*" == res* ]] || [[ "$*" == pur* ]] then echo "Aborting \'hg $*\'; hg root is ${HOME}!" return 1 fi fi command hg "$@" } function lsdiff { # TODO: extract this general pattern as a bash "decorator" if expr "$1" : 'http[s]\?://.*' &> /dev/null then curl --location "$1" 2> /dev/null | command lsdiff else command lsdiff "$@" fi } function unlink { command unlink `echo $@ | sed 's/\/$//g'` }