Skip to content

Instantly share code, notes, and snippets.

@DomenicoColandrea86
Forked from ricardobeat/intro.md
Created July 13, 2014 00:35
Show Gist options
  • Save DomenicoColandrea86/aac101cac265926b5dce to your computer and use it in GitHub Desktop.
Save DomenicoColandrea86/aac101cac265926b5dce to your computer and use it in GitHub Desktop.
_ps1_clear() {
echo -n "\e[0m"
}
_ps1_fg() {
echo -n "\e[38;5;$1m"
}
_ps1_bg() {
echo -n "\e[48;5;$1m"
}
_ps1_jobs() {
if [ `jobs | wc -l` -gt 0 ]; then
echo -n "$(_ps1_fg 229)\j⃣"
fi
}
_ps1_star() {
echo -n "$(_ps1_fg $(($RANDOM % 255)))"
}
_parse_git_branch() {
if [[ `git status 2> /dev/null` == *nothing\ to\ commit* ]]; then _ps1_fg 99; else _ps1_fg 32; fi
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
_update_ps1() {
local parts=(
"\n$(_ps1_clear)$(_ps1_bg 236)$(_ps1_fg 236)"
"$(_ps1_fg 246)\w"
"$(_parse_git_branch)"
"$(_ps1_clear)$(_ps1_fg 236)$(_ps1_jobs)"
"\n$(_ps1_star) $(_ps1_clear)"
)
export PS1="${parts[@]}"
}
export PROMPT_COMMAND="_update_ps1"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment