diff --git a/themes/illenseer.zsh-theme b/themes/illenseer.zsh-theme new file mode 100644 index 000000000..a618c3e5e --- /dev/null +++ b/themes/illenseer.zsh-theme @@ -0,0 +1,61 @@ +# ------------------------------------------------------------------------ +# Nils Pascal Illenseer oh-my-zsh theme (based on Juan G. Hurtado) +# (Needs Git plugin for current_branch method) +# ------------------------------------------------------------------------ + +# Color shortcuts +RED=$fg[red] +YELLOW=$fg[yellow] +GREEN=$fg[green] +WHITE=$fg[white] +BLUE=$fg[blue] +RED_BOLD=$fg_bold[red] +YELLOW_BOLD=$fg_bold[yellow] +GREEN_BOLD=$fg_bold[green] +WHITE_BOLD=$fg_bold[white] +BLUE_BOLD=$fg_bold[blue] +RESET_COLOR=$reset_color + +# Format for git_prompt_info() +ZSH_THEME_GIT_PROMPT_PREFIX="" +ZSH_THEME_GIT_PROMPT_SUFFIX="" + +# Format for parse_git_dirty() +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$RED%}✖" +ZSH_THEME_GIT_PROMPT_CLEAN=" %{$GREEN%}✔" + +# Format for git_prompt_status() +ZSH_THEME_GIT_PROMPT_UNMERGED=" %{$RED%}unmerged" +ZSH_THEME_GIT_PROMPT_DELETED=" %{$RED%}deleted" +ZSH_THEME_GIT_PROMPT_RENAMED=" %{$YELLOW%}renamed" +ZSH_THEME_GIT_PROMPT_MODIFIED=" %{$YELLOW%}modified" +ZSH_THEME_GIT_PROMPT_ADDED=" %{$GREEN%}added" +ZSH_THEME_GIT_PROMPT_UNTRACKED=" %{$WHITE%}untracked" + +# Format for git_prompt_ahead() +ZSH_THEME_GIT_PROMPT_AHEAD=" %{$RED%}!" + +# Format for git_prompt_long_sha() and git_prompt_short_sha() +ZSH_THEME_GIT_PROMPT_SHA_BEFORE=" %{$WHITE%}[%{$YELLOW%}" +ZSH_THEME_GIT_PROMPT_SHA_AFTER="%{$WHITE%}]" + +# Checks if working tree is dirty +git_dirty_bit_info() { + ref=$(git symbolic-ref HEAD 2> /dev/null) || return + if [[ -n $(git status -s 2> /dev/null) ]]; then + echo "$ZSH_THEME_GIT_PROMPT_DIRTY" + else + echo "$ZSH_THEME_GIT_PROMPT_CLEAN" + fi +} + +# Prompt format +if [[ `id -u` -eq 0 ]]; then +PROMPT='%{$RED_BOLD%}%n@%m %{$WHITE_BOLD%}%~%u$(git_dirty_bit_info)$(git_prompt_ahead)%{$RESET_COLOR%} +%{$WHITE_BOLD%}❯%{$RESET_COLOR%} ' +RPROMPT='%{$GREEN_BOLD%}$(current_branch)$(git_prompt_short_sha)$(git_prompt_status)%{$RESET_COLOR%}' +else +PROMPT='%{$GREEN_BOLD%}%n@%m %{$WHITE_BOLD%}%~%u$(git_dirty_bit_info)$(git_prompt_ahead)%{$RESET_COLOR%} +%{$WHITE_BOLD%}❯%{$RESET_COLOR%} ' +RPROMPT='%{$GREEN_BOLD%}$(current_branch)$(git_prompt_short_sha)$(git_prompt_status)%{$RESET_COLOR%}' +fi