0
0
mirror of https://github.com/vim/vim.git synced 2025-10-22 08:34:29 -04:00

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:
Naruhiko Nishino
2025-05-14 21:20:28 +02:00
committed by Christian Brabandt
parent 7200eae212
commit be5bd4d629
100 changed files with 2314 additions and 164 deletions

View File

@@ -875,7 +875,7 @@ wlv_screen_line(win_T *wp, winlinevars_T *wlv, int clear_end)
}
}
screen_line(wp, wlv->screen_row, wp->w_wincol, wlv->col,
screen_line(wp, wlv->screen_row, wp->w_wincol + TPL_LCOL(wp), wlv->col,
clear_end ? wp->w_width : -wp->w_width,
wlv->vcol - 1, wlv->screen_line_flags);
}
@@ -4355,7 +4355,7 @@ win_line(
#ifdef FEAT_PROP_POPUP
&& !text_prop_above && !text_prop_follows
#endif
&& wp->w_width == Columns)
&& wp->w_width == COLUMNS_WITHOUT_TPL())
{
// Remember that the line wraps, used for modeless copy.
LineWraps[wlv.screen_row - 1] = TRUE;
@@ -4380,7 +4380,7 @@ win_line(
== 2
|| (*mb_off2cells)(
LineOffset[wlv.screen_row - 1]
+ (int)Columns - 2,
+ (int)COLUMNS_WITHOUT_TPL() - 2,
LineOffset[wlv.screen_row]
+ screen_Columns) == 2)))
{
@@ -4390,17 +4390,17 @@ win_line(
// auto-wrap, we overwrite the character.
if (screen_cur_col != wp->w_width)
screen_char(LineOffset[wlv.screen_row - 1]
+ (unsigned)Columns - 1,
wlv.screen_row - 1, (int)(Columns - 1));
+ (unsigned)COLUMNS_WITHOUT_TPL() - 1,
wlv.screen_row - 1, (int)(COLUMNS_WITHOUT_TPL() - 1));
// When there is a multi-byte character, just output a
// space to keep it simple.
if (has_mbyte && MB_BYTE2LEN(ScreenLines[LineOffset[
wlv.screen_row - 1] + (Columns - 1)]) > 1)
wlv.screen_row - 1] + (COLUMNS_WITHOUT_TPL() - 1)]) > 1)
out_char(' ');
else
out_char(ScreenLines[LineOffset[wlv.screen_row - 1]
+ (Columns - 1)]);
+ (COLUMNS_WITHOUT_TPL() - 1)]);
// force a redraw of the first char on the next line
ScreenAttrs[LineOffset[wlv.screen_row]] = (sattr_T)-1;
screen_start(); // don't know where cursor is now