mirror of
https://github.com/dcarrillo/prezto.git
synced 2024-11-20 15:31:11 +00:00
5566a9c792
This is a new variable that will need to be set on all new prompts and is not backwards compatible with custom prompts that are not prezto managed, but use prezto's editor-info functionality. Updated the README.md with additional information for themes.
70 lines
1.8 KiB
Bash
70 lines
1.8 KiB
Bash
#
|
|
# A simple theme that displays:
|
|
# - Python virtual environment.
|
|
# - Git branch.
|
|
# - Git state.
|
|
# - Last command exit state (smiley/X).
|
|
#
|
|
# Authors:
|
|
# Nadav Shatz <nadavshatz@gmail.com>
|
|
#
|
|
# Screenshots:
|
|
# http://i.imgur.com/ijycV6n.png
|
|
#
|
|
|
|
# Load dependencies.
|
|
pmodload 'helper'
|
|
|
|
function prompt_smiley_precmd {
|
|
unsetopt XTRACE KSH_ARRAYS
|
|
|
|
# Get Git repository information.
|
|
if (( $+functions[git-info] )); then
|
|
git-info
|
|
fi
|
|
|
|
# Get Python environment information.
|
|
if (( $+functions[python-info] )); then
|
|
python-info
|
|
fi
|
|
|
|
# Get Ruby version information.
|
|
if (( $+functions[ruby-info] )); then
|
|
ruby-info
|
|
fi
|
|
}
|
|
|
|
function prompt_smiley_setup {
|
|
unsetopt XTRACE KSH_ARRAYS
|
|
prompt_opts=(cr percent sp subst)
|
|
|
|
# Add hook for calling git-info before each command.
|
|
add-zsh-hook precmd prompt_smiley_precmd
|
|
|
|
# Tell prezto we can manage this prompt
|
|
zstyle ':prezto:module:prompt' managed 'yes'
|
|
|
|
# Set editor-info parameters.
|
|
zstyle ':prezto:module:editor:info:completing' format '%B%F{red}...%f%b'
|
|
|
|
# Set python-info parameters.
|
|
zstyle ':prezto:module:python:info:virtualenv' format '%F{yellow}[%v]%f '
|
|
|
|
# Set ruby-info parameters.
|
|
zstyle ':prezto:module:ruby:info:version' format '%F{yellow}[%v]%f '
|
|
|
|
# Set git-info parameters.
|
|
zstyle ':prezto:module:git:info' verbose 'yes'
|
|
zstyle ':prezto:module:git:info:branch' format '%F{blue}%b%f'
|
|
zstyle ':prezto:module:git:info:dirty' format '%%B%F{red} ±%f%%b'
|
|
zstyle ':prezto:module:git:info:keys' format 'prompt' '(%b%D)'
|
|
|
|
# Define prompts.
|
|
PROMPT='$python_info[virtualenv]$ruby_info[version]${git_info:+${(e)git_info[prompt]}} %B%c%b %(?:%F{green}ツ%f:%F{red}✖%f) '
|
|
RPROMPT='${editor_info[overwrite]}${VIM:+" %B%F{green}V%f%b"}'
|
|
SPROMPT='zsh: correct %F{red}%R%f to %F{green}%r%f [nyae]? '
|
|
}
|
|
|
|
prompt_smiley_setup "$@"
|
|
# vim: ft=zsh
|