Skip to content

Instantly share code, notes, and snippets.

@jeremyvaught
Last active December 28, 2015 13:09
Show Gist options
  • Save jeremyvaught/7505307 to your computer and use it in GitHub Desktop.
Save jeremyvaught/7505307 to your computer and use it in GitHub Desktop.
My custom BASH prompt setup
This incorporates the file directory name I'm in (in purple), as well as the git branch I'm in (in green), in brackets
export PS1='\[\033[01;34m\]\W\[\033[00m\] [$(__git_ps1 "\[\033[01;32m\]%s\[\033[00m\]")] $ '
Colorless
export PS1='\W [$(__git_ps1 "%s")] $ '
Gray bold with green - the one I've settled on for now
export PS1='\[\033[01;02m\]\W\[\033[00m\] $(__git_ps1 "[\[\033[01;32m\]%s\[\033[00m\]]") $ '
For my record, my original prompt is export PS1='\h:\W \u\$'
# I, Jeremy Vaught, found this at https://gist.github.com/luca/6827108
# @gf3’s Sexy Bash Prompt, inspired by “Extravagant Zsh Prompt”
# Shamelessly copied from https://github.com/gf3/dotfiles
# Screenshot: http://i.imgur.com/s0Blh.png
if [[ $COLORTERM = gnome-* && $TERM = xterm ]] && infocmp gnome-256color >/dev/null 2>&1; then
export TERM=gnome-256color
elif infocmp xterm-256color >/dev/null 2>&1; then
export TERM=xterm-256color
fi
if tput setaf 1 &> /dev/null; then
tput sgr0
if [[ $(tput colors) -ge 256 ]] 2>/dev/null; then
MAGENTA=$(tput setaf 9)
ORANGE=$(tput setaf 172)
GREEN=$(tput setaf 149)
OTHER=$(tput setaf 245)
PURPLE=$(tput setaf 141)
WHITE=$(tput setaf 256)
else
MAGENTA=$(tput setaf 5)
ORANGE=$(tput setaf 4)
OTHER=$(tput setaf 3)
GREEN=$(tput setaf 2)
PURPLE=$(tput setaf 1)
WHITE=$(tput setaf 7)
fi
BOLD=$(tput bold)
RESET=$(tput sgr0)
else
MAGENTA="\033[1;31m"
ORANGE="\033[1;33m"
OTHER="\033[0;32m"
GREEN="\033[1;32m"
PURPLE="\033[1;35m"
WHITE="\033[1;37m"
BOLD=""
RESET="\033[m"
fi
export MAGENTA
export ORANGE
export GREEN
export OTHER
export PURPLE
export WHITE
export BOLD
export RESET
function parse_git_dirty() {
[[ $(git status 2> /dev/null | tail -n1) != "nothing to commit, working directory clean" ]] && echo "*"
}
function parse_git_branch() {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/\1$(parse_git_dirty)/"
}
export PS1="\[${BOLD}${OTHER}\]\u\[$WHITE\]@\[$GREEN\]\h \[$WHITE\]| \[$ORANGE\]\W\[$WHITE\]\$([[ -n \$(git branch 2> /dev/null) ]] && echo \" | \")\[$PURPLE\]\$(parse_git_branch)\[$WHITE\]\n> \[$RESET\]"
export PS2="\[$ORANGE\]→ \[$RESET\]"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment