1
0
mirror of https://github.com/dcarrillo/prezto.git synced 2024-11-20 15:31:11 +00:00
prezto/modules/prompt/functions/prompt_smiley_setup
John P. Neumann 5566a9c792
Resolves 1641 - Checks whether the prompt is set to be managed or not. (#1723)
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.
2019-07-25 17:14:43 -05:00

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