1
0
mirror of https://github.com/dcarrillo/prezto.git synced 2024-12-22 18:38:00 +00:00
prezto/modules/prompt/functions/prompt_nicoulaj_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

65 lines
1.9 KiB
Bash
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 only relevant information.
#
# Authors:
# Julien Nicoulaud <julien.nicoulaud@gmail.com>
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
# Features:
# - One line.
# - VCS information in the right prompt.
# - Only shows the path on the left prompt by default.
# - Crops the path to a defined length and only shows the path relative to
# the current VCS repository root.
# - Uses a different color depending on if the last command succeeded/failed.
# - Shows user@hostname if connected through SSH.
# - Shows if logged in as root or not.
#
# Screenshots:
# http://i.imgur.com/Xe1bu.png
#
function prompt_nicoulaj_precmd {
vcs_info
}
function prompt_nicoulaj_setup {
setopt LOCAL_OPTIONS
unsetopt XTRACE KSH_ARRAYS
prompt_opts=(cr percent sp subst)
# Load required functions.
autoload -Uz add-zsh-hook
autoload -Uz vcs_info
# Add hook for calling vcs_info before each command.
add-zsh-hook precmd prompt_nicoulaj_precmd
# Tell prezto we can manage this prompt
zstyle ':prezto:module:prompt' managed 'yes'
# Customizable parameters.
local max_path_chars=30
local user_char=''
local root_char=''
local success_color='%F{071}'
local failure_color='%F{124}'
local vcs_info_color='%F{242}'
# Set vcs_info parameters.
zstyle ':vcs_info:*' enable bzr git hg svn
zstyle ':vcs_info:*' check-for-changes true
zstyle ':vcs_info:*' unstagedstr '!'
zstyle ':vcs_info:*' stagedstr '+'
zstyle ':vcs_info:*' actionformats "%S" "%r/%s/%b %u%c (%a)"
zstyle ':vcs_info:*' formats "%S" "%r/%s/%b %u%c"
zstyle ':vcs_info:*' nvcsformats "%~" ""
# Define prompts.
PROMPT="%(?.${success_color}.${failure_color})${SSH_TTY:+[%n@%m]}%B%${max_path_chars}<...<"'${vcs_info_msg_0_%%.}'"%<<%(!.${root_char}.${user_char})%b%f "
RPROMPT="${vcs_info_color}"'${vcs_info_msg_1_}'"%f"
}
prompt_nicoulaj_setup "$@"
# vim: ft=zsh