mirror of
https://github.com/neovim/neovim.git
synced 2024-12-24 21:25:04 -07:00
Merge #8604 from janlazo/vim-8.0.0286
This commit is contained in:
commit
072448a2c9
@ -477,6 +477,25 @@ void update_screen(int type)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Prepare for updating one or more windows.
|
||||||
|
// Caller must check for "updating_screen" already set to avoid recursiveness.
|
||||||
|
static void update_prepare(void)
|
||||||
|
{
|
||||||
|
updating_screen = true;
|
||||||
|
start_search_hl();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Finish updating one or more windows.
|
||||||
|
static void update_finish(void)
|
||||||
|
{
|
||||||
|
if (redraw_cmdline) {
|
||||||
|
showmode();
|
||||||
|
}
|
||||||
|
|
||||||
|
end_search_hl();
|
||||||
|
updating_screen = false;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return TRUE if the cursor line in window "wp" may be concealed, according
|
* Return TRUE if the cursor line in window "wp" may be concealed, according
|
||||||
* to the 'concealcursor' option.
|
* to the 'concealcursor' option.
|
||||||
@ -522,52 +541,28 @@ void update_single_line(win_T *wp, linenr_T lnum)
|
|||||||
if (linebuf_char == NULL || updating_screen) {
|
if (linebuf_char == NULL || updating_screen) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
updating_screen = true;
|
|
||||||
|
|
||||||
if (lnum >= wp->w_topline && lnum < wp->w_botline
|
if (lnum >= wp->w_topline && lnum < wp->w_botline
|
||||||
&& foldedCount(wp, lnum, &win_foldinfo) == 0) {
|
&& foldedCount(wp, lnum, &win_foldinfo) == 0) {
|
||||||
|
update_prepare();
|
||||||
|
|
||||||
row = 0;
|
row = 0;
|
||||||
for (j = 0; j < wp->w_lines_valid; ++j) {
|
for (j = 0; j < wp->w_lines_valid; ++j) {
|
||||||
if (lnum == wp->w_lines[j].wl_lnum) {
|
if (lnum == wp->w_lines[j].wl_lnum) {
|
||||||
init_search_hl(wp);
|
init_search_hl(wp);
|
||||||
start_search_hl();
|
|
||||||
prepare_search_hl(wp, lnum);
|
prepare_search_hl(wp, lnum);
|
||||||
update_window_hl(wp, false);
|
update_window_hl(wp, false);
|
||||||
// allocate window grid if not already
|
// allocate window grid if not already
|
||||||
win_grid_alloc(wp);
|
win_grid_alloc(wp);
|
||||||
win_line(wp, lnum, row, row + wp->w_lines[j].wl_size, false, false);
|
win_line(wp, lnum, row, row + wp->w_lines[j].wl_size, false, false);
|
||||||
end_search_hl();
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
row += wp->w_lines[j].wl_size;
|
row += wp->w_lines[j].wl_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
update_finish();
|
||||||
}
|
}
|
||||||
need_cursor_line_redraw = false;
|
need_cursor_line_redraw = false;
|
||||||
updating_screen = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Prepare for updating one or more windows.
|
|
||||||
* Caller must check for "updating_screen" already set to avoid recursiveness.
|
|
||||||
*/
|
|
||||||
static void update_prepare(void)
|
|
||||||
{
|
|
||||||
updating_screen = TRUE;
|
|
||||||
start_search_hl();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Finish updating one or more windows.
|
|
||||||
*/
|
|
||||||
static void update_finish(void)
|
|
||||||
{
|
|
||||||
if (redraw_cmdline) {
|
|
||||||
showmode();
|
|
||||||
}
|
|
||||||
|
|
||||||
end_search_hl();
|
|
||||||
updating_screen = FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void update_debug_sign(const buf_T *const buf, const linenr_T lnum)
|
void update_debug_sign(const buf_T *const buf, const linenr_T lnum)
|
||||||
@ -2941,8 +2936,8 @@ win_line (
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (draw_state == WL_LINE && area_highlighting) {
|
if (draw_state == WL_LINE && (area_highlighting || has_spell)) {
|
||||||
/* handle Visual or match highlighting in this line */
|
// handle Visual or match highlighting in this line
|
||||||
if (vcol == fromcol
|
if (vcol == fromcol
|
||||||
|| (vcol + 1 == fromcol && n_extra == 0
|
|| (vcol + 1 == fromcol && n_extra == 0
|
||||||
&& utf_ptr2cells(ptr) > 1)
|
&& utf_ptr2cells(ptr) > 1)
|
||||||
|
Loading…
Reference in New Issue
Block a user