commit 2c9d21f722f91834978652a69a1ea72310dc1580
parent 76d213efbee8e6857b3aa397827fa8756a327430
Author: phanium <91544758+phanen@users.noreply.github.com>
Date: Sat, 14 Jun 2025 15:33:45 +0800
fix: cursor shape don't resume after `:append`
Problem: cursor shape don't resume after `:append`.
e.g. `seq 1000 | nvim --clean +"se gcr+=c:ver25" -`
Solution: emit missing ui event.
Diffstat:
2 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/src/nvim/ex_cmds.c b/src/nvim/ex_cmds.c
@@ -2889,6 +2889,7 @@ void ex_append(exarg_T *eap)
}
}
State = MODE_NORMAL;
+ ui_cursor_shape();
if (eap->forceit) {
curbuf->b_p_ai = !curbuf->b_p_ai;
diff --git a/test/functional/ui/mode_spec.lua b/test/functional/ui/mode_spec.lua
@@ -43,6 +43,11 @@ describe('ui mode_change event', function()
]],
mode = 'normal',
}
+
+ n.feed(':append<cr>')
+ screen:expect({ mode = 'cmdline_normal' })
+ n.feed('<esc>')
+ screen:expect({ mode = 'normal' })
end)
-- oldtest: Test_mouse_shape_after_failed_change()