mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-12 21:39:48 +01:00
fix(vi-mode): hide cursor-change logic behind VI_MODE_SET_CURSOR
setting
Fixes #9570
This commit is contained in:
parent
94ce46d48b
commit
79980b00fb
2 changed files with 17 additions and 2 deletions
|
@ -22,6 +22,13 @@ plugins=(... vi-mode)
|
||||||
The default value is unset, unless `vi_mode_prompt_info` is used, in which case it'll
|
The default value is unset, unless `vi_mode_prompt_info` is used, in which case it'll
|
||||||
automatically be set to `true`.
|
automatically be set to `true`.
|
||||||
|
|
||||||
|
- `VI_MODE_SET_CURSOR`: controls whether the cursor style is changed when switching
|
||||||
|
to a different input mode. Set it to `true` to enable it (default: unset):
|
||||||
|
|
||||||
|
```zsh
|
||||||
|
VI_MODE_SET_CURSOR=true
|
||||||
|
```
|
||||||
|
|
||||||
- `MODE_INDICATOR`: controls the string displayed when the shell is in normal mode.
|
- `MODE_INDICATOR`: controls the string displayed when the shell is in normal mode.
|
||||||
See [Mode indicator](#mode-indicator) for details.
|
See [Mode indicator](#mode-indicator) for details.
|
||||||
|
|
||||||
|
|
|
@ -4,13 +4,21 @@
|
||||||
# This is especially true if the prompt does things like checking git status.
|
# This is especially true if the prompt does things like checking git status.
|
||||||
#
|
#
|
||||||
# Set to "true" to force the prompt to reset on each mode change.
|
# Set to "true" to force the prompt to reset on each mode change.
|
||||||
# Set to "false" to force the prompt *not* to reset on each mode change.
|
# Unset or set to any other value to do the opposite.
|
||||||
#
|
#
|
||||||
# (The default is not to reset, unless we're showing the mode in RPS1).
|
# The default is not to reset, unless we're showing the mode in RPS1.
|
||||||
typeset -g VI_MODE_RESET_PROMPT_ON_MODE_CHANGE
|
typeset -g VI_MODE_RESET_PROMPT_ON_MODE_CHANGE
|
||||||
|
# Control whether to change the cursor style on mode change.
|
||||||
|
#
|
||||||
|
# Set to "true" to change the cursor on each mode change.
|
||||||
|
# Unset or set to any other value to do the opposite.
|
||||||
|
typeset -g VI_MODE_SET_CURSOR
|
||||||
|
|
||||||
typeset -g VI_KEYMAP=main
|
typeset -g VI_KEYMAP=main
|
||||||
|
|
||||||
function _vi-mode-set-cursor-shape-for-keymap() {
|
function _vi-mode-set-cursor-shape-for-keymap() {
|
||||||
|
[[ "$VI_MODE_SET_CURSOR" = true ]] || return
|
||||||
|
|
||||||
# https://vt100.net/docs/vt510-rm/DECSCUSR
|
# https://vt100.net/docs/vt510-rm/DECSCUSR
|
||||||
local _shape=0
|
local _shape=0
|
||||||
case "${1:-${VI_KEYMAP:-main}}" in
|
case "${1:-${VI_KEYMAP:-main}}" in
|
||||||
|
|
Loading…
Reference in a new issue