diff options
author | zeertzjq <zeertzjq@outlook.com> | 2024-12-18 09:04:32 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-18 09:04:32 +0800 |
commit | f7c42433c55203a1421276b33b6d3fedd652ca7e (patch) | |
tree | f452d6044948242f34fdce0480fe938392724237 /src | |
parent | 51c380238cd23c5e6e050dfb379ae6b30bef032c (diff) | |
download | rneovim-f7c42433c55203a1421276b33b6d3fedd652ca7e.tar.gz rneovim-f7c42433c55203a1421276b33b6d3fedd652ca7e.tar.bz2 rneovim-f7c42433c55203a1421276b33b6d3fedd652ca7e.zip |
vim-patch:9.1.0940: Wrong cursor shape with "gq" and 'indentexpr' executes :normal (#31616)
Problem: Wrong cursor shape with "gq" and 'indentexpr' executes :normal
Solution: Update cursor and mouse shape after restoring old_State.
(zeertzjq)
closes: vim/vim#16241
Solution: Update cursor and mouse shape after restoring old_State.
https://github.com/vim/vim/commit/6c3027744e71937b24829135ba072090d7d52bc3
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/textformat.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/nvim/textformat.c b/src/nvim/textformat.c index 06b3aa0411..b3b9cc6b44 100644 --- a/src/nvim/textformat.c +++ b/src/nvim/textformat.c @@ -35,6 +35,7 @@ #include "nvim/strings.h" #include "nvim/textformat.h" #include "nvim/textobject.h" +#include "nvim/ui.h" #include "nvim/undo.h" #include "nvim/vim_defs.h" #include "nvim/window.h" @@ -1049,12 +1050,18 @@ void format_lines(linenr_T line_count, bool avoid_fex) State = MODE_INSERT; // for open_line() smd_save = p_smd; p_smd = false; + insertchar(NUL, INSCHAR_FORMAT + (do_comments ? INSCHAR_DO_COM : 0) + (do_comments && do_comments_list ? INSCHAR_COM_LIST : 0) + (avoid_fex ? INSCHAR_NO_FEX : 0), second_indent); + State = old_State; p_smd = smd_save; + // Cursor shape may have been updated (e.g. by :normal) in insertchar(), + // so it needs to be updated here. + ui_cursor_shape(); + second_indent = -1; // at end of par.: need to set indent of next par. need_set_indent = is_end_par; |