-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbashrc
More file actions
89 lines (76 loc) · 2.31 KB
/
bashrc
File metadata and controls
89 lines (76 loc) · 2.31 KB
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
#
# ~/.bashrc
# Custom prompt
# get current branch in git repo
function parse_git_branch() {
BRANCH=`git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'`
if [ ! "${BRANCH}" == "" ]
then
STAT=`parse_git_dirty`
echo "[${BRANCH}${STAT}]"
else
echo ""
fi
}
# get current status of git repo
function parse_git_dirty {
status=`git status 2>&1 | tee`
dirty=`echo -n "${status}" 2> /dev/null | grep "modified:" &> /dev/null; echo "$?"`
untracked=`echo -n "${status}" 2> /dev/null | grep "Untracked files" &> /dev/null; echo "$?"`
ahead=`echo -n "${status}" 2> /dev/null | grep "Your branch is ahead of" &> /dev/null; echo "$?"`
newfile=`echo -n "${status}" 2> /dev/null | grep "new file:" &> /dev/null; echo "$?"`
renamed=`echo -n "${status}" 2> /dev/null | grep "renamed:" &> /dev/null; echo "$?"`
deleted=`echo -n "${status}" 2> /dev/null | grep "deleted:" &> /dev/null; echo "$?"`
bits=''
if [ "${renamed}" == "0" ]; then
bits=">${bits}"
fi
if [ "${ahead}" == "0" ]; then
bits="*${bits}"
fi
if [ "${newfile}" == "0" ]; then
bits="+${bits}"
fi
if [ "${untracked}" == "0" ]; then
bits="?${bits}"
fi
if [ "${deleted}" == "0" ]; then
bits="x${bits}"
fi
if [ "${dirty}" == "0" ]; then
bits="!${bits}"
fi
if [ ! "${bits}" == "" ]; then
echo " ${bits}"
else
echo ""
fi
}
export PS1="\[\e[37m\]\u\[\e[m\]@\h \[\e[35m\]\W\[\e[m\] \[\e[33m\]\`parse_git_branch\`\[\e[m\]\\$ "
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
alias ls='ls --color=auto'
export TERM=screen-256color-bce
#Keychain specific
eval $(keychain --eval --quiet id_rsa)
source ~/.git-completion.bash
export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
#Go specific
export GOPATH=~/go
export PATH=$PATH:~/go/bin
# Set vim mode
set -o vi
#RVM/Ruby settings
export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
export VISUAL="vim"
###Font is Fira Mono with Solarized Dark Higher Contrast for bash
##Aliases
alias todos='grep --exclude-dir=vendor -rnw '.' -e @TODO'
alias gitClean='git branch --merged | grep -v "\*" | grep -v develop | grep -v dev | xargs -n 1 git branch -d && git fetch -p'
#docker
alias dkrm='sudo docker rm'
alias dkrmi='sudo docker rmi'
alias dkps='sudo docker ps'
alias dki='sudo docker images'
# Purge! Purge the nonbelievers!
alias dkprga='dkcd && dkrm $(dkps -q) && dkrmi $(dki)'