diff --git a/modules/prompt/functions/prompt_apple_setup b/modules/prompt/functions/prompt_apple_setup new file mode 100644 index 00000000..1d8a36eb --- /dev/null +++ b/modules/prompt/functions/prompt_apple_setup @@ -0,0 +1,40 @@ +function toon { + echo -n "" +} + +get_git_dirty() { + git diff --quiet || echo '*' +} + +function prompt_apple_precmd () { + vcs_info +} + +function prompt_apple_setup { + setopt LOCAL_OPTIONS + unsetopt XTRACE KSH_ARRAYS + prompt_opts=(cr percent subst) + + # Load required functions. + autoload -Uz add-zsh-hook + autoload -Uz vcs_info + + autoload -U colors && colors + zstyle ':vcs_info:*' check-for-changes false + zstyle ':vcs_info:*' unstagedstr '%F{red}*' # display this when there are unstaged changes + zstyle ':vcs_info:*' stagedstr '%F{yellow}+' # display this when there are staged changes + zstyle ':vcs_info:*' actionformats \ + '%F{5}%F{5}[%F{2}%b%F{3}|%F{1}%a%c%u%F{5}]%f ' + zstyle ':vcs_info:*' formats \ + '%F{5}%F{5}[%F{2}%b%c%u%F{5}]%f ' + zstyle ':vcs_info:(sv[nk]|bzr):*' branchformat '%b%F{1}:%F{3}%r' + zstyle ':vcs_info:*' enable git cvs svn + + setopt prompt_subst + PROMPT='%{$fg[magenta]%}$(toon)%{$reset_color%} %~/ %{$reset_color%}${vcs_info_msg_0_}%{$reset_color%}' + + autoload -U add-zsh-hook + add-zsh-hook precmd prompt_apple_precmd +} + +prompt_apple_setup "$@"