Skip to content

Instantly share code, notes, and snippets.

@Ivoz
Created September 7, 2012 03:15
Show Gist options
  • Save Ivoz/3662779 to your computer and use it in GitHub Desktop.
Save Ivoz/3662779 to your computer and use it in GitHub Desktop.
#!/bin/bash
# Color shortcuts
co_black='\[\e[30m\]'
co_red='\[\e[31m\]'
co_green='\[\e[32m\]'
co_yellow='\[\e[33m\]'
co_blue='\[\e[34m\]'
co_purple='\[\e[35m\]'
co_cyan='\[\e[36m\]'
co_white='\[\e[37m\]'
co_reset='\[\e[0m\]'
function return_char {
if [[ $ret -eq 0 ]]; then
echo $co_cyan$ret$co_reset
else
echo $co_red$ret$co_reset
fi
}
function scm_branch {
if git branch &>/dev/null; then
git branch | grep '*' | cut -c 3-
fi
if hg root &>/dev/null; then
hg summary | head -n 2 | tail -n 1 | cut -d ' ' -f2
fi
}
function prompt_char {
git branch &>/dev/null && echo '±' && return
hg root &>/dev/null && echo '☿' && return
echo '○'
}
function user_color {
if [[ $EUID -eq 0 ]]; then
echo $co_red$1$co_reset
elif [[ -n $SUDO_USER ]]; then
echo $co_yellow$1$co_reset
else
echo $co_purple$1$co_reset
fi
}
# Put the time in the corner
#timecorner="\[\033[s\]\[\033[1;\$((COLUMNS-4))f\]\$(date +%H:%M)\[\033[u\]"
# Set prompt command
PROMPT_COMMAND='ret=$?;PS1=" $(return_char) $co_blue\A$co_reset $(user_color $USER)@\h $co_blue$(scm_branch)\n $co_green\w$co_reset $(user_color $(prompt_char)) "'
PS2='> '
PS3='> '
PS4='+ '
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment