patch 9.1.1391: Vim does not have a vertical tabpanel
Problem: Vim does not have a tabpanel
Solution: include the tabpanel feature
(Naruhiko Nishino, thinca)
closes: #17263
Co-authored-by: thinca <thinca@gmail.com>
Signed-off-by: Naruhiko Nishino <naru123456789@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
7200eae212
commit
be5bd4d629
@ -209,6 +209,9 @@ update_screen(int type_arg)
|
||||
redraw_cmdline = TRUE;
|
||||
redraw_tabline = TRUE;
|
||||
}
|
||||
#if defined(FEAT_TABPANEL)
|
||||
redraw_tabpanel = TRUE;
|
||||
#endif
|
||||
}
|
||||
msg_scrolled = 0;
|
||||
need_wait_return = FALSE;
|
||||
@ -265,6 +268,11 @@ update_screen(int type_arg)
|
||||
if (redraw_tabline || type >= UPD_NOT_VALID)
|
||||
draw_tabline();
|
||||
|
||||
#if defined(FEAT_TABPANEL)
|
||||
if (redraw_tabpanel || type >= UPD_NOT_VALID)
|
||||
draw_tabpanel();
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_SYN_HL
|
||||
// Correct stored syntax highlighting info for changes in each displayed
|
||||
// buffer. Each buffer must only be done once.
|
||||
@ -331,6 +339,10 @@ update_screen(int type_arg)
|
||||
win_redr_status(wp, TRUE); // any popup menu will be redrawn below
|
||||
}
|
||||
}
|
||||
#if defined(FEAT_TABPANEL)
|
||||
if (redraw_tabpanel)
|
||||
draw_tabpanel();
|
||||
#endif
|
||||
#if defined(FEAT_SEARCH_EXTRA)
|
||||
end_search_hl();
|
||||
#endif
|
||||
@ -529,14 +541,13 @@ win_redr_status(win_T *wp, int ignore_pum UNUSED)
|
||||
plen = this_ru_col - 1;
|
||||
}
|
||||
|
||||
screen_puts(p, row, wp->w_wincol, attr);
|
||||
screen_fill(row, row + 1, plen + wp->w_wincol,
|
||||
this_ru_col + wp->w_wincol, fillchar, fillchar, attr);
|
||||
|
||||
screen_puts(p, row, wp->w_wincol + TPL_LCOL(wp), attr);
|
||||
screen_fill(row, row + 1, plen + wp->w_wincol + TPL_LCOL(wp),
|
||||
this_ru_col + wp->w_wincol + TPL_LCOL(wp), fillchar, fillchar, attr);
|
||||
if ((NameBufflen = get_keymap_str(wp, (char_u *)"<%s>", NameBuff, MAXPATHL)) > 0
|
||||
&& (this_ru_col - plen) > (NameBufflen + 1))
|
||||
screen_puts(NameBuff, row, (int)(this_ru_col - NameBufflen
|
||||
- 1 + wp->w_wincol), attr);
|
||||
- 1 + wp->w_wincol + TPL_LCOL(wp)), attr);
|
||||
|
||||
win_redr_ruler(wp, TRUE, ignore_pum);
|
||||
|
||||
@ -561,7 +572,8 @@ win_redr_status(win_T *wp, int ignore_pum UNUSED)
|
||||
fillchar = fillchar_status(&attr, wp);
|
||||
else
|
||||
fillchar = fillchar_vsep(&attr, wp);
|
||||
screen_putchar(fillchar, row, W_ENDCOL(wp), attr);
|
||||
if (W_ENDCOL(wp) < COLUMNS_WITHOUT_TPL())
|
||||
screen_putchar(fillchar, row, W_ENDCOL(wp) + TPL_LCOL(wp), attr);
|
||||
}
|
||||
busy = FALSE;
|
||||
}
|
||||
@ -620,6 +632,11 @@ showruler(int always)
|
||||
// Redraw the tab pages line if needed.
|
||||
if (redraw_tabline)
|
||||
draw_tabline();
|
||||
|
||||
#if defined(FEAT_TABPANEL)
|
||||
if (redraw_tabpanel)
|
||||
draw_tabpanel();
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
@ -781,11 +798,11 @@ win_redr_ruler(win_T *wp, int always, int ignore_pum)
|
||||
buffer[bufferlen] = NUL;
|
||||
}
|
||||
|
||||
screen_puts(buffer, row, this_ru_col + off, attr);
|
||||
screen_puts(buffer, row, this_ru_col + off + TPL_LCOL(wp), attr);
|
||||
n1 = redraw_cmdline;
|
||||
screen_fill(row, row + 1,
|
||||
this_ru_col + off + bufferlen,
|
||||
(off + width),
|
||||
this_ru_col + off + bufferlen + TPL_LCOL(wp),
|
||||
(off + width) + TPL_LCOL(wp),
|
||||
fillchar, fillchar, attr);
|
||||
// don't redraw the cmdline because of showing the ruler
|
||||
redraw_cmdline = n1;
|
||||
@ -1026,8 +1043,8 @@ redraw_win_toolbar(win_T *wp)
|
||||
}
|
||||
wp->w_winbar_items[item_idx].wb_menu = NULL; // end marker
|
||||
|
||||
screen_line(wp, wp->w_winrow, wp->w_wincol, wp->w_width, wp->w_width, -1,
|
||||
0);
|
||||
screen_line(wp, wp->w_winrow, wp->w_wincol + TPL_LCOL(wp), wp->w_width,
|
||||
wp->w_width, -1, 0);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -1361,8 +1378,8 @@ fold_line(
|
||||
}
|
||||
#endif
|
||||
|
||||
screen_line(wp, row + W_WINROW(wp), wp->w_wincol,
|
||||
wp->w_width, wp->w_width, -1, 0);
|
||||
screen_line(wp, row + W_WINROW(wp), wp->w_wincol + TPL_LCOL(wp),
|
||||
wp->w_width, wp->w_width, -1, 0);
|
||||
|
||||
// Update w_cline_height and w_cline_folded if the cursor line was
|
||||
// updated (saves a call to plines() later).
|
||||
@ -2672,8 +2689,8 @@ win_update(win_T *wp)
|
||||
// Last line isn't finished: Display "@@@" at the end.
|
||||
screen_fill(W_WINROW(wp) + wp->w_height - 1,
|
||||
W_WINROW(wp) + wp->w_height,
|
||||
start_col < wp->w_wincol ? wp->w_wincol : start_col,
|
||||
(int)W_ENDCOL(wp),
|
||||
(start_col < wp->w_wincol ? wp->w_wincol : start_col) + TPL_LCOL(wp),
|
||||
(int)W_ENDCOL(wp) + TPL_LCOL(wp),
|
||||
symbol, symbol, HL_ATTR(HLF_AT));
|
||||
set_empty_rows(wp, srow);
|
||||
wp->w_botline = lnum;
|
||||
@ -2898,6 +2915,11 @@ update_debug_sign(buf_T *buf, linenr_T lnum)
|
||||
win_redr_status(wp, FALSE);
|
||||
}
|
||||
|
||||
#if defined(FEAT_TABPANEL)
|
||||
if (redraw_tabpanel)
|
||||
draw_tabpanel();
|
||||
#endif
|
||||
|
||||
update_finish();
|
||||
}
|
||||
#endif
|
||||
@ -2930,6 +2952,11 @@ updateWindow(win_T *wp)
|
||||
if (redraw_tabline)
|
||||
draw_tabline();
|
||||
|
||||
#if defined(FEAT_TABPANEL)
|
||||
if (redraw_tabpanel)
|
||||
draw_tabpanel();
|
||||
#endif
|
||||
|
||||
if (wp->w_redr_status || p_ru
|
||||
# ifdef FEAT_STL_OPT
|
||||
|| *p_stl != NUL || *wp->w_p_stl != NUL
|
||||
@ -3328,6 +3355,11 @@ redraw_statuslines(void)
|
||||
win_redr_status(wp, FALSE);
|
||||
if (redraw_tabline)
|
||||
draw_tabline();
|
||||
|
||||
#if defined(FEAT_TABPANEL)
|
||||
if (redraw_tabpanel)
|
||||
draw_tabpanel();
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user