diff --git a/modules/editor/README.md b/modules/editor/README.md index da0185fd..44bc829c 100644 --- a/modules/editor/README.md +++ b/modules/editor/README.md @@ -20,6 +20,13 @@ To enable the auto conversion of .... to ../.., add the following to zstyle ':prezto:module:editor' dot-expansion 'yes' +### PS Context + +To enable the prompt context to be set, add the following to your +*zpreztorc*. + + zstyle ':prezto:module:editor' ps-context 'yes' + Theming ------- diff --git a/modules/editor/init.zsh b/modules/editor/init.zsh index c77e65c9..f1260021 100644 --- a/modules/editor/init.zsh +++ b/modules/editor/init.zsh @@ -103,12 +103,27 @@ function editor-info { fi unset REPLY - - zle reset-prompt - zle -R + zle zle-reset-prompt } zle -N editor-info +# Reset the prompt based on the current context and +# the ps-context option. +function zle-reset-prompt { + if zstyle -t ':prezto:module:editor' ps-context; then + # If we aren't within one of the specified contexts, then we want to reset + # the prompt with the appropriate editor_info[keymap] if there is one. + if [[ $CONTEXT != (select|cont) ]]; then + zle reset-prompt + zle -R + fi + else + zle reset-prompt + zle -R + fi +} +zle -N zle-reset-prompt + # Updates editor information when the keymap changes. function zle-keymap-select { zle editor-info diff --git a/runcoms/zpreztorc b/runcoms/zpreztorc index ab26ff8b..cc884548 100644 --- a/runcoms/zpreztorc +++ b/runcoms/zpreztorc @@ -51,6 +51,9 @@ zstyle ':prezto:module:editor' key-bindings 'emacs' # Auto convert .... to ../.. # zstyle ':prezto:module:editor' dot-expansion 'yes' +# Allow the zsh prompt context to be shown. +#zstyle ':prezto:module:editor' ps-context 'yes' + # # Git #