diff options
author | Sébastien M-B <essembeh@gmail.com> | 2013-02-08 19:08:06 +0100 |
---|---|---|
committer | Sébastien M-B <essembeh@gmail.com> | 2013-02-08 19:08:06 +0100 |
commit | 2595484a97d85496fdcdca99a23f52eecd9b1b43 (patch) | |
tree | fffe23d53a2a635f0861047fb058c8a2632414f7 /plugins/vi-mode | |
parent | 8d23a3611086e9a13e7ad754c57fa8cc4797bfa9 (diff) | |
parent | 6e6cf4303712befb5a7fc3918494aefe4a65991f (diff) | |
download | zsh-2595484a97d85496fdcdca99a23f52eecd9b1b43.tar.gz zsh-2595484a97d85496fdcdca99a23f52eecd9b1b43.tar.bz2 zsh-2595484a97d85496fdcdca99a23f52eecd9b1b43.zip |
Merge remote-tracking branch 'upstream/master'
Conflicts:
lib/aliases.zsh
Diffstat (limited to 'plugins/vi-mode')
-rw-r--r-- | plugins/vi-mode/vi-mode.plugin.zsh | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/plugins/vi-mode/vi-mode.plugin.zsh b/plugins/vi-mode/vi-mode.plugin.zsh index c47ab7211..a06100472 100644 --- a/plugins/vi-mode/vi-mode.plugin.zsh +++ b/plugins/vi-mode/vi-mode.plugin.zsh @@ -1,8 +1,21 @@ -function zle-line-init zle-keymap-select { +# Ensures that $terminfo values are valid and updates editor information when +# the keymap changes. +function zle-keymap-select zle-line-init zle-line-finish { + # The terminal must be in application mode when ZLE is active for $terminfo + # values to be valid. + if (( ${+terminfo[smkx]} )); then + printf '%s' ${terminfo[smkx]} + fi + if (( ${+terminfo[rmkx]} )); then + printf '%s' ${terminfo[rmkx]} + fi + zle reset-prompt + zle -R } zle -N zle-line-init +zle -N zle-line-finish zle -N zle-keymap-select bindkey -v |