Commit 14a1ce80 authored by James Adam's avatar James Adam Committed by Robby Russell
Browse files

Added my prompt theme, with a tweak to the core oh-my-zsh to support it. My...

Added my prompt theme, with a tweak to the core oh-my-zsh to support it. My git_prompt_info function not only reports the branch and dirty status, but also whether or not the branch is ahead or behind of the remote, or both. It also switches the prompt colour from green to red if the previous command exited with a non-zero value (i.e. failed).
parent 83309294
...@@ -4,6 +4,7 @@ case "$TERM" in ...@@ -4,6 +4,7 @@ case "$TERM" in
print -Pn "\e]0;%n@%m: $1\a" # xterm print -Pn "\e]0;%n@%m: $1\a" # xterm
} }
precmd () { precmd () {
oh_my_zsh_theme_precmd
print -Pn "\e]0;%n@%m: %~\a" # xterm print -Pn "\e]0;%n@%m: %~\a" # xterm
} }
;; ;;
...@@ -14,6 +15,7 @@ case "$TERM" in ...@@ -14,6 +15,7 @@ case "$TERM" in
print -Pn "\e]0;%n@%m: $1\a" # xterm print -Pn "\e]0;%n@%m: $1\a" # xterm
} }
precmd () { precmd () {
oh_my_zsh_theme_precmd
echo -ne "\ekzsh\e\\" echo -ne "\ekzsh\e\\"
print -Pn "\e]0;%n@%m: %~\a" # xterm print -Pn "\e]0;%n@%m: %~\a" # xterm
} }
......
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
}
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment