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" |