Created
December 13, 2013 19:21
-
-
Save joemcgill/7949694 to your computer and use it in GitHub Desktop.
Custom bash prompt, inspired by Paul Irish's dotfiles repo.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# @gf3’s Sexy Bash Prompt, inspired by “Extravagant Zsh Prompt” | |
# Shamelessly copied from https://github.com/gf3/dotfiles | |
default_username='joemcgill' | |
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 190) | |
PURPLE=$(tput setaf 141) | |
WHITE=$(tput setaf 256) | |
else | |
MAGENTA=$(tput setaf 5) | |
ORANGE=$(tput setaf 4) | |
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" | |
GREEN="\033[1;32m" | |
PURPLE="\033[1;35m" | |
WHITE="\033[1;37m" | |
BOLD="" | |
RESET="\033[m" | |
fi | |
function git_info() { | |
# check if we're in a git repo | |
git rev-parse --is-inside-work-tree &>/dev/null || return | |
# quickest check for what branch we're on | |
branch=$(git symbolic-ref -q HEAD | sed -e 's|^refs/heads/||') | |
# check if it's dirty (via github.com/sindresorhus/pure) | |
dirty=$(git diff --quiet --ignore-submodules HEAD &>/dev/null; [ $? -eq 1 ]&& echo -e "*") | |
echo $WHITE" on "$PURPLE$branch$dirty | |
} | |
# Only show username/host if not default | |
function un() { | |
if [ $USER != $default_username ]; then printf "${MAGENTA}$USER ${WHITE}at "; fi | |
} | |
# iTerm Tab and Title Customization and prompt customization | |
# http://sage.ucsc.edu/xtal/iterm_tab_customization.html | |
# Put the string " [bash] hostname::/full/directory/path" | |
# in the title bar using the command sequence | |
# \[\e]2;[bash] \h::\]$PWD\[\a\] | |
# Put the penultimate and current directory | |
# in the iterm tab | |
# \[\e]1;\]$(basename $(dirname $PWD))/\W\[\a\] | |
# Original from prompt from paulirish | |
#PS1="\[${BOLD}${MAGENTA}\]\u \[$WHITE\]at \[$ORANGE\]\h \[$WHITE\]in \[$GREEN\]\w\[$WHITE\]\$([[ -n \$(git branch 2> /dev/null) ]])\[$PURPLE\]\$(git_info)\[$WHITE\]\n\$ \[$RESET\]" | |
PS1="\[${BOLD}\]$(un)\[$ORANGE\]\h \[$WHITE\]in \[$GREEN\]\w\[$WHITE\]\$([[ -n \$(git branch 2> /dev/null) ]])\[$PURPLE\]\$(git_info)\[$WHITE\]\n\$ \[$RESET\]" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment