summaryrefslogtreecommitdiff
path: root/bashrc
blob: c2d46066cc5682d51e181c29578b23341931718e (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
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/"
if [ -d /usr/share/maven-bin-* ] ; then
	export M2_HOME=$(ls -d /usr/share/maven-bin-*)
fi
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)
	elif [ -e /etc/gentoo-release ]; then
		ROOT=$(cat /etc/gentoo-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

#cd