40 lines
1,018 B
Bash
40 lines
1,018 B
Bash
git_prompt_info() {
|
|
branch=$(git symbolic-ref HEAD 2> /dev/null) || return
|
|
git_status="$(git status 2> /dev/null)"
|
|
state=""
|
|
case $git_status in
|
|
*Changed\ but\ not\ updated*)
|
|
state="%{$fg[red]%}⚡"
|
|
;;;
|
|
*Untracked\ files*)
|
|
state="%{$fg[red]%}⚡"
|
|
;;;
|
|
esac
|
|
|
|
remote=""
|
|
case $git_status in
|
|
*Your\ branch\ is\ ahead*)
|
|
remote="%{$fg[yellow]%}↑"
|
|
;;;
|
|
|
|
*Your\ branch\ is\ behind*)
|
|
remote="%{$fg[yellow]%}↓"
|
|
;;;
|
|
|
|
"Your branch and")
|
|
remote="%{$fg[yellow]%}"
|
|
;;;
|
|
esac
|
|
echo " %{$fg[yellow]%}(${branch#refs/heads/})${remote}${state}"
|
|
}
|
|
|
|
function oh_my_zsh_theme_precmd() {
|
|
local previous_return_value=$?;
|
|
prompt="%{$fg[light_gray]%}%c%{$fg[yellow]%}$(git_prompt_info)%{$fg[white]%}"
|
|
if test $previous_return_value -eq 0
|
|
then
|
|
export PROMPT="%{$fg[green]%}➜ %{$fg[white]%}${prompt}%{$fg[green]%} $%{$fg[white]%} "
|
|
else
|
|
export PROMPT="%{$fg[red]%}➜ %{$fg[white]%}${prompt}%{$fg[red]%} $%{$fg[white]%} "
|
|
fi
|
|
} |