Merge pull request #15840 from vimpostor/vim-8.2.3430

vim-patch:8.2.{3430,3434,3462,3463,3555,3609,3610}: ModeChanged autocmd
This commit is contained in:
Jan Edmund Lazo
2021-11-30 22:13:50 -05:00
committed by GitHub
20 changed files with 273 additions and 25 deletions

View File

@@ -487,6 +487,7 @@ static void normal_prepare(NormalState *s)
if (finish_op != c) {
ui_cursor_shape(); // may show different cursor shape
}
trigger_modechanged();
// When not finishing an operator and no register name typed, reset the count.
if (!finish_op && !s->oa.regname) {
@@ -928,6 +929,7 @@ normal_end:
// Reset finish_op, in case it was set
s->c = finish_op;
finish_op = false;
trigger_modechanged();
// Redraw the cursor with another shape, if we were in Operator-pending
// mode or did a replace command.
if (s->c || s->ca.cmdchar == 'r') {
@@ -965,6 +967,7 @@ normal_end:
&& s->oa.regname == 0) {
if (restart_VIsual_select == 1) {
VIsual_select = true;
trigger_modechanged();
showmode();
restart_VIsual_select = 0;
}
@@ -3066,6 +3069,7 @@ void end_visual_mode(void)
may_clear_cmdline();
adjust_cursor_eol();
trigger_modechanged();
}
/*
@@ -4851,6 +4855,7 @@ static void nv_ctrlg(cmdarg_T *cap)
{
if (VIsual_active) { // toggle Selection/Visual mode
VIsual_select = !VIsual_select;
trigger_modechanged();
showmode();
} else if (!checkclearop(cap->oap)) {
// print full name if count given or :cd used
@@ -4894,6 +4899,7 @@ static void nv_ctrlo(cmdarg_T *cap)
{
if (VIsual_active && VIsual_select) {
VIsual_select = false;
trigger_modechanged();
showmode();
restart_VIsual_select = 2; // restart Select mode later
} else {
@@ -6680,6 +6686,7 @@ static void nv_visual(cmdarg_T *cap)
// or char/line mode
VIsual_mode = cap->cmdchar;
showmode();
trigger_modechanged();
}
redraw_curbuf_later(INVERTED); // update the inversion
} else { // start Visual mode
@@ -6793,6 +6800,7 @@ static void n_start_visual_mode(int c)
foldAdjustVisual();
trigger_modechanged();
setmouse();
// Check for redraw after changing the state.
conceal_check_cursor_line();