aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/edit.c
diff options
context:
space:
mode:
authorLuuk van Baal <luukvbaal@gmail.com>2023-05-24 20:13:11 +0200
committerLuuk van Baal <luukvbaal@gmail.com>2023-05-25 11:24:19 +0200
commitad7cded1f3f40912d962796d6965dac17ecb97f0 (patch)
tree9980fbf404ff37edbbfcf9822f6fc8d66ff21387 /src/nvim/edit.c
parentbff67c9fbe8c174dae8952a565a110930dc4fc58 (diff)
downloadrneovim-ad7cded1f3f40912d962796d6965dac17ecb97f0.tar.gz
rneovim-ad7cded1f3f40912d962796d6965dac17ecb97f0.tar.bz2
rneovim-ad7cded1f3f40912d962796d6965dac17ecb97f0.zip
vim-patch:9.0.0590: after exiting Insert mode spelling not checked in next line
Problem: After exiting Insert mode spelling is not checked in the next line. Solution: When spelling is enabled redraw the next line after exiting Insert mode in case the spell highlight needs updating. https://github.com/vim/vim/commit/ee09fcc9b6cf24e02899461809da9a5148208ea5 Co-authored-by: Bram Moolenaar <Bram@vim.org>
Diffstat (limited to 'src/nvim/edit.c')
-rw-r--r--src/nvim/edit.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/nvim/edit.c b/src/nvim/edit.c
index a25387f5a6..612a1a1bda 100644
--- a/src/nvim/edit.c
+++ b/src/nvim/edit.c
@@ -53,6 +53,7 @@
#include "nvim/popupmenu.h"
#include "nvim/pos.h"
#include "nvim/search.h"
+#include "nvim/spell.h"
#include "nvim/state.h"
#include "nvim/strings.h"
#include "nvim/syntax.h"
@@ -3394,6 +3395,14 @@ static bool ins_esc(long *count, int cmdchar, bool nomove)
check_spell_redraw();
+ // When text has been changed in this line, possibly the start of the next
+ // line may have SpellCap that should be removed or it needs to be
+ // displayed. Schedule the next line for redrawing just in case.
+ if (spell_check_window(curwin)
+ && curwin->w_cursor.lnum < curbuf->b_ml.ml_line_count) {
+ redrawWinline(curwin, curwin->w_cursor.lnum + 1);
+ }
+
int temp = curwin->w_cursor.col;
if (disabled_redraw) {
RedrawingDisabled--;