Requires a patched powerline font (see https://gist.github.com/baopham/1838072 or https://github.com/Lokaltog/powerline-fonts).
Screenshot using the smyck theme.
Requires a patched powerline font (see https://gist.github.com/baopham/1838072 or https://github.com/Lokaltog/powerline-fonts).
Screenshot using the smyck theme.
_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" |