dotar/zsh/prezto-themes/prompt_kylewest_setup

58 lines
1.5 KiB
Plaintext

#
# A theme based on sorin theme
# * ruby info shown on the right
# * git info on the left
# * editor mode as $> or <#
# * single line prompt
#
# Authors:
# Sorin Ionescu <sorin.ionescu@gmail.com>
# Kyle West <kswest@gmail.com>
function prompt_kylewest_precmd {
setopt LOCAL_OPTIONS
unsetopt XTRACE KSH_ARRAYS
# Get Git repository information.
if (( $+functions[git-info] )); then
git-info on
git-info
fi
# Get ruby information
if (( $+functions[ruby-info] )); then
ruby-info
fi
}
function prompt_kylewest_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_kylewest_precmd
# editor
zstyle ':prezto:module:editor:info:completing' format '%B%F{red}...%f%b'
zstyle ':prezto:module:editor:info:keymap:primary' format "%B%F{green}$>%f%b"
zstyle ':prezto:module:editor:info:keymap:alternate' format "%B%F{magenta}<#%f%b"
# ruby info (rvm, rbenv)
zstyle ':prezto:module:ruby:info:version' format '[ %v ]'
# vcs
zstyle ':prezto:module:git:info:branch' format '%F{yellow}%b%f'
zstyle ':prezto:module:git:info:dirty' format '%B%F{red}!%f%b'
zstyle ':prezto:module:git:info:keys' format 'prompt' '- %b%D '
# prompts
PROMPT='%F{cyan}%c%f ${git_info[prompt]}${editor_info[keymap]} '
RPROMPT='%F{blue}${ruby_info[version]}'
}
prompt_kylewest_setup "$@"