diff --git a/templates/zshrc.zsh-template b/templates/zshrc.zsh-template index af42e5b9f..b57b7c646 100644 --- a/templates/zshrc.zsh-template +++ b/templates/zshrc.zsh-template @@ -54,6 +54,8 @@ ZSH_THEME="robbyrussell" plugins=(git) source $ZSH/oh-my-zsh.sh +source ~/.profile +unsetopt correct_all # User configuration diff --git a/themes/bguthrie.zsh-theme b/themes/bguthrie.zsh-theme new file mode 100644 index 000000000..28b55161d --- /dev/null +++ b/themes/bguthrie.zsh-theme @@ -0,0 +1,27 @@ +# I hate ZSH's correction feature. +setopt nocorrect + +# Found on the ZshWiki: http://zshwiki.org/home/config/prompt +function prompt_char { + git branch >/dev/null 2>/dev/null && echo "%{$fg[blue]%}λ" && return + # These are slow and have therefore been killed: + # svn info >/dev/null 2>/dev/null && echo 'λ' && return + # hg root >/dev/null 2>/dev/null && echo 'λ' && return + echo '$' +} + +ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%}!" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[green]%}?" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +# Parsing git dirty status slows down my prompt tremendously without adding much value. +# This variant of git_prompt_info just grabs the branch. +function git_current_branch() { + ref=$(git symbolic-ref HEAD 2> /dev/null) || return + echo "$ZSH_THEME_GIT_PROMPT_PREFIX%{$fg[blue]%}${ref#refs/heads/}$ZSH_THEME_GIT_PROMPT_SUFFIX" +} + +PROMPT='[%{$fg[magenta]%}%n%{$reset_color%}@%{$fg[yellow]%}%m%{$reset_color%}:%{$fg_bold[green]%}%~%{$reset_color%}$(git_prompt_info)] +$(prompt_char)%{$reset_color%} '