This repository has been archived on 2022-03-28. You can view files and clone it, but cannot push or open issues or pull requests.
prezto/modules/prompt/functions/prompt_sorin_setup
2012-08-06 16:52:38 -04:00

59 lines
2.0 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#
# A simple theme that displays relevant, contextual information.
#
# Authors:
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
# Screenshots:
# http://i.imgur.com/aipDQ.png
#
function prompt_sorin_precmd {
setopt LOCAL_OPTIONS
unsetopt XTRACE KSH_ARRAYS
if (( $+functions[git-info] )); then
git-info
fi
}
function prompt_sorin_setup {
setopt LOCAL_OPTIONS
unsetopt XTRACE KSH_ARRAYS
prompt_opts=(cr percent subst)
# Load required functions.
autoload -Uz add-zsh-hook
# Add hook for calling git-info before each command.
add-zsh-hook precmd prompt_sorin_precmd
zstyle ':omz:module:editor' completing '%B%F{red}...%f%b'
zstyle ':omz:module:editor:keymap:primary' overwrite ' %F{red}♺%f'
zstyle ':omz:module:editor:keymap' alternate ' %F{yellow}%f%B%F{red}%f%b%F{red}%f'
zstyle ':omz:module:git' action ':%%B%F{yellow}%s%f%%b'
zstyle ':omz:module:git' added ' %%B%F{green}✚%f%%b'
zstyle ':omz:module:git' ahead ' %%B%F{yellow}⬆%f%%b'
zstyle ':omz:module:git' behind ' %%B%F{yellow}⬇%f%%b'
zstyle ':omz:module:git' branch ':%F{red}%b%f'
zstyle ':omz:module:git' commit ':%F{green}%.7c%f'
zstyle ':omz:module:git' deleted ' %%B%F{red}✖%f%%b'
zstyle ':omz:module:git' modified ' %%B%F{blue}✱%f%%b'
zstyle ':omz:module:git' position ':%F{green}%p%f'
zstyle ':omz:module:git' renamed ' %%B%F{magenta}➜%f%%b'
zstyle ':omz:module:git' stashed ' %%B%F{cyan}✭%f%%b'
zstyle ':omz:module:git' unmerged ' %%B%F{yellow}═%f%%b'
zstyle ':omz:module:git' untracked ' %%B%F{white}◼%f%%b'
zstyle ':omz:module:git' info \
'prompt' ' %F{blue}git%f$(coalesce "%b" "%p" "%c")%s' \
'rprompt' '%A%B%S%a%d%m%r%U%u'
# Define prompts.
PROMPT='%F{cyan}%1~%f${git_info:+${(e)git_info[prompt]}} %(!.%B%F{red}#%f%b.%B%F{green}%f%b) '
RPROMPT='${editor_info[keymap]}${editor_info[overwrite]}%(?:: %F{red}⏎%f)${VIM:+" %B%F{green}V%f%b"}${git_info[rprompt]}'
SPROMPT='zsh: correct %F{red}%R%f to %F{green}%r%f [nyae]? '
}
prompt_sorin_setup "$@"