aboutsummaryrefslogtreecommitdiff
path: root/dot-bashrc
blob: ec7af07fe51bc96a57a600c1910bea807c2d1757 (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
#!/bin/bash
#
# ~/.bashrc
#

# If not running interactively, don't do anything
[[ $- != *i* ]] && return

# Disable suspend/resume (ctrl-s, ctrl-q)
stty -ixon

# Enable extended globbing
shopt -s extglob

# History settings
HISTTIMEFORMAT="%F %T "
HISTCONTROL=ignoredups

# Number of lines to store in RAM
HISTSIZE=5000

# Number of lines to store on file
HISTFILESIZE=10000

# Append history instead of overwriting
shopt -s histappend

# Immediately add history instead of end of session
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"

# Prompt
red="$(tput setaf 9)"
green="$(tput setaf 10)"
blue="$(tput setaf 12)"
yellow="$(tput setaf 11)"
reset="$(tput sgr0)"

host="\[$red\]\h\[$reset\]"
user="\[$blue\]\u\[$reset\]"
dir="\[$yellow\]\w\[$reset\]"
function branch() {
	branch="$(git branch 2>/dev/null | sed -n -E 's/^\* (.*)/\1/p')"
	[ -n "$branch" ] && printf " on \001%s\002%s\001%s\002" "$green" "$branch" "$reset"
}
export PS1="[$user@$host in $dir\$(branch)] "