mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-22 05:40:08 +00:00
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).
This commit is contained in:
parent
83309294df
commit
14a1ce80bb
2 changed files with 42 additions and 0 deletions
|
@ -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
|
||||||
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
|
||||||
}
|
}
|
||||||
|
|
40
themes/lazyatom.zsh-theme
Normal file
40
themes/lazyatom.zsh-theme
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
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
|
||||||
|
}
|
Loading…
Reference in a new issue