diff options
Diffstat (limited to 'src/nvim/drawscreen.c')
-rw-r--r-- | src/nvim/drawscreen.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/nvim/drawscreen.c b/src/nvim/drawscreen.c index 28a029d758..3f024c507b 100644 --- a/src/nvim/drawscreen.c +++ b/src/nvim/drawscreen.c @@ -839,7 +839,8 @@ void show_cursor_info_later(bool force) || curwin->w_topfill != curwin->w_stl_topfill || empty_line != curwin->w_stl_empty || reg_recording != curwin->w_stl_recording - || state != curwin->w_stl_state) { + || state != curwin->w_stl_state + || (VIsual_active && VIsual_mode != curwin->w_stl_visual_mode)) { if (curwin->w_status_height || global_stl_height()) { curwin->w_redr_status = true; } else { @@ -862,8 +863,11 @@ void show_cursor_info_later(bool force) curwin->w_stl_topline = curwin->w_topline; curwin->w_stl_line_count = curwin->w_buffer->b_ml.ml_line_count; curwin->w_stl_topfill = curwin->w_topfill; - curwin->w_stl_state = state; curwin->w_stl_recording = reg_recording; + curwin->w_stl_state = state; + if (VIsual_active) { + curwin->w_stl_visual_mode = VIsual_mode; + } } /// @return true when postponing displaying the mode message: when not redrawing |