mirror of
https://github.com/neovim/neovim.git
synced 2025-09-29 14:38:32 +00:00
fix(cmdline): wrong 'incsearch' highlighting after :redraw (#27947)
Problem: Calling :redraw from a timer callback clears 'incsearch' highlighting. Solution: Re-apply 'incsearch' highlighting if the screen was updated.
This commit is contained in:
@@ -1167,6 +1167,7 @@ static int command_line_execute(VimState *state, int key)
|
||||
return -1; // get another key
|
||||
}
|
||||
|
||||
disptick_T display_tick_saved = display_tick;
|
||||
CommandLineState *s = (CommandLineState *)state;
|
||||
s->c = key;
|
||||
|
||||
@@ -1178,6 +1179,10 @@ static int command_line_execute(VimState *state, int key)
|
||||
} else {
|
||||
map_execute_lua(false);
|
||||
}
|
||||
// Re-apply 'incsearch' highlighting in case it was cleared.
|
||||
if (display_tick > display_tick_saved && s->is_state.did_incsearch) {
|
||||
may_do_incsearch_highlighting(s->firstc, s->count, &s->is_state);
|
||||
}
|
||||
|
||||
// nvim_select_popupmenu_item() can be called from the handling of
|
||||
// K_EVENT, K_COMMAND, or K_LUA.
|
||||
|
Reference in New Issue
Block a user