mirror of
https://github.com/dcarrillo/prezto.git
synced 2024-12-22 17:28:01 +00:00
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.
This commit is contained in:
parent
3ae422a0da
commit
5566a9c792
@ -91,28 +91,32 @@ function bindkey-all {
|
|||||||
# Exposes information about the Zsh Line Editor via the $editor_info associative
|
# Exposes information about the Zsh Line Editor via the $editor_info associative
|
||||||
# array.
|
# array.
|
||||||
function editor-info {
|
function editor-info {
|
||||||
# Clean up previous $editor_info.
|
# Ensure that we're going to set the editor-info for prompts that
|
||||||
unset editor_info
|
# are prezto managed and/or compatible.
|
||||||
typeset -gA editor_info
|
if zstyle -t ':prezto:module:prompt' managed; then
|
||||||
|
# Clean up previous $editor_info.
|
||||||
|
unset editor_info
|
||||||
|
typeset -gA editor_info
|
||||||
|
|
||||||
if [[ "$KEYMAP" == 'vicmd' ]]; then
|
if [[ "$KEYMAP" == 'vicmd' ]]; then
|
||||||
zstyle -s ':prezto:module:editor:info:keymap:alternate' format 'REPLY'
|
zstyle -s ':prezto:module:editor:info:keymap:alternate' format 'REPLY'
|
||||||
editor_info[keymap]="$REPLY"
|
editor_info[keymap]="$REPLY"
|
||||||
else
|
|
||||||
zstyle -s ':prezto:module:editor:info:keymap:primary' format 'REPLY'
|
|
||||||
editor_info[keymap]="$REPLY"
|
|
||||||
|
|
||||||
if [[ "$ZLE_STATE" == *overwrite* ]]; then
|
|
||||||
zstyle -s ':prezto:module:editor:info:keymap:primary:overwrite' format 'REPLY'
|
|
||||||
editor_info[overwrite]="$REPLY"
|
|
||||||
else
|
else
|
||||||
zstyle -s ':prezto:module:editor:info:keymap:primary:insert' format 'REPLY'
|
zstyle -s ':prezto:module:editor:info:keymap:primary' format 'REPLY'
|
||||||
editor_info[overwrite]="$REPLY"
|
editor_info[keymap]="$REPLY"
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
unset REPLY
|
if [[ "$ZLE_STATE" == *overwrite* ]]; then
|
||||||
zle zle-reset-prompt
|
zstyle -s ':prezto:module:editor:info:keymap:primary:overwrite' format 'REPLY'
|
||||||
|
editor_info[overwrite]="$REPLY"
|
||||||
|
else
|
||||||
|
zstyle -s ':prezto:module:editor:info:keymap:primary:insert' format 'REPLY'
|
||||||
|
editor_info[overwrite]="$REPLY"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
unset REPLY
|
||||||
|
zle zle-reset-prompt
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
zle -N editor-info
|
zle -N editor-info
|
||||||
|
|
||||||
|
@ -43,6 +43,22 @@ A prompt theme is an autoloadable function file with a special name,
|
|||||||
project, themes **should** be placed in the *modules/prompt/functions*
|
project, themes **should** be placed in the *modules/prompt/functions*
|
||||||
directory.
|
directory.
|
||||||
|
|
||||||
|
### Required Variables
|
||||||
|
|
||||||
|
To ensure that your function works with the editor-info module you'll need to
|
||||||
|
set the following variable:
|
||||||
|
|
||||||
|
```
|
||||||
|
# Tell prezto we can manage this prompt
|
||||||
|
zstyle ':prezto:module:prompt' managed 'yes'
|
||||||
|
```
|
||||||
|
|
||||||
|
This is to ensure compatibility with outside prompts, while allowing prezto
|
||||||
|
and prezto-compatible prompts to take full advantage of the editor module.
|
||||||
|
This should be set in the `prompt_name_setup` function after you've added
|
||||||
|
any additional hooks with `add-zsh-hook precmd prompt_name_precmd`. See below
|
||||||
|
for additional information about functions and hooks.
|
||||||
|
|
||||||
### Theme Functions
|
### Theme Functions
|
||||||
|
|
||||||
There are three theme functions, a setup function, a help function, and
|
There are three theme functions, a setup function, a help function, and
|
||||||
|
@ -28,3 +28,4 @@ unset current_pwd
|
|||||||
print "$ret_directory"
|
print "$ret_directory"
|
||||||
|
|
||||||
# }
|
# }
|
||||||
|
# vim: ft=zsh
|
||||||
|
@ -104,6 +104,9 @@ function prompt_cloud_setup {
|
|||||||
# Add hook for calling git-info before each command.
|
# Add hook for calling git-info before each command.
|
||||||
add-zsh-hook precmd prompt_cloud_precmd
|
add-zsh-hook precmd prompt_cloud_precmd
|
||||||
|
|
||||||
|
# Tell prezto we can manage this prompt
|
||||||
|
zstyle ':prezto:module:prompt' managed 'yes'
|
||||||
|
|
||||||
# Set git-info parameters.
|
# Set git-info parameters.
|
||||||
zstyle ':prezto:module:git:info' verbose 'yes'
|
zstyle ':prezto:module:git:info' verbose 'yes'
|
||||||
zstyle ':prezto:module:git:info:dirty' format "%%B%F{$secondary_color}]%f%%b %F{yellow}⚡%f"
|
zstyle ':prezto:module:git:info:dirty' format "%%B%F{$secondary_color}]%f%%b %F{yellow}⚡%f"
|
||||||
@ -119,3 +122,4 @@ function prompt_cloud_setup {
|
|||||||
}
|
}
|
||||||
|
|
||||||
prompt_cloud_setup "$@"
|
prompt_cloud_setup "$@"
|
||||||
|
# vim: ft=zsh
|
||||||
|
@ -40,6 +40,9 @@ function prompt_damoekri_setup {
|
|||||||
# Add hook for calling git-info and ruby-info before each command.
|
# Add hook for calling git-info and ruby-info before each command.
|
||||||
add-zsh-hook precmd prompt_damoekri_precmd
|
add-zsh-hook precmd prompt_damoekri_precmd
|
||||||
|
|
||||||
|
# Tell prezto we can manage this prompt
|
||||||
|
zstyle ':prezto:module:prompt' managed 'yes'
|
||||||
|
|
||||||
# Set editor-info parameters.
|
# Set editor-info parameters.
|
||||||
zstyle ':prezto:module:editor:info:keymap:primary' format ' %F{green}»%f'
|
zstyle ':prezto:module:editor:info:keymap:primary' format ' %F{green}»%f'
|
||||||
|
|
||||||
@ -63,3 +66,4 @@ function prompt_damoekri_setup {
|
|||||||
}
|
}
|
||||||
|
|
||||||
prompt_damoekri_setup "$@"
|
prompt_damoekri_setup "$@"
|
||||||
|
# vim: ft=zsh
|
||||||
|
@ -47,6 +47,9 @@ function prompt_giddie_setup {
|
|||||||
# Add hook to set up prompt parameters before each command.
|
# Add hook to set up prompt parameters before each command.
|
||||||
add-zsh-hook precmd prompt_giddie_precmd
|
add-zsh-hook precmd prompt_giddie_precmd
|
||||||
|
|
||||||
|
# Tell prezto we can manage this prompt
|
||||||
|
zstyle ':prezto:module:prompt' managed 'yes'
|
||||||
|
|
||||||
# Set editor-info parameters.
|
# Set editor-info parameters.
|
||||||
zstyle ':prezto:module:editor:info:completing' format '%F{green}...%f'
|
zstyle ':prezto:module:editor:info:completing' format '%F{green}...%f'
|
||||||
zstyle ':prezto:module:editor:info:keymap:alternate' format '%F{yellow}--- COMMAND ---%f'
|
zstyle ':prezto:module:editor:info:keymap:alternate' format '%F{yellow}--- COMMAND ---%f'
|
||||||
@ -74,3 +77,4 @@ function prompt_giddie_setup {
|
|||||||
}
|
}
|
||||||
|
|
||||||
prompt_giddie_setup "$@"
|
prompt_giddie_setup "$@"
|
||||||
|
# vim: ft=zsh
|
||||||
|
@ -40,6 +40,9 @@ function prompt_kylewest_setup {
|
|||||||
# Add hook for calling git-info before each command.
|
# Add hook for calling git-info before each command.
|
||||||
add-zsh-hook precmd prompt_kylewest_precmd
|
add-zsh-hook precmd prompt_kylewest_precmd
|
||||||
|
|
||||||
|
# Tell prezto we can manage this prompt
|
||||||
|
zstyle ':prezto:module:prompt' managed 'yes'
|
||||||
|
|
||||||
# Set editor-info parameters.
|
# Set editor-info parameters.
|
||||||
zstyle ':prezto:module:editor:info:completing' format '%B%F{red}...%f%b'
|
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:primary' format "%B%F{green}❯%f%b"
|
||||||
@ -63,3 +66,4 @@ function prompt_kylewest_setup {
|
|||||||
}
|
}
|
||||||
|
|
||||||
prompt_kylewest_setup "$@"
|
prompt_kylewest_setup "$@"
|
||||||
|
# vim: ft=zsh
|
||||||
|
@ -32,6 +32,9 @@ function prompt_minimal_setup {
|
|||||||
# Add hook for calling vcs_info before each command.
|
# Add hook for calling vcs_info before each command.
|
||||||
add-zsh-hook precmd prompt_minimal_precmd
|
add-zsh-hook precmd prompt_minimal_precmd
|
||||||
|
|
||||||
|
# Tell prezto we can manage this prompt
|
||||||
|
zstyle ':prezto:module:prompt' managed 'yes'
|
||||||
|
|
||||||
# Set vcs_info parameters.
|
# Set vcs_info parameters.
|
||||||
zstyle ':vcs_info:*' enable bzr git hg svn
|
zstyle ':vcs_info:*' enable bzr git hg svn
|
||||||
zstyle ':vcs_info:*' check-for-changes true
|
zstyle ':vcs_info:*' check-for-changes true
|
||||||
@ -57,3 +60,4 @@ function prompt_minimal_preview {
|
|||||||
}
|
}
|
||||||
|
|
||||||
prompt_minimal_setup "$@"
|
prompt_minimal_setup "$@"
|
||||||
|
# vim: ft=zsh
|
||||||
|
@ -35,6 +35,9 @@ function prompt_nicoulaj_setup {
|
|||||||
# Add hook for calling vcs_info before each command.
|
# Add hook for calling vcs_info before each command.
|
||||||
add-zsh-hook precmd prompt_nicoulaj_precmd
|
add-zsh-hook precmd prompt_nicoulaj_precmd
|
||||||
|
|
||||||
|
# Tell prezto we can manage this prompt
|
||||||
|
zstyle ':prezto:module:prompt' managed 'yes'
|
||||||
|
|
||||||
# Customizable parameters.
|
# Customizable parameters.
|
||||||
local max_path_chars=30
|
local max_path_chars=30
|
||||||
local user_char='❯'
|
local user_char='❯'
|
||||||
@ -58,3 +61,4 @@ function prompt_nicoulaj_setup {
|
|||||||
}
|
}
|
||||||
|
|
||||||
prompt_nicoulaj_setup "$@"
|
prompt_nicoulaj_setup "$@"
|
||||||
|
# vim: ft=zsh
|
||||||
|
@ -116,6 +116,9 @@ function prompt_paradox_setup {
|
|||||||
add-zsh-hook preexec prompt_paradox_preexec
|
add-zsh-hook preexec prompt_paradox_preexec
|
||||||
add-zsh-hook precmd prompt_paradox_precmd
|
add-zsh-hook precmd prompt_paradox_precmd
|
||||||
|
|
||||||
|
# Tell prezto we can manage this prompt
|
||||||
|
zstyle ':prezto:module:prompt' managed 'yes'
|
||||||
|
|
||||||
# Set editor-info parameters.
|
# Set editor-info parameters.
|
||||||
zstyle ':prezto:module:editor:info:completing' format '%B%F{red}...%f%b'
|
zstyle ':prezto:module:editor:info:completing' format '%B%F{red}...%f%b'
|
||||||
zstyle ':prezto:module:editor:info:keymap:primary' format '%B%F{blue}❯%f%b'
|
zstyle ':prezto:module:editor:info:keymap:primary' format '%B%F{blue}❯%f%b'
|
||||||
@ -154,3 +157,4 @@ ${(e)$(prompt_paradox_build_prompt)}
|
|||||||
}
|
}
|
||||||
|
|
||||||
prompt_paradox_setup "$@"
|
prompt_paradox_setup "$@"
|
||||||
|
# vim: ft=zsh
|
||||||
|
@ -34,6 +34,9 @@ function prompt_peepcode_setup {
|
|||||||
# Add a hook for calling info functions before each command.
|
# Add a hook for calling info functions before each command.
|
||||||
add-zsh-hook precmd prompt_peepcode_precmd
|
add-zsh-hook precmd prompt_peepcode_precmd
|
||||||
|
|
||||||
|
# Tell prezto we can manage this prompt
|
||||||
|
zstyle ':prezto:module:prompt' managed 'yes'
|
||||||
|
|
||||||
# Set git-info parameters.
|
# Set git-info parameters.
|
||||||
zstyle ':prezto:module:git:info' verbose 'no'
|
zstyle ':prezto:module:git:info' verbose 'no'
|
||||||
zstyle ':prezto:module:git:info:action' format ' +%s'
|
zstyle ':prezto:module:git:info:action' format ' +%s'
|
||||||
@ -83,3 +86,4 @@ function prompt_peepcode_preview {
|
|||||||
}
|
}
|
||||||
|
|
||||||
prompt_peepcode_setup "$@"
|
prompt_peepcode_setup "$@"
|
||||||
|
# vim: ft=zsh
|
||||||
|
@ -36,6 +36,9 @@ function prompt_skwp_setup {
|
|||||||
# Add hook to set up prompt parameters before each command.
|
# Add hook to set up prompt parameters before each command.
|
||||||
add-zsh-hook precmd prompt_skwp_precmd
|
add-zsh-hook precmd prompt_skwp_precmd
|
||||||
|
|
||||||
|
# Tell prezto we can manage this prompt
|
||||||
|
zstyle ':prezto:module:prompt' managed 'yes'
|
||||||
|
|
||||||
# Use extended color pallete if available.
|
# Use extended color pallete if available.
|
||||||
if [[ $TERM = *256color* || $TERM = *rxvt* ]]; then
|
if [[ $TERM = *256color* || $TERM = *rxvt* ]]; then
|
||||||
_prompt_skwp_colors=(
|
_prompt_skwp_colors=(
|
||||||
@ -73,3 +76,4 @@ function prompt_skwp_setup {
|
|||||||
}
|
}
|
||||||
|
|
||||||
prompt_skwp_setup "$@"
|
prompt_skwp_setup "$@"
|
||||||
|
# vim: ft=zsh
|
||||||
|
@ -41,6 +41,9 @@ function prompt_smiley_setup {
|
|||||||
# Add hook for calling git-info before each command.
|
# Add hook for calling git-info before each command.
|
||||||
add-zsh-hook precmd prompt_smiley_precmd
|
add-zsh-hook precmd prompt_smiley_precmd
|
||||||
|
|
||||||
|
# Tell prezto we can manage this prompt
|
||||||
|
zstyle ':prezto:module:prompt' managed 'yes'
|
||||||
|
|
||||||
# Set editor-info parameters.
|
# Set editor-info parameters.
|
||||||
zstyle ':prezto:module:editor:info:completing' format '%B%F{red}...%f%b'
|
zstyle ':prezto:module:editor:info:completing' format '%B%F{red}...%f%b'
|
||||||
|
|
||||||
@ -63,3 +66,4 @@ function prompt_smiley_setup {
|
|||||||
}
|
}
|
||||||
|
|
||||||
prompt_smiley_setup "$@"
|
prompt_smiley_setup "$@"
|
||||||
|
# vim: ft=zsh
|
||||||
|
@ -118,6 +118,9 @@ function prompt_sorin_setup {
|
|||||||
# Add hook for calling git-info before each command.
|
# Add hook for calling git-info before each command.
|
||||||
add-zsh-hook precmd prompt_sorin_precmd
|
add-zsh-hook precmd prompt_sorin_precmd
|
||||||
|
|
||||||
|
# Tell prezto we can manage this prompt
|
||||||
|
zstyle ':prezto:module:prompt' managed 'yes'
|
||||||
|
|
||||||
# Set editor-info parameters.
|
# Set editor-info parameters.
|
||||||
zstyle ':prezto:module:editor:info:completing' format '%B%F{7}...%f%b'
|
zstyle ':prezto:module:editor:info:completing' format '%B%F{7}...%f%b'
|
||||||
zstyle ':prezto:module:editor:info:keymap:primary' format ' %B%F{1}❯%F{3}❯%F{2}❯%f%b'
|
zstyle ':prezto:module:editor:info:keymap:primary' format ' %B%F{1}❯%F{3}❯%F{2}❯%f%b'
|
||||||
@ -176,3 +179,4 @@ function prompt_sorin_preview {
|
|||||||
}
|
}
|
||||||
|
|
||||||
prompt_sorin_setup "$@"
|
prompt_sorin_setup "$@"
|
||||||
|
# vim: ft=zsh
|
||||||
|
@ -41,6 +41,9 @@ function prompt_steeef_setup {
|
|||||||
# Add hook for calling vcs_info before each command.
|
# Add hook for calling vcs_info before each command.
|
||||||
add-zsh-hook precmd prompt_steeef_precmd
|
add-zsh-hook precmd prompt_steeef_precmd
|
||||||
|
|
||||||
|
# Tell prezto we can manage this prompt
|
||||||
|
zstyle ':prezto:module:prompt' managed 'yes'
|
||||||
|
|
||||||
# Use extended color pallete if available.
|
# Use extended color pallete if available.
|
||||||
if [[ $TERM = *256color* || $TERM = *rxvt* ]]; then
|
if [[ $TERM = *256color* || $TERM = *rxvt* ]]; then
|
||||||
_prompt_steeef_colors=(
|
_prompt_steeef_colors=(
|
||||||
@ -104,3 +107,4 @@ function prompt_steeef_preview {
|
|||||||
}
|
}
|
||||||
|
|
||||||
prompt_steeef_setup "$@"
|
prompt_steeef_setup "$@"
|
||||||
|
# vim: ft=zsh
|
||||||
|
Loading…
Reference in New Issue
Block a user