commit 03a3dcafc7cc0a7855e9e38e73c5b7dc6b55977b Author: Jim Myhrberg Date: Mon Jul 31 11:38:04 2017 +0100 Initial commit diff --git a/plain.zsh-theme b/plain.zsh-theme new file mode 100644 index 0000000..7c7790a --- /dev/null +++ b/plain.zsh-theme @@ -0,0 +1,23 @@ +PROMPT='%n@%m %~$(check_git_prompt_info)$ %{$reset_color%}' + +local return_code="%(?..%{$fg[cyan]%}%? ↵%{$reset_color%})" +RPROMPT="${return_code}" + +ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[cyan]%}(" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}*%{$fg[cyan]%})%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[cyan]%})%{$fg[blue]%}" + + +# Git sometimes goes into a detached head state. git_prompt_info doesn't +# return anything in this case. So wrap it in another function and check +# for an empty string. -- Brorrowed from Soliah.zsh-theme :) +function check_git_prompt_info() { + if git rev-parse --git-dir > /dev/null 2>&1; then + if [[ -z $(git_prompt_info) ]]; then + echo "%{$fg[cyan]%}(detached%{$fg[magenta]%}*%{$fg[cyan]%})%{$reset_color%}" + else + echo "$(git_prompt_info)" + fi + fi +}