# ~/.bashrc: executed by bash(1) for non-login shells. # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) # for examples # If not running interactively, don't do anything [ -z "$PS1" ] && return # don't put duplicate lines in the history. See bash(1) for more options export HISTCONTROL=ignoredups # check the window size after each command and, if necessary, # update the values of LINES and COLUMNS. shopt -s checkwinsize # make less more friendly for non-text input files, see lesspipe(1) [ -x /usr/bin/lesspipe ] && eval "$(lesspipe)" # set a fancy prompt (non-color, unless we know we "want" color) case "$TERM" in xterm-color) PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' ;; *) PS1='\u@\h:\w\$ ' ;; esac # Comment in the above and uncomment this below for a color prompt # PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' # If this is an xterm set the title to user@host:dir case "$TERM" in xterm*|rxvt*) PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"' ;; *) ;; esac # Alias definitions. # You may want to put all your additions into a separate file like # ~/.bash_aliases, instead of adding them here directly. # See /usr/share/doc/bash-doc/examples in the bash-doc package. if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi # some more ls aliases alias ll='ls -l' alias la='ls -A' alias l='ls -CF' # enable programmable completion features (you don't need to enable # this, if it's already enabled in /etc/bash.bashrc and /etc/profile # sources /etc/bash.bashrc). if [ -f /etc/bash_completion ]; then . /etc/bash_completion fi function parse_git_branch { git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/' } function parse_git_dirty { git diff --quiet || echo "⚡" } function parse_git { local branch=$(parse_git_branch) if [[ -n "$branch" ]]; then echo " <$branch$(parse_git_dirty)>" fi } function prompt { local LIGHT_RED="\[\033[1;31m\]" local NORMAL="\[\033[00m\]" local BOLD="\[\033[1m\]" local OFF="\[\033[m\]" # PS1="${BOLD}-- \t --${OFF}\n${BOLD}[\u@\h \W]\$${OFF} " PS1="${BOLD}[\u@\h \W${LIGHT_RED}$(parse_git)${OFF}${BOLD}]\$${OFF} " PS2="${BOLD}>>${OFF} " } prompt # add-ons shopt -s histappend PROMPT_COMMAND="history -a; prompt" export HISTSIZE=1000 export HISTFILESIZE=1000 export GREP_OPTIONS='--color=auto'