mirror of
https://github.com/dcarrillo/prezto.git
synced 2024-09-06 22:37:33 +00:00
78 lines
2.1 KiB
Bash
78 lines
2.1 KiB
Bash
#
|
|
# A simple theme inspired by the Sorin and PeepCode themes.
|
|
#
|
|
# Authors:
|
|
# Daniel Møller Kristensen <damoekri@icloud.com>
|
|
#
|
|
# Screenshots:
|
|
# http://i.imgur.com/AX9HnPF.png
|
|
#
|
|
|
|
# Load dependencies.
|
|
pmodload 'helper'
|
|
|
|
prompt_damoekri_precmd() {
|
|
setopt LOCAL_OPTIONS
|
|
unsetopt XTRACE KSH_ARRAYS
|
|
|
|
# Format PWD.
|
|
_prompt_damoekri_pwd=$(prompt-pwd)
|
|
|
|
# Get Git repository information.
|
|
if (( $+functions[git-info] )); then
|
|
git-info
|
|
fi
|
|
|
|
# Get Ruby version information.
|
|
if (( $+functions[ruby-info] )); then
|
|
ruby-info
|
|
fi
|
|
|
|
# Get Openstack tenant information.
|
|
if (( $+functions[os-info] )); then
|
|
os-info
|
|
fi
|
|
}
|
|
|
|
function prompt_damoekri_setup {
|
|
setopt LOCAL_OPTIONS
|
|
unsetopt XTRACE KSH_ARRAYS
|
|
prompt_opts=(cr percent sp subst)
|
|
|
|
# Load required functions.
|
|
autoload -Uz add-zsh-hook
|
|
|
|
# Add hook for calling git-info and ruby-info before each command.
|
|
add-zsh-hook precmd prompt_damoekri_precmd
|
|
|
|
# Tell prezto we can manage this prompt
|
|
zstyle ':prezto:module:prompt' managed 'yes'
|
|
|
|
# Set editor-info parameters.
|
|
zstyle ':prezto:module:editor:info:keymap:primary' format ' %F{green}»%f'
|
|
|
|
# Set git-info parameters.
|
|
zstyle ':prezto:module:git:info' verbose 'yes'
|
|
zstyle ':prezto:module:git:info:action' format ':%F{magenta}%s%f'
|
|
zstyle ':prezto:module:git:info:branch' format '%F{blue}%b%f'
|
|
zstyle ':prezto:module:git:info:clean' format ' %F{green}✔%f'
|
|
zstyle ':prezto:module:git:info:dirty' format ' %F{red}✗%f'
|
|
zstyle ':prezto:module:git:info:commit' format '%F{blue}%.7c%f'
|
|
zstyle ':prezto:module:git:info:position' format '%F{blue}%p%f'
|
|
zstyle ':prezto:module:git:info:keys' format \
|
|
'rprompt' ' $(coalesce "%b" "%p" "%c")%s%C%D'
|
|
|
|
# Set ruby-info parameters.
|
|
zstyle ':prezto:module:ruby:info:version' format ' %F{yellow}%v%f'
|
|
|
|
# Set openstack tenant info
|
|
zstyle ':prezto:module:openstack:info:tenant' format '%s'
|
|
|
|
# Define prompts.
|
|
PROMPT='${os_info:+${os_info[tenant]} }%F{cyan}${_prompt_damoekri_pwd}%f${editor_info[keymap]} '
|
|
RPROMPT='${git_info:+${(e)git_info[rprompt]}}${ruby_info:+${ruby_info[version]}}'
|
|
}
|
|
|
|
prompt_damoekri_setup "$@"
|
|
# vim: ft=zsh
|