summaryrefslogtreecommitdiff
path: root/bashrc
blob: 85600372dcc4d5d3d1645acf434ee2c00574f67e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
body() {
    IFS= read -r header
    printf '%s\n' "$header"
    "$@"
}

safedir() {
	echo "$@ $(pwd)" | md5sum | cut -b-32
}

diffWith() {
	diffCmd=$1
	diffFile="/tmp/diffwith-$(safedir $diffCmd).patch"
	$diffCmd > $diffFile
	dos2unix -q $diffFile
	( gvim -f $diffFile ; rm $diffFile ) &
}

cov() {
	src=${1}
	src=$(realpath ${src:=$(pwd)})
	cov=/tmp/cov.$$
	all=$cov/all
	key=$cov/key
	html=$src/bin/cov/html
	test -d $src || ( echo "$src not a directory" && return 1 )
	echo "Cleaning $src"
	find $src -name "*.gcda" -type f -delete
	find $src -name "*.run" -type f -delete
	echo "Building in ${src}"
	build $src -d0 variant=coverage
	echo "Extracting coverage data"
	mkdir -p $cov
	lcov -d $src -c -o $all --derive-func-data --no-external -b $src -q
	lcov --remove $all "*/bin/*" -o $key -q
	echo "Generating HTML"
	mkdir -p $html
	genhtml $key -o $html -s -k -t $src --demangle-cpp --sort --function-coverage -q
	rm -rf $cov
	[ "${2}" != "0" ] && xdg-open file://$src/bin/cov/html/index.html
}

PATH="/usr/lib/ccache/bin:$PATH"
CORES=$(grep core\ id /proc/cpuinfo | sort -u | wc -l)
alias :e="gvim"
alias ChuckNorris="sudo"
alias l="/bin/ls -lhvF --color"
alias grep="/bin/grep -I --color=auto --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.svn --exclude-dir=bin --exclude=tags --exclude-dir=docs/html"
alias emerge-state='watch "( ps -fC sandbox ; tail /var/log/emerge.log /var/tmp/portage/*/*/temp/build.log 2> /dev/null )"'
alias build='b2 -j$CORES $TARGET'
alias autobuild="build ; while inotifywait -qr . --exclude '/bin/|\.sw.|/\.git/' -e modify ; do clear ; printf '\e[3J' ; build ; done"
# CVS
export CVSROOT=":pserver:danielg@hawking.howden.press.net:/usr/local/src/CVS_SOURCE_TREE"
cvsd() {
	diffWith "cvs diff -wubB $@"
}
# SVN
svnd() {
	diffWith "svn diff --force --no-diff-deleted -x -b $@"
}
# Git
gitd() {
	diffWith "git diff --no-prefix --relative -b -M $@"
}
gitdc() {
	diffWith "git diff --cached --no-prefix --relative -b -M $@"
}
alias gst='git status'
# Hg
hgd() {
	diffWith "hg diff -p -b $@"
}
# Java
PATH=$JAVA_HOME/bin:$PATH
export CATALINA_HOME="/usr/share/tomcat-5.5/"
export M2_HOME="/usr/share/maven-bin-3.0"
export NPM_PACKAGES="${HOME}/.npm-packages"
export NODE_PATH="$NPM_PACKAGES/lib64/node_modules:$NODE_PATH"
export MANPATH="$(manpath):$NPM_PACKAGES/share/man"
export PATH="$PATH:$NPM_PACKAGES/bin"

if [ "$(awk '$5=="/" {print $1}' </proc/1/mountinfo)" != "$(awk '$5=="/" {print $1}' </proc/$$/mountinfo)" ]; then
	# chroot
	if [ -e /etc/redhat-release ]; then
		ROOT=$(cat /etc/redhat-release)
	else
		ROOT="unknown chroot"
	fi
	PS1='\[\033[01;32m\]$ROOT \[\033[01;34m\]\w \$\[\033[00m\] '
	PROMPT_COMMAND='echo -ne "\033]0;${PWD/#$HOME/\~} ($ROOT)\007"'
elif [ -z "$SSH_CONNECTION" ] ; then
	# local
	PS1='\[\033[01;34m\]\w \$\[\033[00m\] '
	PROMPT_COMMAND='echo -ne "\033]0;${PWD/#$HOME/\~}\007"'
else
	# ssh
	PS1='\[\033[01;32m\]\h \[\033[01;34m\]\w \$\[\033[00m\] '
	PROMPT_COMMAND='echo -ne "\033]0;${PWD/#$HOME/\~} ($HOSTNAME)\007"'
fi
PATH=$PATH:~/files/scripts/

export XAUTHORITY=~/.Xauthority
export HISTSIZE=15000
export HISTCONTROL=ignoredups
export LESSCHARSET=utf-8
export EDITOR="gvim -f"
shopt -s cdspell
shopt -s checkwinsize
shopt -s no_empty_cmd_completion

# Mounts
alias mnthome="sshfs randomdan@randomdan.homeip.net:/home/randomdan ~/home -o reconnect"
alias mntpen="sshfs danielg@penumbra.howden.press.net:/usr/local/home/danielg ~/penumbra -o reconnect"
alias mnthawk="sshfs danielg@hawking.howden.press.net:/usr/local/workarea/danielg ~/hawking -o reconnect"
alias mntasc="sshfs racing@ascot.howden.press.net:/usr/local/production/racing ~/ascot/ -o reconnect"
alias mnteps="sshfs racing@epsom.howden.press.net:/usr/local/production/racing ~/epsom/ -o reconnect"
alias mntasct="sshfs racing@ascot-test.howden.press.net:/usr/local/production/racing ~/ascot-test/ -o reconnect"
alias mntripon="sshfs racing@ripon.howden.press.net:/usr/local/production/racing ~/ripon/ -o reconnect"
alias mntldr="sshfs loaders@vbr-loader-pn1.panews.press.net:/isilon/pressnet_prod/loader ~/loaders -o reconnect"
alias mntsldr="sshfs loaders@vbr-loader-pn0.panews.press.net:/isilon/pressnet_prod/loader ~/loaders -o reconnect"
# SSH
alias hawk="ssh danielg@hawking.howden.press.net"
alias pen="ssh danielg@penumbra.howden.press.net"
alias asct="ssh racing@ascot-test.howden.press.net"
alias asc="ssh racing@ascot.howden.press.net"
alias eps="ssh racing@epsom.howden.press.net"
alias ldr="ssh loaders@vbr-loader-pn1.panews.press.net"
alias sldr="ssh loaders@vbr-loader-pn0.panews.press.net"

#cd