2527959e79432bb28269840e5b8b81ef3acf187a

Author
Carlo Sala <carlosalag@protonmail.com>
Committer
Carlo Sala <carlosalag@protonmail.com>
Date

Message

fix(vi-mode): don't overwrite settings

Closes #11673

Diff

 1diff --git a/plugins/vi-mode/vi-mode.plugin.zsh b/plugins/vi-mode/vi-mode.plugin.zsh
 2index 5c104f7bb5d240ecbac93daf9ea97376c056e152..85208cfc9c0aec2b0f6d1075f07c310e813d1dc1 100644
 3--- a/plugins/vi-mode/vi-mode.plugin.zsh
 4+++ b/plugins/vi-mode/vi-mode.plugin.zsh
 5@@ -18,12 +18,12 @@ typeset -g VI_MODE_SET_CURSOR
 6 # if $VI_MODE_SET_CURSOR=true.
 7 #
 8 # See https://vt100.net/docs/vt510-rm/DECSCUSR for cursor styles
 9-typeset -g VI_MODE_CURSOR_NORMAL=2
10-typeset -g VI_MODE_CURSOR_VISUAL=6
11-typeset -g VI_MODE_CURSOR_INSERT=6
12-typeset -g VI_MODE_CURSOR_OPPEND=0
13+typeset -g VI_MODE_CURSOR_NORMAL=${VI_MODE_CURSOR_NORMAL:=2}
14+typeset -g VI_MODE_CURSOR_VISUAL=${VI_MODE_CURSOR_VISUAL:=6}
15+typeset -g VI_MODE_CURSOR_INSERT=${VI_MODE_CURSOR_INSERT:=6}
16+typeset -g VI_MODE_CURSOR_OPPEND=${VI_MODE_CURSOR_OPPEND:=0}
17 
18-typeset -g VI_KEYMAP=main
19+typeset -g VI_KEYMAP=${VI_KEYMAP:=main}
20 
21 function _vi-mode-set-cursor-shape-for-keymap() {
22   [[ "$VI_MODE_SET_CURSOR" = true ]] || return
23@@ -162,9 +162,7 @@ if [[ -z "${VI_MODE_DISABLE_CLIPBOARD:-}" ]]; then
24 fi
25 
26 # if mode indicator wasn't setup by theme, define default, we'll leave INSERT_MODE_INDICATOR empty by default
27-if [[ -z "$MODE_INDICATOR" ]]; then
28-  MODE_INDICATOR='%B%F{red}<%b<<%f'
29-fi
30+typeset -g MODE_INDICATOR=${MODE_INDICATOR:='%B%F{red}<%b<<%f'}
31 
32 function vi_mode_prompt_info() {
33   echo "${${VI_KEYMAP/vicmd/$MODE_INDICATOR}/(main|viins)/$INSERT_MODE_INDICATOR}"