mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2024-05-11 05:55:17 +00:00 
			
		
		
		
	fix(vi-mode): fix keymap indicator on zle-line-finish (#9620)
* Update VI_KEYMAP on zle-line-finish. Fixes next prompt draw. * Also fix vi-mode prompt redraw in case previous prompt was canceled * Do not redraw fix prompt if VI_MODE_RESET_PROMPT_ON_MODE_CHANGE is unset * Use a local variable instead of global in function
This commit is contained in:
		| @@ -50,13 +50,17 @@ zle -N zle-keymap-select | ||||
| # These "echoti" statements were originally set in lib/key-bindings.zsh | ||||
| # Not sure the best way to extend without overriding. | ||||
| function zle-line-init() { | ||||
|   local prev_vi_keymap | ||||
|   prev_vi_keymap="${VI_KEYMAP:-}" | ||||
|   typeset -g VI_KEYMAP=main | ||||
|   [[ "$prev_vi_keymap" != 'main' ]] && [[ "${VI_MODE_RESET_PROMPT_ON_MODE_CHANGE:-}" = true ]] && zle reset-prompt | ||||
|   (( ! ${+terminfo[smkx]} )) || echoti smkx | ||||
|   _vi-mode-set-cursor-shape-for-keymap "${VI_KEYMAP}" | ||||
| } | ||||
| zle -N zle-line-init | ||||
|  | ||||
| function zle-line-finish() { | ||||
|   typeset -g VI_KEYMAP=main | ||||
|   (( ! ${+terminfo[rmkx]} )) || echoti rmkx | ||||
|   _vi-mode-set-cursor-shape-for-keymap default | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user