forked from aniani/vim
patch 9.1.1425: tabpanel: there are still some problems with the tabpanel
Problem: tabpanel: there are still some problems with the tabpanel with column handling Solution: fix the problems and refactor Tabpanel feature (Hirohito Higashi). fixes: #17423 fixes: #17332 closes: #17336 Signed-off-by: Hirohito Higashi <h.east.727@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
parent
6c40df09e0
commit
3b9b95dc63
@ -1,4 +1,4 @@
|
|||||||
*builtin.txt* For Vim version 9.1. Last change: 2025 May 28
|
*builtin.txt* For Vim version 9.1. Last change: 2025 Jun 01
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -4728,10 +4728,9 @@ getmousepos() *getmousepos()*
|
|||||||
start of the clicked char
|
start of the clicked char
|
||||||
All numbers are 1-based.
|
All numbers are 1-based.
|
||||||
|
|
||||||
If not over a window, e.g. when in the command line, then only
|
If not over a window, e.g. when in the command line or within
|
||||||
"screenrow" and "screencol" are valid, the others are zero.
|
|tabpanel|, then only "screenrow" and "screencol" are valid,
|
||||||
|
the others are zero.
|
||||||
When on the |tabpanel|, "wincol" value is zero.
|
|
||||||
|
|
||||||
When on the status line below a window or the vertical
|
When on the status line below a window or the vertical
|
||||||
separator right of a window, the "line" and "column" values
|
separator right of a window, the "line" and "column" values
|
||||||
|
@ -404,7 +404,7 @@ clip_invert_rectangle(
|
|||||||
gui_mch_invert_rectangle(row, col, height, width);
|
gui_mch_invert_rectangle(row, col, height, width);
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
screen_draw_rectangle(row, col + TPL_LCOL(NULL), height, width, invert);
|
screen_draw_rectangle(row, col, height, width, invert);
|
||||||
#ifdef FEAT_PROP_POPUP
|
#ifdef FEAT_PROP_POPUP
|
||||||
screen_zindex = 0;
|
screen_zindex = 0;
|
||||||
#endif
|
#endif
|
||||||
|
@ -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 + TPL_LCOL(wp), wlv->col,
|
screen_line(wp, wlv->screen_row, wp->w_wincol, wlv->col,
|
||||||
clear_end ? wp->w_width : -wp->w_width,
|
clear_end ? wp->w_width : -wp->w_width,
|
||||||
wlv->vcol - 1, wlv->screen_line_flags);
|
wlv->vcol - 1, wlv->screen_line_flags);
|
||||||
}
|
}
|
||||||
@ -4355,7 +4355,7 @@ win_line(
|
|||||||
#ifdef FEAT_PROP_POPUP
|
#ifdef FEAT_PROP_POPUP
|
||||||
&& !text_prop_above && !text_prop_follows
|
&& !text_prop_above && !text_prop_follows
|
||||||
#endif
|
#endif
|
||||||
&& wp->w_width == COLUMNS_WITHOUT_TPL())
|
&& wp->w_width == Columns)
|
||||||
{
|
{
|
||||||
// Remember that the line wraps, used for modeless copy.
|
// Remember that the line wraps, used for modeless copy.
|
||||||
LineWraps[wlv.screen_row - 1] = TRUE;
|
LineWraps[wlv.screen_row - 1] = TRUE;
|
||||||
@ -4380,7 +4380,7 @@ win_line(
|
|||||||
== 2
|
== 2
|
||||||
|| (*mb_off2cells)(
|
|| (*mb_off2cells)(
|
||||||
LineOffset[wlv.screen_row - 1]
|
LineOffset[wlv.screen_row - 1]
|
||||||
+ (int)COLUMNS_WITHOUT_TPL() - 2,
|
+ (int)topframe->fr_width - 2,
|
||||||
LineOffset[wlv.screen_row]
|
LineOffset[wlv.screen_row]
|
||||||
+ screen_Columns) == 2)))
|
+ screen_Columns) == 2)))
|
||||||
{
|
{
|
||||||
@ -4390,17 +4390,17 @@ win_line(
|
|||||||
// auto-wrap, we overwrite the character.
|
// auto-wrap, we overwrite the character.
|
||||||
if (screen_cur_col != wp->w_width)
|
if (screen_cur_col != wp->w_width)
|
||||||
screen_char(LineOffset[wlv.screen_row - 1]
|
screen_char(LineOffset[wlv.screen_row - 1]
|
||||||
+ (unsigned)COLUMNS_WITHOUT_TPL() - 1,
|
+ (unsigned)topframe->fr_width - 1,
|
||||||
wlv.screen_row - 1, (int)(COLUMNS_WITHOUT_TPL() - 1));
|
wlv.screen_row - 1, (int)(topframe->fr_width - 1));
|
||||||
|
|
||||||
// When there is a multi-byte character, just output a
|
// When there is a multi-byte character, just output a
|
||||||
// space to keep it simple.
|
// space to keep it simple.
|
||||||
if (has_mbyte && MB_BYTE2LEN(ScreenLines[LineOffset[
|
if (has_mbyte && MB_BYTE2LEN(ScreenLines[LineOffset[
|
||||||
wlv.screen_row - 1] + (COLUMNS_WITHOUT_TPL() - 1)]) > 1)
|
wlv.screen_row - 1] + (topframe->fr_width - 1)]) > 1)
|
||||||
out_char(' ');
|
out_char(' ');
|
||||||
else
|
else
|
||||||
out_char(ScreenLines[LineOffset[wlv.screen_row - 1]
|
out_char(ScreenLines[LineOffset[wlv.screen_row - 1]
|
||||||
+ (COLUMNS_WITHOUT_TPL() - 1)]);
|
+ (topframe->fr_width - 1)]);
|
||||||
// force a redraw of the first char on the next line
|
// force a redraw of the first char on the next line
|
||||||
ScreenAttrs[LineOffset[wlv.screen_row]] = (sattr_T)-1;
|
ScreenAttrs[LineOffset[wlv.screen_row]] = (sattr_T)-1;
|
||||||
screen_start(); // don't know where cursor is now
|
screen_start(); // don't know where cursor is now
|
||||||
|
@ -541,13 +541,13 @@ win_redr_status(win_T *wp, int ignore_pum UNUSED)
|
|||||||
plen = this_ru_col - 1;
|
plen = this_ru_col - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
screen_puts(p, row, wp->w_wincol + TPL_LCOL(wp), attr);
|
screen_puts(p, row, wp->w_wincol, attr);
|
||||||
screen_fill(row, row + 1, plen + wp->w_wincol + TPL_LCOL(wp),
|
screen_fill(row, row + 1, plen + wp->w_wincol,
|
||||||
this_ru_col + wp->w_wincol + TPL_LCOL(wp), fillchar, fillchar, attr);
|
this_ru_col + wp->w_wincol, fillchar, fillchar, attr);
|
||||||
if ((NameBufflen = get_keymap_str(wp, (char_u *)"<%s>", NameBuff, MAXPATHL)) > 0
|
if ((NameBufflen = get_keymap_str(wp, (char_u *)"<%s>", NameBuff, MAXPATHL)) > 0
|
||||||
&& (this_ru_col - plen) > (NameBufflen + 1))
|
&& (this_ru_col - plen) > (NameBufflen + 1))
|
||||||
screen_puts(NameBuff, row, (int)(this_ru_col - NameBufflen
|
screen_puts(NameBuff, row, (int)(this_ru_col - NameBufflen
|
||||||
- 1 + wp->w_wincol + TPL_LCOL(wp)), attr);
|
- 1 + wp->w_wincol), attr);
|
||||||
|
|
||||||
win_redr_ruler(wp, TRUE, ignore_pum);
|
win_redr_ruler(wp, TRUE, ignore_pum);
|
||||||
|
|
||||||
@ -572,8 +572,7 @@ win_redr_status(win_T *wp, int ignore_pum UNUSED)
|
|||||||
fillchar = fillchar_status(&attr, wp);
|
fillchar = fillchar_status(&attr, wp);
|
||||||
else
|
else
|
||||||
fillchar = fillchar_vsep(&attr, wp);
|
fillchar = fillchar_vsep(&attr, wp);
|
||||||
if (W_ENDCOL(wp) < COLUMNS_WITHOUT_TPL())
|
screen_putchar(fillchar, row, W_ENDCOL(wp), attr);
|
||||||
screen_putchar(fillchar, row, W_ENDCOL(wp) + TPL_LCOL(wp), attr);
|
|
||||||
}
|
}
|
||||||
busy = FALSE;
|
busy = FALSE;
|
||||||
}
|
}
|
||||||
@ -798,11 +797,11 @@ win_redr_ruler(win_T *wp, int always, int ignore_pum)
|
|||||||
buffer[bufferlen] = NUL;
|
buffer[bufferlen] = NUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
screen_puts(buffer, row, this_ru_col + off + TPL_LCOL(wp), attr);
|
screen_puts(buffer, row, this_ru_col + off, attr);
|
||||||
n1 = redraw_cmdline;
|
n1 = redraw_cmdline;
|
||||||
screen_fill(row, row + 1,
|
screen_fill(row, row + 1,
|
||||||
this_ru_col + off + bufferlen + TPL_LCOL(wp),
|
this_ru_col + off + bufferlen,
|
||||||
(off + width) + TPL_LCOL(wp),
|
(off + width),
|
||||||
fillchar, fillchar, attr);
|
fillchar, fillchar, attr);
|
||||||
// don't redraw the cmdline because of showing the ruler
|
// don't redraw the cmdline because of showing the ruler
|
||||||
redraw_cmdline = n1;
|
redraw_cmdline = n1;
|
||||||
@ -1043,7 +1042,7 @@ redraw_win_toolbar(win_T *wp)
|
|||||||
}
|
}
|
||||||
wp->w_winbar_items[item_idx].wb_menu = NULL; // end marker
|
wp->w_winbar_items[item_idx].wb_menu = NULL; // end marker
|
||||||
|
|
||||||
screen_line(wp, wp->w_winrow, wp->w_wincol + TPL_LCOL(wp), wp->w_width,
|
screen_line(wp, wp->w_winrow, wp->w_wincol, wp->w_width,
|
||||||
wp->w_width, -1, 0);
|
wp->w_width, -1, 0);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -1378,8 +1377,8 @@ fold_line(
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
screen_line(wp, row + W_WINROW(wp), wp->w_wincol + TPL_LCOL(wp),
|
screen_line(wp, row + W_WINROW(wp), wp->w_wincol, wp->w_width, wp->w_width,
|
||||||
wp->w_width, wp->w_width, -1, 0);
|
-1, 0);
|
||||||
|
|
||||||
// Update w_cline_height and w_cline_folded if the cursor line was
|
// Update w_cline_height and w_cline_folded if the cursor line was
|
||||||
// updated (saves a call to plines() later).
|
// updated (saves a call to plines() later).
|
||||||
@ -2613,13 +2612,16 @@ win_update(win_T *wp)
|
|||||||
|
|
||||||
for (k = 0; k < Rows; ++k)
|
for (k = 0; k < Rows; ++k)
|
||||||
if (enc_utf8)
|
if (enc_utf8)
|
||||||
if ((*mb_off2cells)(LineOffset[k] + Columns - 2,
|
if ((*mb_off2cells)(LineOffset[k] + topframe->fr_width - 2,
|
||||||
LineOffset[k] + screen_Columns) > 1)
|
LineOffset[k] + screen_Columns) > 1)
|
||||||
screen_draw_rectangle(k, Columns - 2, 1, 2, FALSE);
|
screen_draw_rectangle(k, topframe->fr_width - 2, 1, 2,
|
||||||
|
FALSE);
|
||||||
else
|
else
|
||||||
screen_draw_rectangle(k, Columns - 1, 1, 1, FALSE);
|
screen_draw_rectangle(k, topframe->fr_width - 1, 1, 1,
|
||||||
|
FALSE);
|
||||||
else
|
else
|
||||||
screen_char(LineOffset[k] + Columns - 1, k, Columns - 1);
|
screen_char(LineOffset[k] + topframe->fr_width - 1, k,
|
||||||
|
Columns - 1);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -2689,8 +2691,8 @@ win_update(win_T *wp)
|
|||||||
// Last line isn't finished: Display "@@@" at the end.
|
// Last line isn't finished: Display "@@@" at the end.
|
||||||
screen_fill(W_WINROW(wp) + wp->w_height - 1,
|
screen_fill(W_WINROW(wp) + wp->w_height - 1,
|
||||||
W_WINROW(wp) + wp->w_height,
|
W_WINROW(wp) + wp->w_height,
|
||||||
(start_col < wp->w_wincol ? wp->w_wincol : start_col) + TPL_LCOL(wp),
|
(start_col < wp->w_wincol ? wp->w_wincol : start_col),
|
||||||
(int)W_ENDCOL(wp) + TPL_LCOL(wp),
|
(int)W_ENDCOL(wp),
|
||||||
symbol, symbol, HL_ATTR(HLF_AT));
|
symbol, symbol, HL_ATTR(HLF_AT));
|
||||||
set_empty_rows(wp, srow);
|
set_empty_rows(wp, srow);
|
||||||
wp->w_botline = lnum;
|
wp->w_botline = lnum;
|
||||||
|
@ -1716,7 +1716,7 @@ edit_putchar(int c, int highlight)
|
|||||||
|
|
||||||
if (fix_col != pc_col)
|
if (fix_col != pc_col)
|
||||||
{
|
{
|
||||||
screen_putchar(' ', pc_row, fix_col + TPL_LCOL(NULL), attr);
|
screen_putchar(' ', pc_row, fix_col, attr);
|
||||||
--curwin->w_wcol;
|
--curwin->w_wcol;
|
||||||
pc_status = PC_STATUS_RIGHT;
|
pc_status = PC_STATUS_RIGHT;
|
||||||
}
|
}
|
||||||
@ -1736,7 +1736,7 @@ edit_putchar(int c, int highlight)
|
|||||||
screen_getbytes(pc_row, pc_col, pc_bytes, &pc_attr);
|
screen_getbytes(pc_row, pc_col, pc_bytes, &pc_attr);
|
||||||
pc_status = PC_STATUS_SET;
|
pc_status = PC_STATUS_SET;
|
||||||
}
|
}
|
||||||
screen_putchar(c, pc_row, pc_col + TPL_LCOL(NULL), attr);
|
screen_putchar(c, pc_row, pc_col, attr);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(FEAT_JOB_CHANNEL) || defined(PROTO)
|
#if defined(FEAT_JOB_CHANNEL) || defined(PROTO)
|
||||||
|
@ -8234,7 +8234,7 @@ ex_sleep(exarg_T *eap)
|
|||||||
{
|
{
|
||||||
n = W_WINROW(curwin) + curwin->w_wrow - msg_scrolled;
|
n = W_WINROW(curwin) + curwin->w_wrow - msg_scrolled;
|
||||||
if (n >= 0)
|
if (n >= 0)
|
||||||
windgoto(n, curwin->w_wincol + curwin->w_wcol + TPL_LCOL(curwin));
|
windgoto(n, curwin->w_wincol + curwin->w_wcol);
|
||||||
}
|
}
|
||||||
|
|
||||||
len = eap->line2;
|
len = eap->line2;
|
||||||
|
@ -4907,8 +4907,6 @@ xy2win(int x, int y, mouse_find_T popup)
|
|||||||
row = Y_2_ROW(y);
|
row = Y_2_ROW(y);
|
||||||
col = X_2_COL(x);
|
col = X_2_COL(x);
|
||||||
|
|
||||||
col -= TPL_LCOL(NULL);
|
|
||||||
|
|
||||||
if (row < 0 || col < 0) // before first window
|
if (row < 0 || col < 0) // before first window
|
||||||
return NULL;
|
return NULL;
|
||||||
wp = mouse_find_win(&row, &col, popup);
|
wp = mouse_find_win(&row, &col, popup);
|
||||||
@ -5379,8 +5377,6 @@ gui_wingoto_xy(int x, int y)
|
|||||||
int col = X_2_COL(x);
|
int col = X_2_COL(x);
|
||||||
win_T *wp;
|
win_T *wp;
|
||||||
|
|
||||||
col -= TPL_LCOL(NULL);
|
|
||||||
|
|
||||||
if (row < 0 || col < 0)
|
if (row < 0 || col < 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
27
src/mouse.c
27
src/mouse.c
@ -479,9 +479,11 @@ do_mouse(
|
|||||||
|
|
||||||
start_visual.lnum = 0;
|
start_visual.lnum = 0;
|
||||||
|
|
||||||
// Check for clicking in the tab page line.
|
// Check for clicking in the tab page panel.
|
||||||
#if defined(FEAT_TABPANEL)
|
#if defined(FEAT_TABPANEL)
|
||||||
if (mouse_col < TPL_LCOL(NULL))
|
if (mouse_row < firstwin->w_winrow + topframe->fr_height
|
||||||
|
&& (mouse_col < firstwin->w_wincol
|
||||||
|
|| mouse_col >= firstwin->w_wincol + topframe->fr_width))
|
||||||
{
|
{
|
||||||
if (is_drag)
|
if (is_drag)
|
||||||
{
|
{
|
||||||
@ -499,7 +501,7 @@ do_mouse(
|
|||||||
# ifdef FEAT_CMDWIN
|
# ifdef FEAT_CMDWIN
|
||||||
&& cmdwin_type == 0
|
&& cmdwin_type == 0
|
||||||
# endif
|
# endif
|
||||||
&& mouse_col < Columns)
|
)
|
||||||
{
|
{
|
||||||
in_tabpanel = TRUE;
|
in_tabpanel = TRUE;
|
||||||
c1 = get_tabpagenr_on_tabpanel();
|
c1 = get_tabpagenr_on_tabpanel();
|
||||||
@ -568,7 +570,8 @@ do_mouse(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// click in a tab selects that tab page
|
// click in a tab selects that tab page
|
||||||
if (is_click && cmdwin_type == 0 && mouse_col < Columns)
|
if (is_click && cmdwin_type == 0
|
||||||
|
&& mouse_col < firstwin->w_wincol + topframe->fr_width)
|
||||||
{
|
{
|
||||||
in_tab_line = TRUE;
|
in_tab_line = TRUE;
|
||||||
c1 = TabPageIdxs[mouse_col];
|
c1 = TabPageIdxs[mouse_col];
|
||||||
@ -1725,10 +1728,6 @@ jump_to_mouse(
|
|||||||
int mouse_char = ' ';
|
int mouse_char = ' ';
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
col -= TPL_LCOL(NULL);
|
|
||||||
if (col < 0)
|
|
||||||
return IN_TABPANEL;
|
|
||||||
|
|
||||||
mouse_past_bottom = FALSE;
|
mouse_past_bottom = FALSE;
|
||||||
mouse_past_eol = FALSE;
|
mouse_past_eol = FALSE;
|
||||||
|
|
||||||
@ -1813,7 +1812,7 @@ retnomove:
|
|||||||
|
|
||||||
if (!(flags & MOUSE_FOCUS))
|
if (!(flags & MOUSE_FOCUS))
|
||||||
{
|
{
|
||||||
if (row < 0 || col + TPL_LCOL(NULL) < 0) // check if it makes sense
|
if (row < 0 || col < 0) // check if it makes sense
|
||||||
return IN_UNKNOWN;
|
return IN_UNKNOWN;
|
||||||
|
|
||||||
// find the window where the row is in and adjust "row" and "col" to be
|
// find the window where the row is in and adjust "row" and "col" to be
|
||||||
@ -3220,7 +3219,14 @@ mouse_find_win(int *rowp, int *colp, mouse_find_T popup UNUSED)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
fp = topframe;
|
fp = topframe;
|
||||||
|
|
||||||
|
if (*colp < firstwin->w_wincol
|
||||||
|
|| *colp >= firstwin->w_wincol + fp->fr_width
|
||||||
|
|| *rowp < firstwin->w_winrow)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
*rowp -= firstwin->w_winrow;
|
*rowp -= firstwin->w_winrow;
|
||||||
|
*colp -= firstwin->w_wincol;
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
if (fp->fr_layout == FR_LEAF)
|
if (fp->fr_layout == FR_LEAF)
|
||||||
@ -3333,9 +3339,6 @@ f_getmousepos(typval_T *argvars UNUSED, typval_T *rettv)
|
|||||||
winid = wp->w_id;
|
winid = wp->w_id;
|
||||||
winrow = row + 1;
|
winrow = row + 1;
|
||||||
wincol = col + 1;
|
wincol = col + 1;
|
||||||
wincol -= TPL_LCOL(NULL);
|
|
||||||
if (wincol < 0)
|
|
||||||
wincol = 0;
|
|
||||||
row -= top_off;
|
row -= top_off;
|
||||||
col -= left_off;
|
col -= left_off;
|
||||||
if (row >= 0 && row < wp->w_height && col >= 0 && col < wp->w_width)
|
if (row >= 0 && row < wp->w_height && col >= 0 && col < wp->w_width)
|
||||||
|
@ -658,25 +658,22 @@ pum_display_rtl_text(
|
|||||||
width = cells + over_cell + 1;
|
width = cells + over_cell + 1;
|
||||||
rt = orig_rt;
|
rt = orig_rt;
|
||||||
|
|
||||||
screen_putchar(truncrl, row,
|
screen_putchar(truncrl, row, col - width + 1, trunc_attr);
|
||||||
col - width + 1 + TPL_LCOL(NULL), trunc_attr);
|
|
||||||
|
|
||||||
if (over_cell > 0)
|
if (over_cell > 0)
|
||||||
screen_fill(row, row + 1, col - width + 2 + TPL_LCOL(NULL),
|
screen_fill(row, row + 1, col - width + 2,
|
||||||
col - width + 2 + over_cell + TPL_LCOL(NULL), ' ', ' ',
|
col - width + 2 + over_cell, ' ', ' ', attr);
|
||||||
attr);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (attrs == NULL)
|
if (attrs == NULL)
|
||||||
screen_puts_len(rt, (int)STRLEN(rt), row,
|
screen_puts_len(rt, (int)STRLEN(rt), row, col - cells + 1, attr);
|
||||||
col - cells + 1 + TPL_LCOL(NULL), attr);
|
|
||||||
else
|
else
|
||||||
pum_screen_puts_with_attrs(row, col - cells + 1 + TPL_LCOL(NULL),
|
pum_screen_puts_with_attrs(row, col - cells + 1, cells, rt,
|
||||||
cells, rt, (int)STRLEN(rt), attrs);
|
(int)STRLEN(rt), attrs);
|
||||||
|
|
||||||
vim_free(rt_start);
|
vim_free(rt_start);
|
||||||
VIM_CLEAR(st);
|
VIM_CLEAR(st);
|
||||||
return col - width + TPL_LCOL(NULL);
|
return col - width;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -750,19 +747,17 @@ pum_display_ltr_text(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (attrs == NULL)
|
if (attrs == NULL)
|
||||||
screen_puts_len(st, size, row, col + TPL_LCOL(NULL), attr);
|
screen_puts_len(st, size, row, col, attr);
|
||||||
else
|
else
|
||||||
pum_screen_puts_with_attrs(row, col + TPL_LCOL(NULL), cells, st, size,
|
pum_screen_puts_with_attrs(row, col, cells, st, size, attrs);
|
||||||
attrs);
|
|
||||||
|
|
||||||
if (truncated)
|
if (truncated)
|
||||||
{
|
{
|
||||||
if (over_cell > 0)
|
if (over_cell > 0)
|
||||||
screen_fill(row, row + 1, col + cells + TPL_LCOL(NULL),
|
screen_fill(row, row + 1, col + cells,
|
||||||
col + cells + over_cell + TPL_LCOL(NULL), ' ', ' ', attr);
|
col + cells + over_cell, ' ', ' ', attr);
|
||||||
|
|
||||||
screen_putchar(trunc, row,
|
screen_putchar(trunc, row, col + cells + over_cell, trunc_attr);
|
||||||
col + cells + over_cell + TPL_LCOL(NULL), trunc_attr);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
VIM_CLEAR(st);
|
VIM_CLEAR(st);
|
||||||
@ -873,10 +868,10 @@ pum_draw_scrollbar(
|
|||||||
|
|
||||||
#ifdef FEAT_RIGHTLEFT
|
#ifdef FEAT_RIGHTLEFT
|
||||||
if (pum_rl)
|
if (pum_rl)
|
||||||
screen_putchar(' ', row, pum_col - pum_width + TPL_LCOL(NULL), attr);
|
screen_putchar(' ', row, pum_col - pum_width, attr);
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
screen_putchar(' ', row, pum_col + pum_width + TPL_LCOL(NULL), attr);
|
screen_putchar(' ', row, pum_col + pum_width, attr);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -959,12 +954,12 @@ pum_redraw(void)
|
|||||||
if (pum_rl)
|
if (pum_rl)
|
||||||
{
|
{
|
||||||
if (pum_col < curwin->w_wincol + curwin->w_width - 1)
|
if (pum_col < curwin->w_wincol + curwin->w_width - 1)
|
||||||
screen_putchar(' ', row, pum_col + 1 + TPL_LCOL(NULL), attr);
|
screen_putchar(' ', row, pum_col + 1, attr);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
if (pum_col > 0)
|
if (pum_col > 0)
|
||||||
screen_putchar(' ', row, pum_col - 1 + TPL_LCOL(NULL), attr);
|
screen_putchar(' ', row, pum_col - 1, attr);
|
||||||
|
|
||||||
// Display each entry, use two spaces for a Tab.
|
// Display each entry, use two spaces for a Tab.
|
||||||
// Do this 3 times and order from p_cia
|
// Do this 3 times and order from p_cia
|
||||||
@ -1005,16 +1000,15 @@ pum_redraw(void)
|
|||||||
#ifdef FEAT_RIGHTLEFT
|
#ifdef FEAT_RIGHTLEFT
|
||||||
if (pum_rl)
|
if (pum_rl)
|
||||||
{
|
{
|
||||||
screen_fill(row, row + 1, pum_col - basic_width - n + 1 + TPL_LCOL(NULL),
|
screen_fill(row, row + 1, pum_col - basic_width - n + 1,
|
||||||
col + 1 + TPL_LCOL(NULL), ' ', ' ', orig_attr);
|
col + 1, ' ', ' ', orig_attr);
|
||||||
col = pum_col - basic_width - n;
|
col = pum_col - basic_width - n;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
screen_fill(row, row + 1, col + TPL_LCOL(NULL),
|
screen_fill(row, row + 1, col, pum_col + basic_width + n,
|
||||||
pum_col + basic_width + n + TPL_LCOL(NULL), ' ', ' ',
|
' ', ' ', orig_attr);
|
||||||
orig_attr);
|
|
||||||
col = pum_col + basic_width + n;
|
col = pum_col + basic_width + n;
|
||||||
}
|
}
|
||||||
totwidth = basic_width + n;
|
totwidth = basic_width + n;
|
||||||
@ -1022,14 +1016,12 @@ pum_redraw(void)
|
|||||||
|
|
||||||
#ifdef FEAT_RIGHTLEFT
|
#ifdef FEAT_RIGHTLEFT
|
||||||
if (pum_rl)
|
if (pum_rl)
|
||||||
screen_fill(row, row + 1,
|
screen_fill(row, row + 1, pum_col - pum_width + 1, col + 1, ' ',
|
||||||
pum_col - pum_width + 1 + TPL_LCOL(NULL),
|
' ', orig_attr);
|
||||||
col + 1 + TPL_LCOL(NULL), ' ', ' ', orig_attr);
|
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
screen_fill(row, row + 1, col + TPL_LCOL(NULL),
|
screen_fill(row, row + 1, col, pum_col + pum_width, ' ', ' ',
|
||||||
pum_col + pum_width + TPL_LCOL(NULL),
|
orig_attr);
|
||||||
' ', ' ', orig_attr);
|
|
||||||
pum_draw_scrollbar(row, i, thumb_pos, thumb_height);
|
pum_draw_scrollbar(row, i, thumb_pos, thumb_height);
|
||||||
|
|
||||||
++row;
|
++row;
|
||||||
|
@ -86,7 +86,7 @@ popup_options_one(dict_T *dict, char_u *key)
|
|||||||
if (STRCMP(key, "line") == 0)
|
if (STRCMP(key, "line") == 0)
|
||||||
n = screen_screenrow() + 1 + n;
|
n = screen_screenrow() + 1 + n;
|
||||||
else // "col"
|
else // "col"
|
||||||
n = screen_screencol() + 1 + n - TPL_LCOL(NULL);
|
n = screen_screencol() + 1 + n;
|
||||||
|
|
||||||
// Zero means "not set", use -1 instead.
|
// Zero means "not set", use -1 instead.
|
||||||
if (n == 0)
|
if (n == 0)
|
||||||
@ -1354,15 +1354,15 @@ popup_adjust_position(win_T *wp)
|
|||||||
{
|
{
|
||||||
wp->w_wincol = wantcol - 1;
|
wp->w_wincol = wantcol - 1;
|
||||||
// Need to see at least one character after the decoration.
|
// Need to see at least one character after the decoration.
|
||||||
if (wp->w_wincol > Columns - left_extra - 1)
|
if (wp->w_wincol > firstwin->w_wincol + topframe->fr_width - left_extra - 1)
|
||||||
wp->w_wincol = Columns - left_extra - 1;
|
wp->w_wincol = firstwin->w_wincol + topframe->fr_width - left_extra - 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// When centering or right aligned, use maximum width.
|
// When centering or right aligned, use maximum width.
|
||||||
// When left aligned use the space available, but shift to the left when we
|
// When left aligned use the space available, but shift to the left when we
|
||||||
// hit the right of the screen.
|
// hit the right of the screen.
|
||||||
maxspace = Columns - wp->w_wincol - left_extra;
|
maxspace = firstwin->w_wincol + topframe->fr_width - wp->w_wincol - left_extra;
|
||||||
maxwidth = maxspace;
|
maxwidth = maxspace;
|
||||||
if (wp->w_maxwidth > 0 && maxwidth > wp->w_maxwidth)
|
if (wp->w_maxwidth > 0 && maxwidth > wp->w_maxwidth)
|
||||||
{
|
{
|
||||||
@ -1545,7 +1545,7 @@ popup_adjust_position(win_T *wp)
|
|||||||
}
|
}
|
||||||
if (center_hor)
|
if (center_hor)
|
||||||
{
|
{
|
||||||
wp->w_wincol = (Columns - wp->w_width - extra_width - TPL_LCOL(NULL)) / 2;
|
wp->w_wincol = (firstwin->w_wincol + topframe->fr_width - wp->w_width - extra_width) / 2;
|
||||||
if (wp->w_wincol < 0)
|
if (wp->w_wincol < 0)
|
||||||
wp->w_wincol = 0;
|
wp->w_wincol = 0;
|
||||||
}
|
}
|
||||||
@ -1581,9 +1581,9 @@ popup_adjust_position(win_T *wp)
|
|||||||
// try to show the right border and any scrollbar
|
// try to show the right border and any scrollbar
|
||||||
want_col = left_extra + wp->w_width + right_extra;
|
want_col = left_extra + wp->w_width + right_extra;
|
||||||
if (want_col > 0 && wp->w_wincol > 0
|
if (want_col > 0 && wp->w_wincol > 0
|
||||||
&& wp->w_wincol + want_col >= Columns)
|
&& wp->w_wincol + want_col >= firstwin->w_wincol + topframe->fr_width)
|
||||||
{
|
{
|
||||||
wp->w_wincol = Columns - want_col;
|
wp->w_wincol = firstwin->w_wincol + topframe->fr_width - want_col;
|
||||||
if (wp->w_wincol < 0)
|
if (wp->w_wincol < 0)
|
||||||
wp->w_wincol = 0;
|
wp->w_wincol = 0;
|
||||||
}
|
}
|
||||||
@ -1673,6 +1673,13 @@ popup_adjust_position(win_T *wp)
|
|||||||
else if (wp->w_winrow < 0)
|
else if (wp->w_winrow < 0)
|
||||||
wp->w_winrow = 0;
|
wp->w_winrow = 0;
|
||||||
|
|
||||||
|
if (wp->w_wincol + wp->w_width > firstwin->w_wincol + topframe->fr_width)
|
||||||
|
wp->w_wincol = firstwin->w_wincol + topframe->fr_width - wp->w_width;
|
||||||
|
else if (wp->w_wincol < firstwin->w_wincol)
|
||||||
|
wp->w_wincol = firstwin->w_wincol;
|
||||||
|
if (wp->w_wincol < 0)
|
||||||
|
wp->w_wincol = 0;
|
||||||
|
|
||||||
if (wp->w_height != org_height)
|
if (wp->w_height != org_height)
|
||||||
win_comp_scroll(wp);
|
win_comp_scroll(wp);
|
||||||
|
|
||||||
@ -4081,7 +4088,7 @@ update_popups(void (*win_update)(win_T *wp))
|
|||||||
// win_update() doesn't handle them.
|
// win_update() doesn't handle them.
|
||||||
top_off = popup_top_extra(wp);
|
top_off = popup_top_extra(wp);
|
||||||
left_extra = wp->w_popup_padding[3] + wp->w_popup_border[3]
|
left_extra = wp->w_popup_padding[3] + wp->w_popup_border[3]
|
||||||
+ TPL_LCOL(NULL) - wp->w_popup_leftoff;
|
- wp->w_popup_leftoff;
|
||||||
if (wp->w_wincol + left_extra < 0)
|
if (wp->w_wincol + left_extra < 0)
|
||||||
left_extra = -wp->w_wincol;
|
left_extra = -wp->w_wincol;
|
||||||
wp->w_winrow += top_off;
|
wp->w_winrow += top_off;
|
||||||
@ -4163,7 +4170,7 @@ update_popups(void (*win_update)(win_T *wp))
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Title goes on top of border or padding.
|
// Title goes on top of border or padding.
|
||||||
title_wincol = wp->w_wincol + 1 + TPL_LCOL(NULL);
|
title_wincol = wp->w_wincol + 1;
|
||||||
if (wp->w_popup_title != NULL)
|
if (wp->w_popup_title != NULL)
|
||||||
{
|
{
|
||||||
title_len = vim_strsize(wp->w_popup_title);
|
title_len = vim_strsize(wp->w_popup_title);
|
||||||
@ -4191,7 +4198,7 @@ update_popups(void (*win_update)(win_T *wp))
|
|||||||
wp->w_popup_border[0] > 0 ? border_attr[0] : popup_attr);
|
wp->w_popup_border[0] > 0 ? border_attr[0] : popup_attr);
|
||||||
}
|
}
|
||||||
|
|
||||||
wincol = wp->w_wincol - wp->w_popup_leftoff + TPL_LCOL(NULL);
|
wincol = wp->w_wincol - wp->w_popup_leftoff;
|
||||||
top_padding = wp->w_popup_padding[0];
|
top_padding = wp->w_popup_padding[0];
|
||||||
if (wp->w_popup_border[0] > 0)
|
if (wp->w_popup_border[0] > 0)
|
||||||
{
|
{
|
||||||
@ -4229,7 +4236,7 @@ update_popups(void (*win_update)(win_T *wp))
|
|||||||
{
|
{
|
||||||
padcol = wincol + wp->w_popup_border[3];
|
padcol = wincol + wp->w_popup_border[3];
|
||||||
padendcol = wp->w_wincol + total_width - wp->w_popup_border[1]
|
padendcol = wp->w_wincol + total_width - wp->w_popup_border[1]
|
||||||
+ TPL_LCOL(NULL) - wp->w_has_scrollbar;
|
- wp->w_has_scrollbar;
|
||||||
if (padcol < 0)
|
if (padcol < 0)
|
||||||
{
|
{
|
||||||
padendcol += padcol;
|
padendcol += padcol;
|
||||||
@ -4327,7 +4334,7 @@ update_popups(void (*win_update)(win_T *wp))
|
|||||||
if (wp->w_has_scrollbar)
|
if (wp->w_has_scrollbar)
|
||||||
{
|
{
|
||||||
int line = i - top_off;
|
int line = i - top_off;
|
||||||
int scroll_col = wp->w_wincol + total_width - 1 + TPL_LCOL(NULL)
|
int scroll_col = wp->w_wincol + total_width - 1
|
||||||
- wp->w_popup_border[1];
|
- wp->w_popup_border[1];
|
||||||
|
|
||||||
if (line >= 0 && line < wp->w_height)
|
if (line >= 0 && line < wp->w_height)
|
||||||
|
104
src/screen.c
104
src/screen.c
@ -156,13 +156,13 @@ screen_fill_end(
|
|||||||
if (wp->w_p_rl)
|
if (wp->w_p_rl)
|
||||||
{
|
{
|
||||||
screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + endrow,
|
screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + endrow,
|
||||||
W_ENDCOL(wp) - nn + TPL_LCOL(wp), (int)W_ENDCOL(wp) - off + TPL_LCOL(wp),
|
W_ENDCOL(wp) - nn, (int)W_ENDCOL(wp) - off,
|
||||||
c1, c2, attr);
|
c1, c2, attr);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + endrow,
|
screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + endrow,
|
||||||
wp->w_wincol + off + TPL_LCOL(wp), (int)wp->w_wincol + nn + TPL_LCOL(wp),
|
wp->w_wincol + off, (int)wp->w_wincol + nn,
|
||||||
c1, c2, attr);
|
c1, c2, attr);
|
||||||
return nn;
|
return nn;
|
||||||
}
|
}
|
||||||
@ -215,18 +215,15 @@ win_draw_end(
|
|||||||
if (wp->w_p_rl)
|
if (wp->w_p_rl)
|
||||||
{
|
{
|
||||||
screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + endrow,
|
screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + endrow,
|
||||||
wp->w_wincol + TPL_LCOL(wp), W_ENDCOL(wp) - 1 - n +
|
wp->w_wincol, W_ENDCOL(wp) - 1 - n, c2, c2, attr);
|
||||||
TPL_LCOL(wp), c2, c2, attr);
|
|
||||||
screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + endrow,
|
screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + endrow,
|
||||||
W_ENDCOL(wp) - 1 - n + TPL_LCOL(wp), W_ENDCOL(wp) - n +
|
W_ENDCOL(wp) - 1 - n, W_ENDCOL(wp) - n, c1, c2, attr);
|
||||||
TPL_LCOL(wp), c1, c2, attr);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + endrow,
|
screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + endrow,
|
||||||
wp->w_wincol + n + TPL_LCOL(wp), (int)W_ENDCOL(wp) + TPL_LCOL(wp),
|
wp->w_wincol + n, (int)W_ENDCOL(wp), c1, c2, attr);
|
||||||
c1, c2, attr);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
set_empty_rows(wp, row);
|
set_empty_rows(wp, row);
|
||||||
@ -369,6 +366,9 @@ char_needs_redraw(int off_from, int off_to, int cols)
|
|||||||
&& ScreenLines[off_from + 1]
|
&& ScreenLines[off_from + 1]
|
||||||
!= ScreenLines[off_to + 1])))))
|
!= ScreenLines[off_to + 1])))))
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
// TODO: This is a temporary solution until the root cause is fixed.
|
||||||
|
if (firstwin->w_wincol > 0)
|
||||||
|
return TRUE;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -395,9 +395,7 @@ blocked_by_popup(int row, int col)
|
|||||||
|
|
||||||
if (!popup_visible)
|
if (!popup_visible)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (col < TPL_LCOL(NULL))
|
off = row * screen_Columns + col;
|
||||||
return FALSE;
|
|
||||||
off = row * screen_Columns + col - TPL_LCOL(NULL);
|
|
||||||
return popup_mask[off] > screen_zindex || popup_transparent[off];
|
return popup_mask[off] > screen_zindex || popup_transparent[off];
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -857,7 +855,7 @@ screen_line(
|
|||||||
{
|
{
|
||||||
// For a window that has a right neighbor, draw the separator char
|
// For a window that has a right neighbor, draw the separator char
|
||||||
// right of the window contents. But not on top of a popup window.
|
// right of the window contents. But not on top of a popup window.
|
||||||
if (coloff + col < TPL_LCOL(NULL) + COLUMNS_WITHOUT_TPL())
|
if (coloff + col < firstwin->w_wincol + topframe->fr_width)
|
||||||
{
|
{
|
||||||
if (!skip_for_popup(row, col + coloff))
|
if (!skip_for_popup(row, col + coloff))
|
||||||
{
|
{
|
||||||
@ -922,14 +920,10 @@ draw_vsep_win(win_T *wp, int row)
|
|||||||
if (!wp->w_vsep_width)
|
if (!wp->w_vsep_width)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (COLUMNS_WITHOUT_TPL() <= W_ENDCOL(wp) + 1)
|
|
||||||
return;
|
|
||||||
|
|
||||||
// draw the vertical separator right of this window
|
// draw the vertical separator right of this window
|
||||||
c = fillchar_vsep(&hl, wp);
|
c = fillchar_vsep(&hl, wp);
|
||||||
screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + wp->w_height,
|
screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + wp->w_height,
|
||||||
W_ENDCOL(wp) + TPL_LCOL(wp), W_ENDCOL(wp) + 1 + TPL_LCOL(wp),
|
W_ENDCOL(wp), W_ENDCOL(wp) + 1, c, ' ', hl);
|
||||||
c, ' ', hl);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1056,9 +1050,10 @@ win_redr_custom(
|
|||||||
// Use 'tabline'. Always at the first line of the screen.
|
// Use 'tabline'. Always at the first line of the screen.
|
||||||
stl = p_tal;
|
stl = p_tal;
|
||||||
row = 0;
|
row = 0;
|
||||||
|
col = firstwin->w_wincol;
|
||||||
fillchar = ' ';
|
fillchar = ' ';
|
||||||
attr = HL_ATTR(HLF_TPF);
|
attr = HL_ATTR(HLF_TPF);
|
||||||
maxwidth = COLUMNS_WITHOUT_TPL();
|
maxwidth = topframe->fr_width;
|
||||||
opt_name = (char_u *)"tabline";
|
opt_name = (char_u *)"tabline";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1155,7 +1150,7 @@ win_redr_custom(
|
|||||||
for (n = 0; hltab[n].start != NULL; n++)
|
for (n = 0; hltab[n].start != NULL; n++)
|
||||||
{
|
{
|
||||||
len = (int)(hltab[n].start - p);
|
len = (int)(hltab[n].start - p);
|
||||||
screen_puts_len(p, len, row, col + TPL_LCOL(wp), curattr);
|
screen_puts_len(p, len, row, col, curattr);
|
||||||
col += vim_strnsize(p, len);
|
col += vim_strnsize(p, len);
|
||||||
p = hltab[n].start;
|
p = hltab[n].start;
|
||||||
|
|
||||||
@ -1176,12 +1171,12 @@ win_redr_custom(
|
|||||||
else
|
else
|
||||||
curattr = highlight_user[hltab[n].userhl - 1];
|
curattr = highlight_user[hltab[n].userhl - 1];
|
||||||
}
|
}
|
||||||
screen_puts(p, row, col + TPL_LCOL(wp), curattr);
|
screen_puts(p, row, col, curattr);
|
||||||
|
|
||||||
if (wp == NULL)
|
if (wp == NULL)
|
||||||
{
|
{
|
||||||
// Fill the TabPageIdxs[] array for clicking in the tab pagesline.
|
// Fill the TabPageIdxs[] array for clicking in the tab pagesline.
|
||||||
col = 0;
|
col = firstwin->w_wincol;
|
||||||
len = 0;
|
len = 0;
|
||||||
p = buf;
|
p = buf;
|
||||||
fillchar = 0;
|
fillchar = 0;
|
||||||
@ -1193,7 +1188,7 @@ win_redr_custom(
|
|||||||
p = tabtab[n].start;
|
p = tabtab[n].start;
|
||||||
fillchar = tabtab[n].userhl;
|
fillchar = tabtab[n].userhl;
|
||||||
}
|
}
|
||||||
while (col < COLUMNS_WITHOUT_TPL())
|
while (col < Columns)
|
||||||
TabPageIdxs[col++] = fillchar;
|
TabPageIdxs[col++] = fillchar;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2132,15 +2127,15 @@ redraw_block(int row, int end, win_T *wp)
|
|||||||
|
|
||||||
if (wp == NULL)
|
if (wp == NULL)
|
||||||
{
|
{
|
||||||
col = 0;
|
col = firstwin->w_wincol;
|
||||||
width = COLUMNS_WITHOUT_TPL();
|
width = topframe->fr_width;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
col = wp->w_wincol;
|
col = wp->w_wincol;
|
||||||
width = wp->w_width;
|
width = wp->w_width;
|
||||||
}
|
}
|
||||||
screen_draw_rectangle(row, col + TPL_LCOL(wp), end - row, width, FALSE);
|
screen_draw_rectangle(row, col, end - row, width, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -2918,11 +2913,6 @@ linecopy(int to, int from, win_T *wp)
|
|||||||
unsigned off_to = LineOffset[to] + wp->w_wincol;
|
unsigned off_to = LineOffset[to] + wp->w_wincol;
|
||||||
unsigned off_from = LineOffset[from] + wp->w_wincol;
|
unsigned off_from = LineOffset[from] + wp->w_wincol;
|
||||||
|
|
||||||
#if defined(FEAT_TABPANEL)
|
|
||||||
off_to += TPL_LCOL(wp);
|
|
||||||
off_from += TPL_LCOL(wp);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
mch_memmove(ScreenLines + off_to, ScreenLines + off_from,
|
mch_memmove(ScreenLines + off_to, ScreenLines + off_from,
|
||||||
wp->w_width * sizeof(schar_T));
|
wp->w_width * sizeof(schar_T));
|
||||||
if (enc_utf8)
|
if (enc_utf8)
|
||||||
@ -3256,7 +3246,7 @@ setcursor_mayforce(int force)
|
|||||||
&& (*mb_ptr2cells)(ml_get_cursor()) == 2
|
&& (*mb_ptr2cells)(ml_get_cursor()) == 2
|
||||||
&& vim_isprintc(gchar_cursor())) ? 2 : 1)) :
|
&& vim_isprintc(gchar_cursor())) ? 2 : 1)) :
|
||||||
#endif
|
#endif
|
||||||
curwin->w_wcol) + TPL_LCOL(NULL));
|
curwin->w_wcol));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3326,8 +3316,7 @@ win_ins_lines(
|
|||||||
if (lastrow > Rows)
|
if (lastrow > Rows)
|
||||||
lastrow = Rows;
|
lastrow = Rows;
|
||||||
screen_fill(nextrow - line_count, lastrow - line_count,
|
screen_fill(nextrow - line_count, lastrow - line_count,
|
||||||
wp->w_wincol + TPL_LCOL(wp), (int)W_ENDCOL(wp) + TPL_LCOL(wp),
|
wp->w_wincol, (int)W_ENDCOL(wp), ' ', ' ', 0);
|
||||||
' ', ' ', 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (screen_ins_lines(0, W_WINROW(wp) + row, line_count, (int)Rows, 0, NULL)
|
if (screen_ins_lines(0, W_WINROW(wp) + row, line_count, (int)Rows, 0, NULL)
|
||||||
@ -3425,7 +3414,7 @@ win_do_lines(
|
|||||||
|
|
||||||
// only a few lines left: redraw is faster
|
// only a few lines left: redraw is faster
|
||||||
if (mayclear && Rows - line_count < 5
|
if (mayclear && Rows - line_count < 5
|
||||||
&& wp->w_width == COLUMNS_WITHOUT_TPL())
|
&& wp->w_width == topframe->fr_width)
|
||||||
{
|
{
|
||||||
if (!no_win_do_lines_ins)
|
if (!no_win_do_lines_ins)
|
||||||
screenclear(); // will set wp->w_lines_valid to 0
|
screenclear(); // will set wp->w_lines_valid to 0
|
||||||
@ -3442,8 +3431,7 @@ win_do_lines(
|
|||||||
if (row + line_count >= wp->w_height)
|
if (row + line_count >= wp->w_height)
|
||||||
{
|
{
|
||||||
screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + wp->w_height,
|
screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + wp->w_height,
|
||||||
wp->w_wincol + TPL_LCOL(wp), (int)W_ENDCOL(wp) + TPL_LCOL(wp),
|
wp->w_wincol, (int)W_ENDCOL(wp), ' ', ' ', 0);
|
||||||
' ', ' ', 0);
|
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3464,9 +3452,9 @@ win_do_lines(
|
|||||||
* a character in the lower right corner of the scroll region may cause a
|
* a character in the lower right corner of the scroll region may cause a
|
||||||
* scroll-up .
|
* scroll-up .
|
||||||
*/
|
*/
|
||||||
if (scroll_region || wp->w_width != COLUMNS_WITHOUT_TPL())
|
if (scroll_region || wp->w_width != topframe->fr_width)
|
||||||
{
|
{
|
||||||
if (scroll_region && (wp->w_width == COLUMNS_WITHOUT_TPL()
|
if (scroll_region && (wp->w_width == topframe->fr_width
|
||||||
|| *T_CSV != NUL))
|
|| *T_CSV != NUL))
|
||||||
scroll_region_set(wp, row);
|
scroll_region_set(wp, row);
|
||||||
if (del)
|
if (del)
|
||||||
@ -3475,7 +3463,7 @@ win_do_lines(
|
|||||||
else
|
else
|
||||||
retval = screen_ins_lines(W_WINROW(wp) + row, 0, line_count,
|
retval = screen_ins_lines(W_WINROW(wp) + row, 0, line_count,
|
||||||
wp->w_height - row, clear_attr, wp);
|
wp->w_height - row, clear_attr, wp);
|
||||||
if (scroll_region && (wp->w_width == COLUMNS_WITHOUT_TPL()
|
if (scroll_region && (wp->w_width == topframe->fr_width
|
||||||
|| *T_CSV != NUL))
|
|| *T_CSV != NUL))
|
||||||
scroll_region_reset();
|
scroll_region_reset();
|
||||||
return retval;
|
return retval;
|
||||||
@ -3599,7 +3587,7 @@ screen_ins_lines(
|
|||||||
* exists.
|
* exists.
|
||||||
*/
|
*/
|
||||||
result_empty = (row + line_count >= end);
|
result_empty = (row + line_count >= end);
|
||||||
if (wp != NULL && wp->w_width != COLUMNS_WITHOUT_TPL() && *T_CSV == NUL)
|
if (wp != NULL && wp->w_width != topframe->fr_width && *T_CSV == NUL)
|
||||||
{
|
{
|
||||||
// Avoid that lines are first cleared here and then redrawn, which
|
// Avoid that lines are first cleared here and then redrawn, which
|
||||||
// results in many characters updated twice. This happens with CTRL-F
|
// results in many characters updated twice. This happens with CTRL-F
|
||||||
@ -3645,7 +3633,7 @@ screen_ins_lines(
|
|||||||
#ifdef FEAT_CLIPBOARD
|
#ifdef FEAT_CLIPBOARD
|
||||||
// Remove a modeless selection when inserting lines halfway the screen
|
// Remove a modeless selection when inserting lines halfway the screen
|
||||||
// or not the full width of the screen.
|
// or not the full width of the screen.
|
||||||
if (off + row > 0 || (wp != NULL && wp->w_width != COLUMNS_WITHOUT_TPL()))
|
if (off + row > 0 || (wp != NULL && wp->w_width != topframe->fr_width))
|
||||||
clip_clear_selection(&clip_star);
|
clip_clear_selection(&clip_star);
|
||||||
else
|
else
|
||||||
clip_scroll_selection(-line_count);
|
clip_scroll_selection(-line_count);
|
||||||
@ -3677,7 +3665,7 @@ screen_ins_lines(
|
|||||||
end += off;
|
end += off;
|
||||||
for (i = 0; i < line_count; ++i)
|
for (i = 0; i < line_count; ++i)
|
||||||
{
|
{
|
||||||
if (wp != NULL && wp->w_width != COLUMNS_WITHOUT_TPL())
|
if (wp != NULL && wp->w_width != topframe->fr_width)
|
||||||
{
|
{
|
||||||
// need to copy part of a line
|
// need to copy part of a line
|
||||||
j = end - 1 - i;
|
j = end - 1 - i;
|
||||||
@ -3685,11 +3673,10 @@ screen_ins_lines(
|
|||||||
linecopy(j + line_count, j, wp);
|
linecopy(j + line_count, j, wp);
|
||||||
j += line_count;
|
j += line_count;
|
||||||
if (can_clear((char_u *)" "))
|
if (can_clear((char_u *)" "))
|
||||||
lineclear(LineOffset[j] + wp->w_wincol + TPL_LCOL(wp),
|
lineclear(LineOffset[j] + wp->w_wincol,
|
||||||
wp->w_width, clear_attr);
|
wp->w_width, clear_attr);
|
||||||
else
|
else
|
||||||
lineinvalid(LineOffset[j] + wp->w_wincol + TPL_LCOL(wp),
|
lineinvalid(LineOffset[j] + wp->w_wincol, wp->w_width);
|
||||||
wp->w_width);
|
|
||||||
LineWraps[j] = FALSE;
|
LineWraps[j] = FALSE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -3704,10 +3691,9 @@ screen_ins_lines(
|
|||||||
LineOffset[j + line_count] = temp;
|
LineOffset[j + line_count] = temp;
|
||||||
LineWraps[j + line_count] = FALSE;
|
LineWraps[j + line_count] = FALSE;
|
||||||
if (can_clear((char_u *)" "))
|
if (can_clear((char_u *)" "))
|
||||||
lineclear(temp + TPL_LCOL(wp), COLUMNS_WITHOUT_TPL(),
|
lineclear(temp, topframe->fr_width, clear_attr);
|
||||||
clear_attr);
|
|
||||||
else
|
else
|
||||||
lineinvalid(temp + TPL_LCOL(wp), COLUMNS_WITHOUT_TPL());
|
lineinvalid(temp, topframe->fr_width);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3840,7 +3826,7 @@ screen_del_lines(
|
|||||||
* 5. Use T_DL (delete line) if it exists.
|
* 5. Use T_DL (delete line) if it exists.
|
||||||
* 6. redraw the characters from ScreenLines[].
|
* 6. redraw the characters from ScreenLines[].
|
||||||
*/
|
*/
|
||||||
if (wp != NULL && wp->w_width != COLUMNS_WITHOUT_TPL() && *T_CSV == NUL)
|
if (wp != NULL && wp->w_width != topframe->fr_width && *T_CSV == NUL)
|
||||||
{
|
{
|
||||||
// Avoid that lines are first cleared here and then redrawn, which
|
// Avoid that lines are first cleared here and then redrawn, which
|
||||||
// results in many characters updated twice. This happens with CTRL-F
|
// results in many characters updated twice. This happens with CTRL-F
|
||||||
@ -3863,7 +3849,7 @@ screen_del_lines(
|
|||||||
else if (*T_CDL != NUL && line_count > 1 && can_delete)
|
else if (*T_CDL != NUL && line_count > 1 && can_delete)
|
||||||
type = USE_T_CDL;
|
type = USE_T_CDL;
|
||||||
else if (can_clear(T_CE) && result_empty
|
else if (can_clear(T_CE) && result_empty
|
||||||
&& (wp == NULL || wp->w_width == COLUMNS_WITHOUT_TPL()))
|
&& (wp == NULL || wp->w_width == topframe->fr_width))
|
||||||
type = USE_T_CE;
|
type = USE_T_CE;
|
||||||
else if (*T_DL != NUL && can_delete)
|
else if (*T_DL != NUL && can_delete)
|
||||||
type = USE_T_DL;
|
type = USE_T_DL;
|
||||||
@ -3875,7 +3861,7 @@ screen_del_lines(
|
|||||||
#ifdef FEAT_CLIPBOARD
|
#ifdef FEAT_CLIPBOARD
|
||||||
// Remove a modeless selection when deleting lines halfway the screen or
|
// Remove a modeless selection when deleting lines halfway the screen or
|
||||||
// not the full width of the screen.
|
// not the full width of the screen.
|
||||||
if (off + row > 0 || (wp != NULL && wp->w_width != COLUMNS_WITHOUT_TPL()))
|
if (off + row > 0 || (wp != NULL && wp->w_width != topframe->fr_width))
|
||||||
clip_clear_selection(&clip_star);
|
clip_clear_selection(&clip_star);
|
||||||
else
|
else
|
||||||
clip_scroll_selection(line_count);
|
clip_scroll_selection(line_count);
|
||||||
@ -3914,7 +3900,7 @@ screen_del_lines(
|
|||||||
end += off;
|
end += off;
|
||||||
for (i = 0; i < line_count; ++i)
|
for (i = 0; i < line_count; ++i)
|
||||||
{
|
{
|
||||||
if (wp != NULL && wp->w_width != COLUMNS_WITHOUT_TPL())
|
if (wp != NULL && wp->w_width != topframe->fr_width)
|
||||||
{
|
{
|
||||||
// need to copy part of a line
|
// need to copy part of a line
|
||||||
j = row + i;
|
j = row + i;
|
||||||
@ -3922,11 +3908,10 @@ screen_del_lines(
|
|||||||
linecopy(j - line_count, j, wp);
|
linecopy(j - line_count, j, wp);
|
||||||
j -= line_count;
|
j -= line_count;
|
||||||
if (can_clear((char_u *)" "))
|
if (can_clear((char_u *)" "))
|
||||||
lineclear(LineOffset[j] + wp->w_wincol + TPL_LCOL(wp),
|
lineclear(LineOffset[j] + wp->w_wincol,
|
||||||
wp->w_width, clear_attr);
|
wp->w_width, clear_attr);
|
||||||
else
|
else
|
||||||
lineinvalid(LineOffset[j] + wp->w_wincol + TPL_LCOL(wp),
|
lineinvalid(LineOffset[j] + wp->w_wincol, wp->w_width);
|
||||||
wp->w_width);
|
|
||||||
LineWraps[j] = FALSE;
|
LineWraps[j] = FALSE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -3942,10 +3927,9 @@ screen_del_lines(
|
|||||||
LineOffset[j - line_count] = temp;
|
LineOffset[j - line_count] = temp;
|
||||||
LineWraps[j - line_count] = FALSE;
|
LineWraps[j - line_count] = FALSE;
|
||||||
if (can_clear((char_u *)" "))
|
if (can_clear((char_u *)" "))
|
||||||
lineclear(temp + TPL_LCOL(NULL), COLUMNS_WITHOUT_TPL(),
|
lineclear(temp, (int)Columns, clear_attr);
|
||||||
clear_attr);
|
|
||||||
else
|
else
|
||||||
lineinvalid(temp + TPL_LCOL(NULL), COLUMNS_WITHOUT_TPL());
|
lineinvalid(temp, (int)Columns);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4333,7 +4317,7 @@ draw_tabline(void)
|
|||||||
);
|
);
|
||||||
|
|
||||||
#if defined(FEAT_TABPANEL)
|
#if defined(FEAT_TABPANEL)
|
||||||
col = TPL_LCOL(NULL);
|
col = firstwin->w_wincol;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (ScreenLines == NULL)
|
if (ScreenLines == NULL)
|
||||||
@ -4364,7 +4348,7 @@ draw_tabline(void)
|
|||||||
FOR_ALL_TABPAGES(tp)
|
FOR_ALL_TABPAGES(tp)
|
||||||
++tabcount;
|
++tabcount;
|
||||||
|
|
||||||
tabwidth = (COLUMNS_WITHOUT_TPL() - 1 + tabcount / 2) / tabcount;
|
tabwidth = (topframe->fr_width - 1 + tabcount / 2) / tabcount;
|
||||||
if (tabwidth < 6)
|
if (tabwidth < 6)
|
||||||
tabwidth = 6;
|
tabwidth = 6;
|
||||||
|
|
||||||
|
@ -164,7 +164,7 @@ draw_tabpanel(void)
|
|||||||
int row = 0;
|
int row = 0;
|
||||||
int off = 0;
|
int off = 0;
|
||||||
#endif
|
#endif
|
||||||
int vsrow = 0;
|
int vsrow = 0;
|
||||||
int is_right = tpl_align == ALIGN_RIGHT;
|
int is_right = tpl_align == ALIGN_RIGHT;
|
||||||
|
|
||||||
if (maxwidth == 0)
|
if (maxwidth == 0)
|
||||||
@ -198,14 +198,10 @@ int vsrow = 0;
|
|||||||
maxwidth - VERT_LEN, &curtab_row, NULL);
|
maxwidth - VERT_LEN, &curtab_row, NULL);
|
||||||
do_by_tplmode(TPLMODE_REDRAW, VERT_LEN, maxwidth, &curtab_row,
|
do_by_tplmode(TPLMODE_REDRAW, VERT_LEN, maxwidth, &curtab_row,
|
||||||
NULL);
|
NULL);
|
||||||
// clear for multi-byte vert separater
|
// draw vert separator in tabpanel
|
||||||
screen_fill(0, cmdline_row, COLUMNS_WITHOUT_TPL(),
|
|
||||||
COLUMNS_WITHOUT_TPL() + VERT_LEN,
|
|
||||||
TPL_FILLCHAR, TPL_FILLCHAR, vs_attr);
|
|
||||||
// draw vert separater in tabpanel
|
|
||||||
for (vsrow = 0; vsrow < cmdline_row; vsrow++)
|
for (vsrow = 0; vsrow < cmdline_row; vsrow++)
|
||||||
screen_putchar(curwin->w_fill_chars.tpl_vert, vsrow,
|
screen_putchar(curwin->w_fill_chars.tpl_vert, vsrow,
|
||||||
COLUMNS_WITHOUT_TPL(), vs_attr);
|
topframe->fr_width, vs_attr);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -214,10 +210,7 @@ int vsrow = 0;
|
|||||||
&curtab_row, NULL);
|
&curtab_row, NULL);
|
||||||
do_by_tplmode(TPLMODE_REDRAW, 0, maxwidth - VERT_LEN,
|
do_by_tplmode(TPLMODE_REDRAW, 0, maxwidth - VERT_LEN,
|
||||||
&curtab_row, NULL);
|
&curtab_row, NULL);
|
||||||
// clear for multi-byte vert separater
|
// draw vert separator in tabpanel
|
||||||
screen_fill(0, cmdline_row, maxwidth - VERT_LEN,
|
|
||||||
maxwidth, TPL_FILLCHAR, TPL_FILLCHAR, vs_attr);
|
|
||||||
// draw vert separater in tabpanel
|
|
||||||
for (vsrow = 0; vsrow < cmdline_row; vsrow++)
|
for (vsrow = 0; vsrow < cmdline_row; vsrow++)
|
||||||
screen_putchar(curwin->w_fill_chars.tpl_vert, vsrow,
|
screen_putchar(curwin->w_fill_chars.tpl_vert, vsrow,
|
||||||
maxwidth - VERT_LEN, vs_attr);
|
maxwidth - VERT_LEN, vs_attr);
|
||||||
@ -272,8 +265,8 @@ screen_fill_tailing_area(
|
|||||||
int is_right = tpl_align == ALIGN_RIGHT;
|
int is_right = tpl_align == ALIGN_RIGHT;
|
||||||
if (tplmode == TPLMODE_REDRAW)
|
if (tplmode == TPLMODE_REDRAW)
|
||||||
screen_fill(row_start, row_end,
|
screen_fill(row_start, row_end,
|
||||||
(is_right ? COLUMNS_WITHOUT_TPL() : 0) + col_start,
|
(is_right ? topframe->fr_width : 0) + col_start,
|
||||||
(is_right ? COLUMNS_WITHOUT_TPL() : 0) + col_end,
|
(is_right ? topframe->fr_width : 0) + col_end,
|
||||||
TPL_FILLCHAR, TPL_FILLCHAR, attr);
|
TPL_FILLCHAR, TPL_FILLCHAR, attr);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -356,7 +349,7 @@ screen_puts_len_for_tabpanel(
|
|||||||
if (*pargs->pcol + chcells <= pargs->col_end)
|
if (*pargs->pcol + chcells <= pargs->col_end)
|
||||||
{
|
{
|
||||||
int off = (tpl_align == ALIGN_RIGHT)
|
int off = (tpl_align == ALIGN_RIGHT)
|
||||||
? COLUMNS_WITHOUT_TPL()
|
? topframe->fr_width
|
||||||
: 0;
|
: 0;
|
||||||
if (TPLMODE_REDRAW == tplmode
|
if (TPLMODE_REDRAW == tplmode
|
||||||
&& (*pargs->prow - pargs->offsetrow >= 0
|
&& (*pargs->prow - pargs->offsetrow >= 0
|
||||||
@ -628,7 +621,7 @@ do_by_tplmode(
|
|||||||
p++;
|
p++;
|
||||||
}
|
}
|
||||||
|
|
||||||
while (p[i] != '\n' && p[i] != '\r' && (p[i] != NUL))
|
while (p[i] != '\n' && p[i] != '\r' && p[i] != NUL)
|
||||||
{
|
{
|
||||||
if (i + 1 >= sizeof(buf))
|
if (i + 1 >= sizeof(buf))
|
||||||
break;
|
break;
|
||||||
|
23
src/term.c
23
src/term.c
@ -3630,7 +3630,17 @@ win_new_shellsize(void)
|
|||||||
if (old_Columns != Columns)
|
if (old_Columns != Columns)
|
||||||
{
|
{
|
||||||
old_Columns = Columns;
|
old_Columns = Columns;
|
||||||
shell_new_columns(); // update window sizes
|
|
||||||
|
tabpage_T *save_curtab = curtab;
|
||||||
|
tabpage_T *tp;
|
||||||
|
FOR_ALL_TABPAGES(tp)
|
||||||
|
{
|
||||||
|
unuse_tabpage(curtab);
|
||||||
|
use_tabpage(tp);
|
||||||
|
shell_new_columns();
|
||||||
|
}
|
||||||
|
unuse_tabpage(curtab);
|
||||||
|
use_tabpage(save_curtab);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4454,16 +4464,9 @@ scroll_region_set(win_T *wp, int off)
|
|||||||
{
|
{
|
||||||
OUT_STR(tgoto((char *)T_CS, W_WINROW(wp) + wp->w_height - 1,
|
OUT_STR(tgoto((char *)T_CS, W_WINROW(wp) + wp->w_height - 1,
|
||||||
W_WINROW(wp) + off));
|
W_WINROW(wp) + off));
|
||||||
#if defined(FEAT_TABPANEL)
|
if (*T_CSV != NUL && wp->w_width != topframe->fr_width)
|
||||||
if (*T_CSV != NUL)
|
|
||||||
OUT_STR(tgoto((char *)T_CSV,
|
|
||||||
wp->w_wincol + wp->w_width - 1 + TPL_LCOL(NULL),
|
|
||||||
wp->w_wincol + TPL_LCOL(NULL)));
|
|
||||||
#else
|
|
||||||
if (*T_CSV != NUL && wp->w_width != Columns)
|
|
||||||
OUT_STR(tgoto((char *)T_CSV, wp->w_wincol + wp->w_width - 1,
|
OUT_STR(tgoto((char *)T_CSV, wp->w_wincol + wp->w_width - 1,
|
||||||
wp->w_wincol));
|
wp->w_wincol));
|
||||||
#endif
|
|
||||||
screen_start(); // don't know where cursor is now
|
screen_start(); // don't know where cursor is now
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4475,7 +4478,7 @@ scroll_region_reset(void)
|
|||||||
{
|
{
|
||||||
OUT_STR(tgoto((char *)T_CS, (int)Rows - 1, 0));
|
OUT_STR(tgoto((char *)T_CS, (int)Rows - 1, 0));
|
||||||
if (*T_CSV != NUL)
|
if (*T_CSV != NUL)
|
||||||
OUT_STR(tgoto((char *)T_CSV, COLUMNS_WITHOUT_TPL() - 1, 0));
|
OUT_STR(tgoto((char *)T_CSV, topframe->fr_width - 1, 0));
|
||||||
screen_start(); // don't know where cursor is now
|
screen_start(); // don't know where cursor is now
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1351,7 +1351,7 @@ update_cursor(term_T *term, int redraw)
|
|||||||
// do not use the window cursor position
|
// do not use the window cursor position
|
||||||
position_cursor(curwin, &curbuf->b_term->tl_cursor_pos);
|
position_cursor(curwin, &curbuf->b_term->tl_cursor_pos);
|
||||||
windgoto(W_WINROW(curwin) + curwin->w_wrow,
|
windgoto(W_WINROW(curwin) + curwin->w_wrow,
|
||||||
curwin->w_wincol + curwin->w_wcol + TPL_LCOL(NULL));
|
curwin->w_wincol + curwin->w_wcol);
|
||||||
}
|
}
|
||||||
if (redraw)
|
if (redraw)
|
||||||
{
|
{
|
||||||
@ -4120,8 +4120,7 @@ term_update_window(win_T *wp)
|
|||||||
#ifdef FEAT_MENU
|
#ifdef FEAT_MENU
|
||||||
+ winbar_height(wp)
|
+ winbar_height(wp)
|
||||||
#endif
|
#endif
|
||||||
, wp->w_wincol + TPL_LCOL(wp), pos.col,
|
, wp->w_wincol, pos.col, wp->w_width, -1,
|
||||||
wp->w_width, -1,
|
|
||||||
#ifdef FEAT_PROP_POPUP
|
#ifdef FEAT_PROP_POPUP
|
||||||
popup_is_popup(wp) ? SLF_POPUP :
|
popup_is_popup(wp) ? SLF_POPUP :
|
||||||
#endif
|
#endif
|
||||||
|
@ -7,4 +7,4 @@
|
|||||||
| +1#0000000&@9|~+0#4040ff13&| @33
|
| +1#0000000&@9|~+0#4040ff13&| @33
|
||||||
| +1#0000000&@9|~+0#4040ff13&| @33
|
| +1#0000000&@9|~+0#4040ff13&| @33
|
||||||
| +1#0000000&@9|~+0#4040ff13&| @33
|
| +1#0000000&@9|~+0#4040ff13&| @33
|
||||||
| +0#0000000&@36|1|,|1| @4
|
| +0#0000000&@26|1|,|1| @10|A|l@1|
|
||||||
|
@ -3,4 +3,4 @@
|
|||||||
| +1#0000000&@15|~+0#4040ff13&| @27
|
| +1#0000000&@15|~+0#4040ff13&| @27
|
||||||
| +1#0000000&@15|~+0#4040ff13&| @27
|
| +1#0000000&@15|~+0#4040ff13&| @27
|
||||||
| +1#0000000&@15|~+0#4040ff13&| @27
|
| +1#0000000&@15|~+0#4040ff13&| @27
|
||||||
| +0#0000000&@26|0|,|0|-|1| @8|A|l|0|,
|
| +0#0000000&@26|0|,|0|-|1| @8|A|l@1|
|
||||||
|
@ -3,4 +3,4 @@
|
|||||||
| +1&&@15|f+0&&| @27
|
| +1&&@15|f+0&&| @27
|
||||||
| +1&&@15|~+0#4040ff13&| @27
|
| +1&&@15|~+0#4040ff13&| @27
|
||||||
| +1#0000000&@15|~+0#4040ff13&| @27
|
| +1#0000000&@15|~+0#4040ff13&| @27
|
||||||
| +0#0000000&@42|1|,
|
| +0#0000000&@26|1|,|1| @10|A|l@1|
|
||||||
|
@ -3,4 +3,4 @@
|
|||||||
| +2&&@15|f+0&&| @27
|
| +2&&@15|f+0&&| @27
|
||||||
|2+2&&|:|X+0#4040ff13&|t|a|b|p|a|n|e|l|2| +2#0000000&@3|~+0#4040ff13&| @27
|
|2+2&&|:|X+0#4040ff13&|t|a|b|p|a|n|e|l|2| +2#0000000&@3|~+0#4040ff13&| @27
|
||||||
| +1#0000000&@15|~+0#4040ff13&| @27
|
| +1#0000000&@15|~+0#4040ff13&| @27
|
||||||
| +0#0000000&@42|1|,
|
| +0#0000000&@26|1|,|1| @10|A|l@1|
|
||||||
|
@ -7,4 +7,4 @@
|
|||||||
|b+2#0000000&@2|.|t|x|t| @12|~+0#4040ff13&| @23
|
|b+2#0000000&@2|.|t|x|t| @12|~+0#4040ff13&| @23
|
||||||
|B+2#0000000&|O|T@1|O|M| @13|~+0#4040ff13&| @23
|
|B+2#0000000&|O|T@1|O|M| @13|~+0#4040ff13&| @23
|
||||||
| +1#0000000&@19|~+0#4040ff13&| @23
|
| +1#0000000&@19|~+0#4040ff13&| @23
|
||||||
| +0#0000000&@44
|
| +0#0000000&@26|0|,|0|-|1| @8|A|l@1|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
|a+8#0000001#e0e0e08@2|.|t|x|t| @12|!+0#0000000#ffffff0> @23
|
|a+8#0000001#e0e0e08@2|.|t|x|t| @12|a+0#0000000#ffffff0@1> @22
|
||||||
|b+2&&@2|.|t|x|t| @12|!+0#0000001#e0e0e08| @14| +0#0000000#0000001| +0#4040ff13#ffffff0@7
|
|++2&&| |b@2|.|t|x|t| @9| +0#0000001#e0e0e08|a@1| @12| +0#0000000#ffffff0@9
|
||||||
| +1#0000000&@19|#+0#0000001#ffd7ff255| @14| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@7
|
| +1&&@18| +0#0000001#ffd7ff255|a@3| @10| +0#0000000#ffffff0@9
|
||||||
| +1#0000000&@19|&+0#0000001#ffd7ff255| @14| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@7
|
| +1&&@18| +0#0000001#ffd7ff255|a@2|c| @10| +0#0000000#ffffff0@9
|
||||||
| +1#0000000&@19|*+0#0000001#ffd7ff255| @14| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@7
|
| +1&&@18| +0#0000001#ffd7ff255|a@2|b| @10| +0#0000000#ffffff0@9
|
||||||
| +1#0000000&@19|++0#0000001#ffd7ff255@1| @13| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@7
|
| +1&&@19| +0&&@24
|
||||||
| +1#0000000&@19|-+0#0000001#ffd7ff255@1| @13| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@7
|
| +1&&@19|~+0#4040ff13&| @23
|
||||||
| +1#0000000&@19|<+0#0000001#ffd7ff255| @14| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@7
|
| +1#0000000&@19|~+0#4040ff13&| @23
|
||||||
| +1#0000000&@19|=+0#0000001#ffd7ff255| @14| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@7
|
| +1#0000000&@19|~+0#4040ff13&| @23
|
||||||
|-+2#0000000&@1| |m+0#00e0003&|a|t|c|h| |1| |o|f| |5|9|6| +0#0000000&@27
|
|-+2#0000000&@1| |m+0#00e0003&|a|t|c|h| |1| |o|f| |4| +0#0000000&@29
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
|a+8#0000001#e0e0e08@2|.|t|x|t| @12|!+0#0000000#ffffff0| @23
|
|a+8#0000001#e0e0e08@2|.|t|x|t| @12|a+0#0000000#ffffff0@1| @22
|
||||||
|++2&&| |b@2|.|t|x|t| @10| +0&&@1|a|b@1|r|e|v|i|a|t|e> @12
|
|++2&&| |b@2|.|t|x|t| @10|a+0&&@1| @22
|
||||||
| +1&&@19|~+0#4040ff13&| +0#0000001#e0e0e08|a|b@1|r|e|v|i|a|t|e| @4| +0#4040ff13#ffffff0@7
|
| +1&&@19|a+0&&| +0#0000001#ffd7ff255|a@1| @12| +0#0000000#ffffff0@7
|
||||||
| +1#0000000&@19|~+0#4040ff13&| +0#0000001#ffd7ff255|a|b|c|l|e|a|r| @7| +0#4040ff13#ffffff0@7
|
| +1&&@19|a+0&&| +0#0000001#ffd7ff255|a@3| @10| +0#0000000#ffffff0@7
|
||||||
| +1#0000000&@19|~+0#4040ff13&| +0#0000001#ffd7ff255|a|b|o|v|e|l|e|f|t| @5| +0#4040ff13#ffffff0@7
|
| +1&&@19|a+0&&| +0#0000001#ffd7ff255|a@2|c| @10| +0#0000000#ffffff0@7
|
||||||
| +1#0000000&@19|~+0#4040ff13&| +0#0000001#ffd7ff255|a|b|s|t|r|a|c|t| @6| +0#4040ff13#ffffff0@7
|
| +1&&@19| +0&&| +0#0000001#e0e0e08|a@2|b| @10| +0#0000000#ffffff0@7
|
||||||
| +1#0000000&@19|~+0#4040ff13&| @23
|
| +1&&@19| +0&&@1|a@2|b> @18
|
||||||
| +1#0000000&@19|~+0#4040ff13&| @23
|
| +1&&@19|~+0#4040ff13&| @23
|
||||||
| +1#0000000&@19|~+0#4040ff13&| @23
|
| +1#0000000&@19|~+0#4040ff13&| @23
|
||||||
|-+2#0000000&@1| |m+0#00e0003&|a|t|c|h| |1| |o|f| |4| +0#0000000&@29
|
|-+2#0000000&@1| |m+0#00e0003&|a|t|c|h| |1| |o|f| |4| +0#0000000&@29
|
||||||
|
10
src/testdir/dumps/Test_tabpanel_drawing_pum_2.dump
Normal file
10
src/testdir/dumps/Test_tabpanel_drawing_pum_2.dump
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
|a+0&#ffffff0@1| @22|a+8#0000001#e0e0e08@2|.|t|x|t| @12
|
||||||
|
|a+0#0000000#ffffff0@1| @22|++2&&| |b@2|.|t|x|t| @10
|
||||||
|
|a+0&&@3| @20| +1&&@19
|
||||||
|
|a+0&&@2|c| @17| +0#0000001#e0e0e08|a@1| @12| +1#0000000#ffffff0@6
|
||||||
|
|a+0&&@2|b| @17| +0#0000001#ffd7ff255|a@3| @10| +1#0000000#ffffff0@6
|
||||||
|
| +0&&@21| +0#0000001#ffd7ff255|a@2|c| @10| +1#0000000#ffffff0@6
|
||||||
|
| +0&&@21| +0#0000001#ffd7ff255|a@2|b| @10| +1#0000000#ffffff0@6
|
||||||
|
| +0&&@22|a@1| +1&&@19
|
||||||
|
>~+0#4040ff13&| @23| +1#0000000&@19
|
||||||
|
|-+2&&@1| |m+0#00e0003&|a|t|c|h| |1| |o|f| |4| +0#0000000&@29
|
@ -1,10 +1,10 @@
|
|||||||
|[+8#0000001#e0e0e08|N|o| |N|a|m|e|]| @10|╔+0#0000000#ffffff0|═|╗|.@18|╔|═|╗
|
|╔+0#ffffff16#e000002|═|╗|.+0#0000000#ffffff0@38|╔+0#ffffff16#e000002|═|╗
|
||||||
|[+2&&|S|c|r|a|t|c|h|]| @10|║+0&&|@|║|.@18|║|@|║
|
|║|@|║|.+0#0000000#ffffff0@38|║+0#ffffff16#e000002|@|║
|
||||||
| +1&&@19|╚+0&&|═|╝|.@5|a|t|c|u|r|s|o|r|.@4|╚|═|╝
|
|╚|═|╝|.+0#0000000#ffffff0@38|╚+0#ffffff16#e000002|═|╝
|
||||||
| +1&&@19|.+0&&@8>.@15
|
|.+0#0000000#ffffff0@8|a+0#00e0003&|t|c|u|r|s|o|r|.+0#0000000&@27
|
||||||
| +1&&@19|.+0&&@24
|
@9>.@35
|
||||||
| +1&&@19|╔+0&&|═|╗|.@18|╔|═|╗
|
@45
|
||||||
| +1&&@19|║+0&&|@|║|.@18|║|@|║
|
@45
|
||||||
| +1&&@19|╚+0&&|═|╝|.@18|╚|═|╝
|
@45
|
||||||
| +1&&@19|.+0&&@24
|
@45
|
||||||
| @44
|
| @44
|
||||||
|
10
src/testdir/dumps/Test_tabpanel_drawing_with_popupwin_1.dump
Normal file
10
src/testdir/dumps/Test_tabpanel_drawing_with_popupwin_1.dump
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
|[+8#0000001#e0e0e08|N|o| |N|a|m|e|]| @10|╔+0#ffffff16#e000002|═|╗|.+0#0000000#ffffff0@18|╔+0#ffffff16#e000002|═|╗
|
||||||
|
|[+2#0000000#ffffff0|S|c|r|a|t|c|h|]| @10|║+0#ffffff16#e000002|@|║|.+0#0000000#ffffff0@18|║+0#ffffff16#e000002|@|║
|
||||||
|
| +1#0000000#ffffff0@19|╚+0#ffffff16#e000002|═|╝|.+0#0000000#ffffff0@18|╚+0#ffffff16#e000002|═|╝
|
||||||
|
| +1#0000000#ffffff0@19|a+0#00e0003&|t|c|u|r|s|o|r|.+0#0000000&@16
|
||||||
|
| +1&&@19|.+0&&@8>.@15
|
||||||
|
| +1&&@19|.+0&&@24
|
||||||
|
| +1&&@19|.+0&&@24
|
||||||
|
| +1&&@19|.+0&&@24
|
||||||
|
| +1&&@19|.+0&&@24
|
||||||
|
| @44
|
10
src/testdir/dumps/Test_tabpanel_drawing_with_popupwin_2.dump
Normal file
10
src/testdir/dumps/Test_tabpanel_drawing_with_popupwin_2.dump
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
|╔+0#ffffff16#e000002|═|╗|.+0#0000000#ffffff0@18|╔+0#ffffff16#e000002|═|╗|[+8#0000001#e0e0e08|N|o| |N|a|m|e|]| @10
|
||||||
|
|║+0#ffffff16#e000002|@|║|.+0#0000000#ffffff0@18|║+0#ffffff16#e000002|@|║|[+2#0000000#ffffff0|S|c|r|a|t|c|h|]| @10
|
||||||
|
|╚+0#ffffff16#e000002|═|╝|.+0#0000000#ffffff0@18|╚+0#ffffff16#e000002|═|╝| +1#0000000#ffffff0@19
|
||||||
|
|.+0&&@8|a+0#00e0003&|t|c|u|r|s|o|r|.+0#0000000&@7| +1&&@19
|
||||||
|
|.+0&&@8>.@15| +1&&@19
|
||||||
|
|.+0&&@24| +1&&@19
|
||||||
|
|.+0&&@24| +1&&@19
|
||||||
|
|.+0&&@24| +1&&@19
|
||||||
|
|.+0&&@24| +1&&@19
|
||||||
|
| +0&&@44
|
@ -1,10 +1,10 @@
|
|||||||
|$+8#0000001#e0e0e08| |[|a@2|]| |$|│+1#0000000#ffffff0|$| @13|[|c@2|]| @13|$
|
|$+8#0000001#e0e0e08| |[|a@2|]| |$||+1#0000000#ffffff0|$| @13|[|c@2|]| @13|$
|
||||||
|$+8#0000001#e0e0e08| |[|b@2|]| |$|│+1#0000000#ffffff0> +0&&@34
|
|$+8#0000001#e0e0e08| |[|b@2|]| |$||+1#0000000#ffffff0> +0&&@34
|
||||||
|$+2&&| |[|c@2|]| |$|│+1&&|~+0#4040ff13&| @33
|
|$+2&&| |[|c@2|]| |$||+1&&|~+0#4040ff13&| @33
|
||||||
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
| +1#0000000&@8|||~+0#4040ff13&| @33
|
||||||
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
| +1#0000000&@8|||~+0#4040ff13&| @33
|
||||||
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
| +1#0000000&@8|||~+0#4040ff13&| @33
|
||||||
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
| +1#0000000&@8|||~+0#4040ff13&| @33
|
||||||
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
| +1#0000000&@8|||~+0#4040ff13&| @33
|
||||||
| +1#0000000&@8|│|$+3&&| @13|[|c@2|]| @13|$
|
| +1#0000000&@8|||$+3&&| @13|[|c@2|]| @13|$
|
||||||
|"+0&&|c@2|"| |[|N|e|w|]| @33
|
|"+0&&|c@2|"| |[|N|e|w|]| @33
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
|$+1&#ffffff0| @13|[|c@2|]| @13|$|│|$+8#0000001#e0e0e08| |[|a@2|]| |$
|
|$+1&#ffffff0| @13|[|c@2|]| @13|$|||$+8#0000001#e0e0e08| |[|a@2|]| |$
|
||||||
> +0#0000000#ffffff0@34|│+1&&|$+8#0000001#e0e0e08| |[|b@2|]| |$
|
> +0#0000000#ffffff0@34||+1&&|$+8#0000001#e0e0e08| |[|b@2|]| |$
|
||||||
|~+0#4040ff13#ffffff0| @33|│+1#0000000&|$+2&&| |[|c@2|]| |$
|
|~+0#4040ff13#ffffff0| @33||+1#0000000&|$+2&&| |[|c@2|]| |$
|
||||||
|~+0#4040ff13&| @33|│+1#0000000&| @8
|
|~+0#4040ff13&| @33||+1#0000000&| @8
|
||||||
|~+0#4040ff13&| @33|│+1#0000000&| @8
|
|~+0#4040ff13&| @33||+1#0000000&| @8
|
||||||
|~+0#4040ff13&| @33|│+1#0000000&| @8
|
|~+0#4040ff13&| @33||+1#0000000&| @8
|
||||||
|~+0#4040ff13&| @33|│+1#0000000&| @8
|
|~+0#4040ff13&| @33||+1#0000000&| @8
|
||||||
|~+0#4040ff13&| @33|│+1#0000000&| @8
|
|~+0#4040ff13&| @33||+1#0000000&| @8
|
||||||
|$+3&&| @13|[|c@2|]| @13|$|│+1&&| @8
|
|$+3&&| @13|[|c@2|]| @13|$||+1&&| @8
|
||||||
|:+0&&|s|e|t| |t|a|b|p|a|n|e|l|o|p|t|+|=|a|l|i|g|n|:|r|i|g|h|t| @15
|
|:+0&&|s|e|t| |t|a|b|p|a|n|e|l|o|p|t|+|=|a|l|i|g|n|:|r|i|g|h|t| @15
|
||||||
|
@ -7,4 +7,4 @@
|
|||||||
|t+2#0000000&|o|p| @6|~+0#4040ff13&| @33
|
|t+2#0000000&|o|p| @6|~+0#4040ff13&| @33
|
||||||
|$+2#0000000&| |[|c@2|]| @1|$|~+0#4040ff13&| @33
|
|$+2#0000000&| |[|c@2|]| @1|$|~+0#4040ff13&| @33
|
||||||
|b+2#0000000&|o|t@1|o|m| @3|~+0#4040ff13&| @33
|
|b+2#0000000&|o|t@1|o|m| @3|~+0#4040ff13&| @33
|
||||||
|"+0#0000000&|c@2|"| |[|N|e|w|]| @25|0|,|0|-|1| @2
|
|"+0#0000000&|c@2|"| |[|N|e|w|]| @33
|
||||||
|
@ -7,4 +7,4 @@
|
|||||||
|~+0#4040ff13#ffffff0| @33|t+2#0000000&|o|p| @6
|
|~+0#4040ff13#ffffff0| @33|t+2#0000000&|o|p| @6
|
||||||
|~+0#4040ff13&| @33|$+2#0000000&| |[|c@2|]| @1|$
|
|~+0#4040ff13&| @33|$+2#0000000&| |[|c@2|]| @1|$
|
||||||
|~+0#4040ff13&| @33|b+2#0000000&|o|t@1|o|m| @3
|
|~+0#4040ff13&| @33|b+2#0000000&|o|t@1|o|m| @3
|
||||||
|:+0&&|s|e|t| |t|a|b|p|a|n|e|l|o|p|t|+|=|a|l|i|g|n|:|r|i|g|0|,|0|-|1| @8|A|l@1|
|
|:+0&&|s|e|t| |t|a|b|p|a|n|e|l|o|p|t|+|=|a|l|i|g|n|:|r|i|g|h|t| @15
|
||||||
|
@ -7,4 +7,4 @@
|
|||||||
|7+8#0000001#e0e0e08|:|t|a|b| @4|~+0#4040ff13#ffffff0| @33
|
|7+8#0000001#e0e0e08|:|t|a|b| @4|~+0#4040ff13#ffffff0| @33
|
||||||
|8+8#0000001#e0e0e08|:|t|a|b| @4|~+0#4040ff13#ffffff0| @33
|
|8+8#0000001#e0e0e08|:|t|a|b| @4|~+0#4040ff13#ffffff0| @33
|
||||||
|9+8#0000001#e0e0e08|:|t|a|b| @4|~+0#4040ff13#ffffff0| @33
|
|9+8#0000001#e0e0e08|:|t|a|b| @4|~+0#4040ff13#ffffff0| @33
|
||||||
| +0#0000000&@36|0|,|0|-|1| @2
|
| +0#0000000&@26|0|,|0|-|1| @8|A|l@1|
|
||||||
|
@ -7,4 +7,4 @@
|
|||||||
|7+8#0000001#e0e0e08|:|t|a|b| @4|~+0#4040ff13#ffffff0| @33
|
|7+8#0000001#e0e0e08|:|t|a|b| @4|~+0#4040ff13#ffffff0| @33
|
||||||
|8+8#0000001#e0e0e08|:|t|a|b| @4|~+0#4040ff13#ffffff0| @33
|
|8+8#0000001#e0e0e08|:|t|a|b| @4|~+0#4040ff13#ffffff0| @33
|
||||||
|9+8#0000001#e0e0e08|:|t|a|b| @4|~+0#4040ff13#ffffff0| @33
|
|9+8#0000001#e0e0e08|:|t|a|b| @4|~+0#4040ff13#ffffff0| @33
|
||||||
| +0#0000000&@36|0|,|0|-|1| @2
|
| +0#0000000&@26|0|,|0|-|1| @8|A|l@1|
|
||||||
|
@ -7,4 +7,4 @@
|
|||||||
|7+8#0000001#e0e0e08|:|t|a|b| @4|~+0#4040ff13#ffffff0| @33
|
|7+8#0000001#e0e0e08|:|t|a|b| @4|~+0#4040ff13#ffffff0| @33
|
||||||
|8+8#0000001#e0e0e08|:|t|a|b| @4|~+0#4040ff13#ffffff0| @33
|
|8+8#0000001#e0e0e08|:|t|a|b| @4|~+0#4040ff13#ffffff0| @33
|
||||||
|9+8#0000001#e0e0e08|:|t|a|b| @4|~+0#4040ff13#ffffff0| @33
|
|9+8#0000001#e0e0e08|:|t|a|b| @4|~+0#4040ff13#ffffff0| @33
|
||||||
| +0#0000000&@36|0|,|0|-|1| @2
|
| +0#0000000&@26|0|,|0|-|1| @8|A|l@1|
|
||||||
|
@ -7,4 +7,4 @@
|
|||||||
|7+8#0000001#e0e0e08|:|t|a|b| @4|~+0#4040ff13#ffffff0| @33
|
|7+8#0000001#e0e0e08|:|t|a|b| @4|~+0#4040ff13#ffffff0| @33
|
||||||
|8+8#0000001#e0e0e08|:|t|a|b| @4|~+0#4040ff13#ffffff0| @33
|
|8+8#0000001#e0e0e08|:|t|a|b| @4|~+0#4040ff13#ffffff0| @33
|
||||||
|9+8#0000001#e0e0e08|:|t|a|b| @4|~+0#4040ff13#ffffff0| @33
|
|9+8#0000001#e0e0e08|:|t|a|b| @4|~+0#4040ff13#ffffff0| @33
|
||||||
| +0#0000000&@36|0|,|0|-|1| @2
|
| +0#0000000&@26|0|,|0|-|1| @8|A|l@1|
|
||||||
|
@ -7,4 +7,4 @@
|
|||||||
|1+8#0000001#e0e0e08|6|:|t|a|b| @3|~+0#4040ff13#ffffff0| @33
|
|1+8#0000001#e0e0e08|6|:|t|a|b| @3|~+0#4040ff13#ffffff0| @33
|
||||||
|1+8#0000001#e0e0e08|7|:|t|a|b| @3|~+0#4040ff13#ffffff0| @33
|
|1+8#0000001#e0e0e08|7|:|t|a|b| @3|~+0#4040ff13#ffffff0| @33
|
||||||
|1+8#0000001#e0e0e08|8|:|t|a|b| @3|~+0#4040ff13#ffffff0| @33
|
|1+8#0000001#e0e0e08|8|:|t|a|b| @3|~+0#4040ff13#ffffff0| @33
|
||||||
|:+0#0000000&|t|a|b|n|e|x|t| |-|3| @25|0|,|0|-|1| @2
|
|:+0#0000000&|t|a|b|n|e|x|t| |-|3| @15|0|,|0|-|1| @8|A|l@1|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
|$+8#0000001#e0e0e08| |[|a@2|]| |$|│+1#0000000#ffffff0|$| @13|[|c@2|]| @13|$
|
|$+8#0000001#e0e0e08| |[|a@2|]| |$||+1#0000000#ffffff0|$| @13|[|c@2|]| @13|$
|
||||||
|$+8#0000001#e0e0e08| |[|b@2|]| |$|│+1#0000000#ffffff0> +0&&@34
|
|$+8#0000001#e0e0e08| |[|b@2|]| |$||+1#0000000#ffffff0> +0&&@34
|
||||||
|$+2&&| |[|c@2|]| |$|│+1&&|~+0#4040ff13&| @33
|
|$+2&&| |[|c@2|]| |$||+1&&|~+0#4040ff13&| @33
|
||||||
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
| +1#0000000&@8|||~+0#4040ff13&| @33
|
||||||
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
| +1#0000000&@8|||~+0#4040ff13&| @33
|
||||||
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
| +1#0000000&@8|||~+0#4040ff13&| @33
|
||||||
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
| +1#0000000&@8|||~+0#4040ff13&| @33
|
||||||
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
| +1#0000000&@8|||~+0#4040ff13&| @33
|
||||||
| +1#0000000&@8|│|$+3&&| @13|[|c@2|]| @13|$
|
| +1#0000000&@8|||$+3&&| @13|[|c@2|]| @13|$
|
||||||
|"+0&&|c@2|"| |[|N|e|w|]| @33
|
|"+0&&|c@2|"| |[|N|e|w|]| @33
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
|$+1&#ffffff0| @13|[|c@2|]| @13|$|│|$+8#0000001#e0e0e08| |[|a@2|]| |$
|
|$+1&#ffffff0| @13|[|c@2|]| @13|$|||$+8#0000001#e0e0e08| |[|a@2|]| |$
|
||||||
> +0#0000000#ffffff0@34|│+1&&|$+8#0000001#e0e0e08| |[|b@2|]| |$
|
> +0#0000000#ffffff0@34||+1&&|$+8#0000001#e0e0e08| |[|b@2|]| |$
|
||||||
|~+0#4040ff13#ffffff0| @33|│+1#0000000&|$+2&&| |[|c@2|]| |$
|
|~+0#4040ff13#ffffff0| @33||+1#0000000&|$+2&&| |[|c@2|]| |$
|
||||||
|~+0#4040ff13&| @33|│+1#0000000&| @8
|
|~+0#4040ff13&| @33||+1#0000000&| @8
|
||||||
|~+0#4040ff13&| @33|│+1#0000000&| @8
|
|~+0#4040ff13&| @33||+1#0000000&| @8
|
||||||
|~+0#4040ff13&| @33|│+1#0000000&| @8
|
|~+0#4040ff13&| @33||+1#0000000&| @8
|
||||||
|~+0#4040ff13&| @33|│+1#0000000&| @8
|
|~+0#4040ff13&| @33||+1#0000000&| @8
|
||||||
|~+0#4040ff13&| @33|│+1#0000000&| @8
|
|~+0#4040ff13&| @33||+1#0000000&| @8
|
||||||
|$+3&&| @13|[|c@2|]| @13|$|│+1&&| @8
|
|$+3&&| @13|[|c@2|]| @13|$||+1&&| @8
|
||||||
|:+0&&|s|e|t| |t|a|b|p|a|n|e|l|o|p|t|+|=|a|l|i|g|n|:|r|i|g|h|t| @15
|
|:+0&&|s|e|t| |t|a|b|p|a|n|e|l|o|p|t|+|=|a|l|i|g|n|:|r|i|g|h|t| @15
|
||||||
|
10
src/testdir/dumps/Test_tabpanel_quitall_0.dump
Normal file
10
src/testdir/dumps/Test_tabpanel_quitall_0.dump
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
|[+8#0000001#e0e0e08|N|o| |N|a|m|e|]| @11|[|N|o| |N|a|m|e|]| | +2#0000000#ffffff0|+| |N|o| |N|a|m|e|]| | +1&&|X+8#0000001#e0e0e08
|
||||||
|
|++2#0000000#ffffff0| |[|N|o| |N|a|m|e|]| @8>a+0&&@2| @21
|
||||||
|
| +1&&@19|~+0#4040ff13&| @23
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @23
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @23
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @23
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @23
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @23
|
||||||
|
| +1#0000000&@19|<+3&&|o| |N|a|m|e|]| |[|+|]| |1|,|1| @5|A|l@1
|
||||||
|
| +0&&@44
|
10
src/testdir/dumps/Test_tabpanel_ruler_0.dump
Normal file
10
src/testdir/dumps/Test_tabpanel_ruler_0.dump
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
|[+8#0000001#e0e0e08|N|o| |N|a|m|e|]| @11|[|N|o| |N|a|m|e|]| | +2#0000000#ffffff0|[|N|o| |N|a|m|e|]| | +1&&@1|X+8#0000001#e0e0e08
|
||||||
|
|[+2#0000000#ffffff0|N|o| |N|a|m|e|]| @10> +0&&@24
|
||||||
|
| +1&&@19|~+0#4040ff13&| @23
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @23
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @23
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @23
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @23
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @23
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @23
|
||||||
|
| +0#0000000&@26|0|,|0|-|1| @8|A|l@1|
|
10
src/testdir/dumps/Test_tabpanel_stpl_eq_1_0.dump
Normal file
10
src/testdir/dumps/Test_tabpanel_stpl_eq_1_0.dump
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
> +0&#ffffff0@77
|
||||||
|
|~+0#4040ff13&| @76
|
||||||
|
|~| @76
|
||||||
|
|~| @76
|
||||||
|
|~| @76
|
||||||
|
|~| @76
|
||||||
|
|~| @76
|
||||||
|
|~| @76
|
||||||
|
|~| @76
|
||||||
|
| +0#0000000&@77
|
10
src/testdir/dumps/Test_tabpanel_stpl_eq_1_1.dump
Normal file
10
src/testdir/dumps/Test_tabpanel_stpl_eq_1_1.dump
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
|[+8#0000001#e0e0e08|N|o| |N|a|m|e|]| @11|[|N|o| |N|a|m|e|]| | +2#0000000#ffffff0|[|N|o| |N|a|m|e|]| | +1&&@34|X+8#0000001#e0e0e08
|
||||||
|
|[+2#0000000#ffffff0|N|o| |N|a|m|e|]| @10> +0&&@57
|
||||||
|
| +1&&@19|~+0#4040ff13&| @56
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @56
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @56
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @56
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @56
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @56
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @56
|
||||||
|
| +0#0000000&@77
|
10
src/testdir/dumps/Test_tabpanel_stpl_eq_1_2.dump
Normal file
10
src/testdir/dumps/Test_tabpanel_stpl_eq_1_2.dump
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
|2+2#e000e06#ffffff0| +2#0000000&|[|N|o| |N|a|m|e|]| @9|2+2#e000e06&| +2#0000000&|[|N|o| |N|a|m|e|]| | +8#0000001#e0e0e08|[|N|o| |N|a|m|e|]| | +1#0000000#ffffff0@32|X+8#0000001#e0e0e08
|
||||||
|
|[|N|o| |N|a|m|e|]| @10> +0#0000000#ffffff0@28||+1&&| +0&&@27
|
||||||
|
| +1&&@19|~+0#4040ff13&| @27||+1#0000000&|~+0#4040ff13&| @26
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @27||+1#0000000&|~+0#4040ff13&| @26
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @27||+1#0000000&|~+0#4040ff13&| @26
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @27||+1#0000000&|~+0#4040ff13&| @26
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @27||+1#0000000&|~+0#4040ff13&| @26
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @27||+1#0000000&|~+0#4040ff13&| @26
|
||||||
|
| +1#0000000&@19|[+3&&|N|o| |N|a|m|e|]| @20|[+1&&|N|o| |N|a|m|e|]| @18
|
||||||
|
| +0&&@77
|
10
src/testdir/dumps/Test_tabpanel_stpl_eq_1_3.dump
Normal file
10
src/testdir/dumps/Test_tabpanel_stpl_eq_1_3.dump
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
| +8#0000001#e0e0e08|[|N|o| |N|a|m|e|]| | +2#0000000#ffffff0|[|N|o| |N|a|m|e|]| | +1&&@35|[+8#0000001#e0e0e08|N|o| |N|a|m|e|]| @10
|
||||||
|
> +0#0000000#ffffff0@57|[+2&&|N|o| |N|a|m|e|]| @10
|
||||||
|
|~+0#4040ff13&| @56| +1#0000000&@19
|
||||||
|
|~+0#4040ff13&| @56| +1#0000000&@19
|
||||||
|
|~+0#4040ff13&| @56| +1#0000000&@19
|
||||||
|
|~+0#4040ff13&| @56| +1#0000000&@19
|
||||||
|
|~+0#4040ff13&| @56| +1#0000000&@19
|
||||||
|
|~+0#4040ff13&| @56| +1#0000000&@19
|
||||||
|
|~+0#4040ff13&| @56| +1#0000000&@19
|
||||||
|
| +0&&@77
|
10
src/testdir/dumps/Test_tabpanel_stpl_eq_1_4.dump
Normal file
10
src/testdir/dumps/Test_tabpanel_stpl_eq_1_4.dump
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
| +2&#ffffff0|2+2#e000e06&| +2#0000000&|[|N|o| |N|a|m|e|]| | +8#0000001#e0e0e08|[|N|o| |N|a|m|e|]| | +1#0000000#ffffff0@33|2+2#e000e06&| +2#0000000&|[|N|o| |N|a|m|e|]| @8
|
||||||
|
> +0&&@28||+1&&| +0&&@27|[+8#0000001#e0e0e08|N|o| |N|a|m|e|]| @10
|
||||||
|
|~+0#4040ff13#ffffff0| @27||+1#0000000&|~+0#4040ff13&| @26| +1#0000000&@19
|
||||||
|
|~+0#4040ff13&| @27||+1#0000000&|~+0#4040ff13&| @26| +1#0000000&@19
|
||||||
|
|~+0#4040ff13&| @27||+1#0000000&|~+0#4040ff13&| @26| +1#0000000&@19
|
||||||
|
|~+0#4040ff13&| @27||+1#0000000&|~+0#4040ff13&| @26| +1#0000000&@19
|
||||||
|
|~+0#4040ff13&| @27||+1#0000000&|~+0#4040ff13&| @26| +1#0000000&@19
|
||||||
|
|~+0#4040ff13&| @27||+1#0000000&|~+0#4040ff13&| @26| +1#0000000&@19
|
||||||
|
|[+3&&|N|o| |N|a|m|e|]| @20|[+1&&|N|o| |N|a|m|e|]| @38
|
||||||
|
| +0&&@77
|
@ -7,4 +7,4 @@
|
|||||||
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
||||||
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
||||||
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
||||||
|"+0#0000000&|c@2|.|t|x|t|"| |[|N|e|w|]| @21|0|,|0|-|1| @2
|
|"+0#0000000&|c@2|.|t|x|t|"| |[|N|e|w|]| @11|0|,|0|-|1| @8|A|l@1|
|
||||||
|
@ -7,4 +7,4 @@
|
|||||||
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
||||||
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
||||||
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
||||||
| +0#0000000&@36|0|,|0|-|1| @2
|
| +0#0000000&@26|0|,|0|-|1| @8|A|l@1|
|
||||||
|
@ -7,4 +7,4 @@
|
|||||||
|│+1#0000000&|~+0#4040ff13&| @42
|
|│+1#0000000&|~+0#4040ff13&| @42
|
||||||
|│+1#0000000&|~+0#4040ff13&| @42
|
|│+1#0000000&|~+0#4040ff13&| @42
|
||||||
|│+1#0000000&|~+0#4040ff13&| @42
|
|│+1#0000000&|~+0#4040ff13&| @42
|
||||||
|:+0#0000000&|s|e|t| |t|a|b|p|a|n|e|l|o|p|t|=|c|o|l|u|m|n|s|:|1|,|v|0|,|0|-|1| @8|A|l@1
|
|:+0#0000000&|s|e|t| |t|a|b|p|a|n|e|l|o|p|t|=|c|o|l|u|m|n|s|:|1|,|0|,|0|-|1| @8|A|l@1|
|
||||||
|
@ -7,4 +7,4 @@
|
|||||||
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
||||||
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
||||||
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
| +1#0000000&@8|│|~+0#4040ff13&| @33
|
||||||
|:+0#0000000&|s|e|t| |t|a|b|p|a|n|e|l|o|p|t|=|c|o|l|u|m|n|s|:|1|0|,|v|e|r|t| @4|0|,|0|-|1| @2
|
|:+0#0000000&|s|e|t| |t|a|b|p|a|n|e|l|o|p|t|=|c|o|l|u|m|n|s|:|1|0@1|,|0|-|1| @8|A|l@1|
|
||||||
|
@ -7,4 +7,4 @@
|
|||||||
| +1#0000000&|│|~+0#4040ff13&| @41
|
| +1#0000000&|│|~+0#4040ff13&| @41
|
||||||
| +1#0000000&|│|~+0#4040ff13&| @41
|
| +1#0000000&|│|~+0#4040ff13&| @41
|
||||||
| +1#0000000&|│|~+0#4040ff13&| @41
|
| +1#0000000&|│|~+0#4040ff13&| @41
|
||||||
|:+0#0000000&|s|e|t| |t|a|b|p|a|n|e|l|o|p|t|=|c|o|l|u|m|n|s|:|2|,|v|e|0|,|0|-|1| @8|A|l
|
|:+0#0000000&|s|e|t| |t|a|b|p|a|n|e|l|o|p|t|=|c|o|l|u|m|n|s|:|2|,|0|,|0|-|1| @8|A|l@1|
|
||||||
|
@ -7,4 +7,4 @@
|
|||||||
| +1#0000000&@9|~+0#4040ff13&| @33
|
| +1#0000000&@9|~+0#4040ff13&| @33
|
||||||
| +1#0000000&@9|~+0#4040ff13&| @33
|
| +1#0000000&@9|~+0#4040ff13&| @33
|
||||||
| +1#0000000&@9|~+0#4040ff13&| @33
|
| +1#0000000&@9|~+0#4040ff13&| @33
|
||||||
|-+2#0000000&@1| |V|I|S|U|A|L| |-@1| +0&&@4|1@1| @17|1|,|1@1| @3
|
|-+2#0000000&@1| |V|I|S|U|A|L| |-@1| +0&&@4|1@1| @7|1|,|1@1| @9|A|l@1|
|
||||||
|
@ -7,4 +7,4 @@
|
|||||||
| +1#0000000&@9|~+0#4040ff13&| @33
|
| +1#0000000&@9|~+0#4040ff13&| @33
|
||||||
| +1#0000000&@9|~+0#4040ff13&| @33
|
| +1#0000000&@9|~+0#4040ff13&| @33
|
||||||
| +1#0000000&@9|~+0#4040ff13&| @33
|
| +1#0000000&@9|~+0#4040ff13&| @33
|
||||||
|-+2#0000000&@1| |V|I|S|U|A|L| |-@1| +0&&@4|9| @18|2|,|1|4| @3
|
|-+2#0000000&@1| |V|I|S|U|A|L| |-@1| +0&&@4|9| @8|2|,|1|4| @9|A|l@1|
|
||||||
|
@ -7,4 +7,4 @@
|
|||||||
| +1#0000000&@9|~+0#4040ff13&| @33
|
| +1#0000000&@9|~+0#4040ff13&| @33
|
||||||
| +1#0000000&@9|~+0#4040ff13&| @33
|
| +1#0000000&@9|~+0#4040ff13&| @33
|
||||||
| +1#0000000&@9|~+0#4040ff13&| @33
|
| +1#0000000&@9|~+0#4040ff13&| @33
|
||||||
|b+0#0000000&@2|2| |c@2|2| @27|2|,|6| @4
|
|b+0#0000000&@2|2| |c@2|2| @17|2|,|6| @10|A|l@1|
|
||||||
|
10
src/testdir/dumps/Test_tabpanel_with_vsplit_0.dump
Normal file
10
src/testdir/dumps/Test_tabpanel_with_vsplit_0.dump
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
|[+8#0000001#e0e0e08|N|o| |N|a|m|e|]| @10> +0#0000000#ffffff0@57
|
||||||
|
|[+2&&|N|o| |N|a|m|e|]| @10|~+0#4040ff13&| @56
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @56
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @56
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @56
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @56
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @56
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @56
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @56
|
||||||
|
| +0#0000000&@59|0|,|0|-|1| @8|A|l@1|
|
10
src/testdir/dumps/Test_tabpanel_with_vsplit_1.dump
Normal file
10
src/testdir/dumps/Test_tabpanel_with_vsplit_1.dump
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
|[+8#0000001#e0e0e08|N|o| |N|a|m|e|]| @10> +0#0000000#ffffff0@28||+1&&| +0&&@27
|
||||||
|
|2+2#e000e06&| +2#0000000&|[|N|o| |N|a|m|e|]| @8|~+0#4040ff13&| @27||+1#0000000&|~+0#4040ff13&| @26
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @27||+1#0000000&|~+0#4040ff13&| @26
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @27||+1#0000000&|~+0#4040ff13&| @26
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @27||+1#0000000&|~+0#4040ff13&| @26
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @27||+1#0000000&|~+0#4040ff13&| @26
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @27||+1#0000000&|~+0#4040ff13&| @26
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @27||+1#0000000&|~+0#4040ff13&| @26
|
||||||
|
| +1#0000000&@19|[+3&&|N|o| |N|a|m|e|]| @5|0|,|0|-|1| @5|A|l@1| |[+1&&|N|o| |N|a|m|e|]| @4|0|,|0|-|1| @5|A|l@1
|
||||||
|
|:+0&&|v|s|p|l|i|t| @70
|
10
src/testdir/dumps/Test_tabpanel_with_vsplit_2.dump
Normal file
10
src/testdir/dumps/Test_tabpanel_with_vsplit_2.dump
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
|[+8#0000001#e0e0e08|N|o| |N|a|m|e|]| @10> +0#0000000#ffffff0@19||+1&&| +0&&@17||+1&&| +0&&@17
|
||||||
|
|3+2#e000e06&| +2#0000000&|[|N|o| |N|a|m|e|]| @8|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&|~+0#4040ff13&| @16
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&|~+0#4040ff13&| @16
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&|~+0#4040ff13&| @16
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&|~+0#4040ff13&| @16
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&|~+0#4040ff13&| @16
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&|~+0#4040ff13&| @16
|
||||||
|
| +1#0000000&@19|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&|~+0#4040ff13&| @16
|
||||||
|
| +1#0000000&@19|<+3&&|N|o| |N|a|m|e|]| |0|,|0|-|1| @1|A|l@1| |<+1&&|o| |N|a|m|e|]| |0|,|0|-|1| |A|l@1| |<|o| |N|a|m|e|]| |0|,|0|-|1| |A|l@1
|
||||||
|
|:+0&&|v|s|p|l|i|t| @70
|
10
src/testdir/dumps/Test_tabpanel_with_vsplit_3.dump
Normal file
10
src/testdir/dumps/Test_tabpanel_with_vsplit_3.dump
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
> +0&#ffffff0@57||+1&&|[+8#0000001#e0e0e08|N|o| |N|a|m|e|]| @9
|
||||||
|
|~+0#4040ff13#ffffff0| @56||+1#0000000&|[+2&&|N|o| |N|a|m|e|]| @9
|
||||||
|
|~+0#4040ff13&| @56||+1#0000000&| @18
|
||||||
|
|~+0#4040ff13&| @56||+1#0000000&| @18
|
||||||
|
|~+0#4040ff13&| @56||+1#0000000&| @18
|
||||||
|
|~+0#4040ff13&| @56||+1#0000000&| @18
|
||||||
|
|~+0#4040ff13&| @56||+1#0000000&| @18
|
||||||
|
|~+0#4040ff13&| @56||+1#0000000&| @18
|
||||||
|
|~+0#4040ff13&| @56||+1#0000000&| @18
|
||||||
|
|:+0&&|s|e|t| |t|a|b|p|a|n|e|l|o|p|t|=|a|l|i|g|n|:|r|i|g|h|t|,|v|e|r|t| @26|0|,|0|-|1| @8|A|l@1|
|
10
src/testdir/dumps/Test_tabpanel_with_vsplit_4.dump
Normal file
10
src/testdir/dumps/Test_tabpanel_with_vsplit_4.dump
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
> +0&#ffffff0@28||+1&&| +0&&@27||+1&&|[+8#0000001#e0e0e08|N|o| |N|a|m|e|]| @9
|
||||||
|
|~+0#4040ff13#ffffff0| @27||+1#0000000&|~+0#4040ff13&| @26||+1#0000000&|2+2#e000e06&| +2#0000000&|[|N|o| |N|a|m|e|]| @7
|
||||||
|
|~+0#4040ff13&| @27||+1#0000000&|~+0#4040ff13&| @26||+1#0000000&| @18
|
||||||
|
|~+0#4040ff13&| @27||+1#0000000&|~+0#4040ff13&| @26||+1#0000000&| @18
|
||||||
|
|~+0#4040ff13&| @27||+1#0000000&|~+0#4040ff13&| @26||+1#0000000&| @18
|
||||||
|
|~+0#4040ff13&| @27||+1#0000000&|~+0#4040ff13&| @26||+1#0000000&| @18
|
||||||
|
|~+0#4040ff13&| @27||+1#0000000&|~+0#4040ff13&| @26||+1#0000000&| @18
|
||||||
|
|~+0#4040ff13&| @27||+1#0000000&|~+0#4040ff13&| @26||+1#0000000&| @18
|
||||||
|
|[+3&&|N|o| |N|a|m|e|]| @5|0|,|0|-|1| @5|A|l@1| |[+1&&|N|o| |N|a|m|e|]| @4|0|,|0|-|1| @5|A|l@1||| @18
|
||||||
|
|:+0&&|v|s|p|l|i|t| @70
|
10
src/testdir/dumps/Test_tabpanel_with_vsplit_5.dump
Normal file
10
src/testdir/dumps/Test_tabpanel_with_vsplit_5.dump
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
> +0&#ffffff0@19||+1&&| +0&&@17||+1&&| +0&&@17||+1&&|[+8#0000001#e0e0e08|N|o| |N|a|m|e|]| @9
|
||||||
|
|~+0#4040ff13#ffffff0| @18||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&|3+2#e000e06&| +2#0000000&|[|N|o| |N|a|m|e|]| @7
|
||||||
|
|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&| @18
|
||||||
|
|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&| @18
|
||||||
|
|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&| @18
|
||||||
|
|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&| @18
|
||||||
|
|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&| @18
|
||||||
|
|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&|~+0#4040ff13&| @16||+1#0000000&| @18
|
||||||
|
|<+3&&|N|o| |N|a|m|e|]| |0|,|0|-|1| @1|A|l@1| |<+1&&|o| |N|a|m|e|]| |0|,|0|-|1| |A|l@1| |<|o| |N|a|m|e|]| |0|,|0|-|1| |A|l@1||| @18
|
||||||
|
|:+0&&|v|s|p|l|i|t| @70
|
@ -10,6 +10,64 @@ function s:reset()
|
|||||||
set showtabpanel&
|
set showtabpanel&
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
function Test_tabpanel_showtabpanel_eq_1()
|
||||||
|
CheckScreendump
|
||||||
|
|
||||||
|
let lines =<< trim END
|
||||||
|
set showtabpanel=1
|
||||||
|
set noruler
|
||||||
|
END
|
||||||
|
call writefile(lines, 'XTest_tabpanel_stpl_eq_1', 'D')
|
||||||
|
|
||||||
|
let buf = RunVimInTerminal('-S XTest_tabpanel_stpl_eq_1', {'rows': 10, 'cols': 78})
|
||||||
|
call term_sendkeys(buf, "\<C-L>")
|
||||||
|
call VerifyScreenDump(buf, 'Test_tabpanel_stpl_eq_1_0', {})
|
||||||
|
call term_sendkeys(buf, ":tabnew\<CR>\<C-L>")
|
||||||
|
call VerifyScreenDump(buf, 'Test_tabpanel_stpl_eq_1_1', {})
|
||||||
|
call term_sendkeys(buf, ":tabfirst\<CR>:vsplit\<CR>\<C-L>")
|
||||||
|
call VerifyScreenDump(buf, 'Test_tabpanel_stpl_eq_1_2', {})
|
||||||
|
call term_sendkeys(buf, ":tabclose\<CR>\<C-L>")
|
||||||
|
call VerifyScreenDump(buf, 'Test_tabpanel_stpl_eq_1_0', {})
|
||||||
|
|
||||||
|
call term_sendkeys(buf, ":set tabpanelopt=align:right\<CR>\<C-L>")
|
||||||
|
call VerifyScreenDump(buf, 'Test_tabpanel_stpl_eq_1_0', {})
|
||||||
|
call term_sendkeys(buf, ":tabnew\<CR>\<C-L>")
|
||||||
|
call VerifyScreenDump(buf, 'Test_tabpanel_stpl_eq_1_3', {})
|
||||||
|
call term_sendkeys(buf, ":tabfirst\<CR>:vsplit\<CR>\<C-L>")
|
||||||
|
call VerifyScreenDump(buf, 'Test_tabpanel_stpl_eq_1_4', {})
|
||||||
|
call term_sendkeys(buf, ":tabclose\<CR>\<C-L>")
|
||||||
|
call VerifyScreenDump(buf, 'Test_tabpanel_stpl_eq_1_0', {})
|
||||||
|
call StopVimInTerminal(buf)
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
function Test_tabpanel_with_vsplit()
|
||||||
|
CheckScreendump
|
||||||
|
|
||||||
|
let lines =<< trim END
|
||||||
|
set showtabpanel=2
|
||||||
|
set tabpanelopt=columns:20
|
||||||
|
set showtabline=0
|
||||||
|
tabnew
|
||||||
|
END
|
||||||
|
call writefile(lines, 'XTest_tabpanel_with_vsplit', 'D')
|
||||||
|
|
||||||
|
let buf = RunVimInTerminal('-S XTest_tabpanel_with_vsplit', {'rows': 10, 'cols': 78})
|
||||||
|
call VerifyScreenDump(buf, 'Test_tabpanel_with_vsplit_0', {})
|
||||||
|
call term_sendkeys(buf, ":vsplit\<CR>")
|
||||||
|
call VerifyScreenDump(buf, 'Test_tabpanel_with_vsplit_1', {})
|
||||||
|
call term_sendkeys(buf, ":vsplit\<CR>")
|
||||||
|
call VerifyScreenDump(buf, 'Test_tabpanel_with_vsplit_2', {})
|
||||||
|
|
||||||
|
call term_sendkeys(buf, ":only\<CR>")
|
||||||
|
call term_sendkeys(buf, ":set tabpanelopt=align:right,vert\<CR>")
|
||||||
|
call VerifyScreenDump(buf, 'Test_tabpanel_with_vsplit_3', {})
|
||||||
|
call term_sendkeys(buf, ":vsplit\<CR>")
|
||||||
|
call VerifyScreenDump(buf, 'Test_tabpanel_with_vsplit_4', {})
|
||||||
|
call term_sendkeys(buf, ":vsplit\<CR>")
|
||||||
|
call VerifyScreenDump(buf, 'Test_tabpanel_with_vsplit_5', {})
|
||||||
|
call StopVimInTerminal(buf)
|
||||||
|
endfunc
|
||||||
|
|
||||||
function Test_tabpanel_mouse()
|
function Test_tabpanel_mouse()
|
||||||
let save_showtabline = &showtabline
|
let save_showtabline = &showtabline
|
||||||
let save_mouse = &mouse
|
let save_mouse = &mouse
|
||||||
@ -37,7 +95,8 @@ function Test_tabpanel_mouse()
|
|||||||
call feedkeys("\<LeftMouse>", 'xt')
|
call feedkeys("\<LeftMouse>", 'xt')
|
||||||
call test_setmouse(2, 3)
|
call test_setmouse(2, 3)
|
||||||
let pos = getmousepos()
|
let pos = getmousepos()
|
||||||
call assert_equal(2, pos['winrow'])
|
call assert_equal(0, pos['winid'])
|
||||||
|
call assert_equal(0, pos['winrow'])
|
||||||
call assert_equal(0, pos['wincol'])
|
call assert_equal(0, pos['wincol'])
|
||||||
call assert_equal(2, pos['screenrow'])
|
call assert_equal(2, pos['screenrow'])
|
||||||
call assert_equal(3, pos['screencol'])
|
call assert_equal(3, pos['screencol'])
|
||||||
@ -45,6 +104,7 @@ function Test_tabpanel_mouse()
|
|||||||
call test_setmouse(1, 11)
|
call test_setmouse(1, 11)
|
||||||
call feedkeys("\<LeftMouse>", 'xt')
|
call feedkeys("\<LeftMouse>", 'xt')
|
||||||
let pos = getmousepos()
|
let pos = getmousepos()
|
||||||
|
call assert_notequal(0, pos['winid'])
|
||||||
call assert_equal(1, pos['winrow'])
|
call assert_equal(1, pos['winrow'])
|
||||||
call assert_equal(1, pos['wincol'])
|
call assert_equal(1, pos['wincol'])
|
||||||
call assert_equal(1, pos['screenrow'])
|
call assert_equal(1, pos['screenrow'])
|
||||||
@ -56,6 +116,7 @@ function Test_tabpanel_mouse()
|
|||||||
call test_setmouse(10, 11)
|
call test_setmouse(10, 11)
|
||||||
call feedkeys("\<LeftMouse>", 'xt')
|
call feedkeys("\<LeftMouse>", 'xt')
|
||||||
let pos = getmousepos()
|
let pos = getmousepos()
|
||||||
|
call assert_notequal(0, pos['winid'])
|
||||||
call assert_equal(10, pos['winrow'])
|
call assert_equal(10, pos['winrow'])
|
||||||
call assert_equal(1, pos['wincol'])
|
call assert_equal(1, pos['wincol'])
|
||||||
call assert_equal(10, pos['screenrow'])
|
call assert_equal(10, pos['screenrow'])
|
||||||
@ -113,37 +174,39 @@ endfunc
|
|||||||
function Test_tabpanel_drawing_with_popupwin()
|
function Test_tabpanel_drawing_with_popupwin()
|
||||||
CheckScreendump
|
CheckScreendump
|
||||||
|
|
||||||
|
let tcols = 45
|
||||||
let lines =<< trim END
|
let lines =<< trim END
|
||||||
set showtabpanel=2
|
set showtabpanel=0
|
||||||
set tabpanelopt=columns:20
|
set tabpanelopt=columns:20
|
||||||
set showtabline=0
|
set showtabline=0
|
||||||
|
set nowrap
|
||||||
|
set noruler
|
||||||
tabnew
|
tabnew
|
||||||
setlocal buftype=nofile
|
setlocal buftype=nofile
|
||||||
call setbufline(bufnr(), 1, repeat([repeat('.', &columns - 20)], &lines))
|
call setbufline(bufnr(), 1, repeat([repeat('.', &columns)], &lines - &ch))
|
||||||
highlight TestingForTabPanelPopupwin guibg=#7777ff guifg=#000000
|
for col in [1, &columns - 2]
|
||||||
for line in [1, &lines]
|
call popup_create(['@'],
|
||||||
for col in [1, &columns - 20 - 2]
|
\ {
|
||||||
call popup_create([
|
\ 'line': 1,
|
||||||
\ '@',
|
|
||||||
\ ], {
|
|
||||||
\ 'line': line,
|
|
||||||
\ 'col': col,
|
\ 'col': col,
|
||||||
\ 'border': [],
|
\ 'border': [],
|
||||||
\ 'highlight': 'TestingForTabPanelPopupwin',
|
\ 'highlight': 'ErrorMsg',
|
||||||
\ })
|
\ })
|
||||||
endfor
|
endfor
|
||||||
endfor
|
call cursor(5, 10)
|
||||||
call cursor(4, 10)
|
|
||||||
call popup_atcursor('atcursor', {
|
call popup_atcursor('atcursor', {
|
||||||
\ 'highlight': 'TestingForTabPanelPopupwin',
|
\ 'highlight': 'Question',
|
||||||
\ })
|
\ })
|
||||||
END
|
END
|
||||||
call writefile(lines, 'XTest_tabpanel_with_popupwin', 'D')
|
call writefile(lines, 'XTest_tabpanel_with_popupwin', 'D')
|
||||||
|
let buf = RunVimInTerminal('-S XTest_tabpanel_with_popupwin', {'rows': 10, 'cols': tcols})
|
||||||
let buf = RunVimInTerminal('-S XTest_tabpanel_with_popupwin', {'rows': 10, 'cols': 45})
|
call VerifyScreenDump(buf, 'Test_tabpanel_drawing_with_popupwin_0', {})
|
||||||
|
call term_sendkeys(buf, ":set showtabpanel=2\<CR>\<C-L>")
|
||||||
|
call VerifyScreenDump(buf, 'Test_tabpanel_drawing_with_popupwin_1', {})
|
||||||
|
call term_sendkeys(buf, ":set tabpanelopt+=align:right\<CR>\<C-L>")
|
||||||
|
call VerifyScreenDump(buf, 'Test_tabpanel_drawing_with_popupwin_2', {})
|
||||||
|
call term_sendkeys(buf, ":set showtabpanel=0\<CR>\<C-L>")
|
||||||
call VerifyScreenDump(buf, 'Test_tabpanel_drawing_with_popupwin_0', {})
|
call VerifyScreenDump(buf, 'Test_tabpanel_drawing_with_popupwin_0', {})
|
||||||
|
|
||||||
call StopVimInTerminal(buf)
|
call StopVimInTerminal(buf)
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
@ -186,12 +249,20 @@ function Test_tabpanel_drawing_pum()
|
|||||||
|
|
||||||
let buf = RunVimInTerminal('-S XTest_tabpanel_pum', {'rows': 10, 'cols': 45})
|
let buf = RunVimInTerminal('-S XTest_tabpanel_pum', {'rows': 10, 'cols': 45})
|
||||||
|
|
||||||
call term_sendkeys(buf, "i\<C-x>\<C-v>")
|
call term_sendkeys(buf, "i\<CR>aa\<CR>aaaa\<CR>aaac\<CR>aaab\<CR>\<Esc>")
|
||||||
|
call term_sendkeys(buf, "ggi\<C-X>\<C-N>")
|
||||||
call VerifyScreenDump(buf, 'Test_tabpanel_drawing_pum_0', {})
|
call VerifyScreenDump(buf, 'Test_tabpanel_drawing_pum_0', {})
|
||||||
|
|
||||||
call term_sendkeys(buf, "\<CR> ab\<C-x>\<C-v>")
|
call term_sendkeys(buf, "\<Esc>Go a\<C-X>\<C-P>")
|
||||||
call VerifyScreenDump(buf, 'Test_tabpanel_drawing_pum_1', {})
|
call VerifyScreenDump(buf, 'Test_tabpanel_drawing_pum_1', {})
|
||||||
|
|
||||||
|
call term_sendkeys(buf, "\<C-U>\<CR>\<Esc>")
|
||||||
|
call term_sendkeys(buf, ":set tabpanelopt+=align:right\<CR>")
|
||||||
|
let num = 45 - 20 - 2 " term-win-width - tabpanel-columns - 2
|
||||||
|
call term_sendkeys(buf, num .. "a \<Esc>")
|
||||||
|
call term_sendkeys(buf, "a\<C-X>\<C-N>")
|
||||||
|
call VerifyScreenDump(buf, 'Test_tabpanel_drawing_pum_2', {})
|
||||||
|
|
||||||
call StopVimInTerminal(buf)
|
call StopVimInTerminal(buf)
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
@ -338,59 +409,59 @@ function Test_tabpanel_dont_overflow_into_tabpanel()
|
|||||||
call StopVimInTerminal(buf)
|
call StopVimInTerminal(buf)
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
function Test_tabpanel_dont_vert_is_multibytes_left()
|
"""function Test_tabpanel_dont_vert_is_multibytes_left()
|
||||||
CheckScreendump
|
""" CheckScreendump
|
||||||
|
"""
|
||||||
|
""" let lines =<< trim END
|
||||||
|
""" set showtabpanel=2
|
||||||
|
""" set tabpanelopt=columns:10,vert
|
||||||
|
""" set fillchars=tpl_vert:│
|
||||||
|
""" set showtabline=2
|
||||||
|
""" tabnew
|
||||||
|
""" END
|
||||||
|
""" call writefile(lines, 'XTest_tabpanel_vert_is_multibyte_lefts', 'D')
|
||||||
|
"""
|
||||||
|
""" let buf = RunVimInTerminal('-S XTest_tabpanel_vert_is_multibyte_lefts', {'rows': 10, 'cols': 45})
|
||||||
|
""" call VerifyScreenDump(buf, 'Test_tabpanel_vert_is_multibytes_left_0', {})
|
||||||
|
"""
|
||||||
|
""" call term_sendkeys(buf, ":set tabpanelopt=columns:1,vert\<CR>")
|
||||||
|
""" call VerifyScreenDump(buf, 'Test_tabpanel_vert_is_multibytes_left_1', {})
|
||||||
|
"""
|
||||||
|
""" call term_sendkeys(buf, ":set tabpanelopt=columns:10,vert\<CR>")
|
||||||
|
""" call VerifyScreenDump(buf, 'Test_tabpanel_vert_is_multibytes_left_2', {})
|
||||||
|
"""
|
||||||
|
""" call term_sendkeys(buf, ":set tabpanelopt=columns:2,vert\<CR>")
|
||||||
|
""" call VerifyScreenDump(buf, 'Test_tabpanel_vert_is_multibytes_left_3', {})
|
||||||
|
"""
|
||||||
|
""" call StopVimInTerminal(buf)
|
||||||
|
"""endfunc
|
||||||
|
|
||||||
let lines =<< trim END
|
"""function Test_tabpanel_dont_vert_is_multibytes_right()
|
||||||
set showtabpanel=2
|
""" CheckScreendump
|
||||||
set tabpanelopt=columns:10,vert
|
"""
|
||||||
set fillchars=tpl_vert:│
|
""" let lines =<< trim END
|
||||||
set showtabline=2
|
""" set showtabpanel=2
|
||||||
tabnew
|
""" set tabpanelopt=align:right,columns:10,vert
|
||||||
END
|
""" set fillchars=tpl_vert:│
|
||||||
call writefile(lines, 'XTest_tabpanel_vert_is_multibyte_lefts', 'D')
|
""" set showtabline=2
|
||||||
|
""" tabnew
|
||||||
let buf = RunVimInTerminal('-S XTest_tabpanel_vert_is_multibyte_lefts', {'rows': 10, 'cols': 45})
|
""" END
|
||||||
call VerifyScreenDump(buf, 'Test_tabpanel_vert_is_multibytes_left_0', {})
|
""" call writefile(lines, 'XTest_tabpanel_vert_is_multibytes_right', 'D')
|
||||||
|
"""
|
||||||
call term_sendkeys(buf, ":set tabpanelopt=columns:1,vert\<CR>")
|
""" let buf = RunVimInTerminal('-S XTest_tabpanel_vert_is_multibytes_right', {'rows': 10, 'cols': 45})
|
||||||
call VerifyScreenDump(buf, 'Test_tabpanel_vert_is_multibytes_left_1', {})
|
""" call VerifyScreenDump(buf, 'Test_tabpanel_vert_is_multibytes_right_0', {})
|
||||||
|
"""
|
||||||
call term_sendkeys(buf, ":set tabpanelopt=columns:10,vert\<CR>")
|
""" call term_sendkeys(buf, ":set tabpanelopt=align:right,columns:1,vert\<CR>")
|
||||||
call VerifyScreenDump(buf, 'Test_tabpanel_vert_is_multibytes_left_2', {})
|
""" call VerifyScreenDump(buf, 'Test_tabpanel_vert_is_multibytes_right_1', {})
|
||||||
|
"""
|
||||||
call term_sendkeys(buf, ":set tabpanelopt=columns:2,vert\<CR>")
|
""" call term_sendkeys(buf, ":set tabpanelopt=align:right,columns:10,vert\<CR>")
|
||||||
call VerifyScreenDump(buf, 'Test_tabpanel_vert_is_multibytes_left_3', {})
|
""" call VerifyScreenDump(buf, 'Test_tabpanel_vert_is_multibytes_right_2', {})
|
||||||
|
"""
|
||||||
call StopVimInTerminal(buf)
|
""" call term_sendkeys(buf, ":set tabpanelopt=align:right,columns:2,vert\<CR>")
|
||||||
endfunc
|
""" call VerifyScreenDump(buf, 'Test_tabpanel_vert_is_multibytes_right_3', {})
|
||||||
|
"""
|
||||||
function Test_tabpanel_dont_vert_is_multibytes_right()
|
""" call StopVimInTerminal(buf)
|
||||||
CheckScreendump
|
"""endfunc
|
||||||
|
|
||||||
let lines =<< trim END
|
|
||||||
set showtabpanel=2
|
|
||||||
set tabpanelopt=align:right,columns:10,vert
|
|
||||||
set fillchars=tpl_vert:│
|
|
||||||
set showtabline=2
|
|
||||||
tabnew
|
|
||||||
END
|
|
||||||
call writefile(lines, 'XTest_tabpanel_vert_is_multibytes_right', 'D')
|
|
||||||
|
|
||||||
let buf = RunVimInTerminal('-S XTest_tabpanel_vert_is_multibytes_right', {'rows': 10, 'cols': 45})
|
|
||||||
call VerifyScreenDump(buf, 'Test_tabpanel_vert_is_multibytes_right_0', {})
|
|
||||||
|
|
||||||
call term_sendkeys(buf, ":set tabpanelopt=align:right,columns:1,vert\<CR>")
|
|
||||||
call VerifyScreenDump(buf, 'Test_tabpanel_vert_is_multibytes_right_1', {})
|
|
||||||
|
|
||||||
call term_sendkeys(buf, ":set tabpanelopt=align:right,columns:10,vert\<CR>")
|
|
||||||
call VerifyScreenDump(buf, 'Test_tabpanel_vert_is_multibytes_right_2', {})
|
|
||||||
|
|
||||||
call term_sendkeys(buf, ":set tabpanelopt=align:right,columns:2,vert\<CR>")
|
|
||||||
call VerifyScreenDump(buf, 'Test_tabpanel_vert_is_multibytes_right_3', {})
|
|
||||||
|
|
||||||
call StopVimInTerminal(buf)
|
|
||||||
endfunc
|
|
||||||
|
|
||||||
function Test_tabpanel_eval_tabpanel_statusline_tabline()
|
function Test_tabpanel_eval_tabpanel_statusline_tabline()
|
||||||
CheckScreendump
|
CheckScreendump
|
||||||
@ -406,7 +477,6 @@ function Test_tabpanel_eval_tabpanel_statusline_tabline()
|
|||||||
set tabline=%!Expr()
|
set tabline=%!Expr()
|
||||||
set tabpanel=%!Expr()
|
set tabpanel=%!Expr()
|
||||||
set tabpanelopt=columns:10,vert
|
set tabpanelopt=columns:10,vert
|
||||||
set fillchars=tpl_vert:│
|
|
||||||
e aaa
|
e aaa
|
||||||
tabnew
|
tabnew
|
||||||
e bbb
|
e bbb
|
||||||
@ -434,7 +504,6 @@ function Test_tabpanel_noeval_tabpanel_statusline_tabline()
|
|||||||
set tabline=$%=[%f]%=$
|
set tabline=$%=[%f]%=$
|
||||||
set tabpanel=$%=[%f]%=$
|
set tabpanel=$%=[%f]%=$
|
||||||
set tabpanelopt=columns:10,vert
|
set tabpanelopt=columns:10,vert
|
||||||
set fillchars=tpl_vert:│
|
|
||||||
e aaa
|
e aaa
|
||||||
tabnew
|
tabnew
|
||||||
e bbb
|
e bbb
|
||||||
@ -461,6 +530,7 @@ function Test_tabpanel_eval_tabpanel_with_linebreaks()
|
|||||||
set showtabpanel=2
|
set showtabpanel=2
|
||||||
set tabpanel=%!Expr()
|
set tabpanel=%!Expr()
|
||||||
set tabpanelopt=columns:10
|
set tabpanelopt=columns:10
|
||||||
|
set noruler
|
||||||
e aaa
|
e aaa
|
||||||
tabnew
|
tabnew
|
||||||
e bbb
|
e bbb
|
||||||
@ -521,6 +591,42 @@ function Test_tabpanel_equalalways()
|
|||||||
call StopVimInTerminal(buf)
|
call StopVimInTerminal(buf)
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
function Test_tabpanel_quitall()
|
||||||
|
CheckScreendump
|
||||||
|
|
||||||
|
let lines =<< trim END
|
||||||
|
tabnew
|
||||||
|
set showtabpanel=1
|
||||||
|
set laststatus=2
|
||||||
|
call setline(1, 'aaa')
|
||||||
|
normal gt
|
||||||
|
silent! quitall
|
||||||
|
END
|
||||||
|
call writefile(lines, 'XTest_tabpanel_quitall', 'D')
|
||||||
|
|
||||||
|
let buf = RunVimInTerminal('-S XTest_tabpanel_quitall', {'rows': 10, 'cols': 45})
|
||||||
|
call VerifyScreenDump(buf, 'Test_tabpanel_quitall_0', {})
|
||||||
|
|
||||||
|
call StopVimInTerminal(buf)
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
function Test_tabpanel_ruler()
|
||||||
|
CheckScreendump
|
||||||
|
|
||||||
|
let lines =<< trim END
|
||||||
|
tabnew
|
||||||
|
set statusline& laststatus=0
|
||||||
|
set rulerformat& ruler
|
||||||
|
set showtabpanel=1
|
||||||
|
END
|
||||||
|
call writefile(lines, 'XTest_tabpanel_ruler', 'D')
|
||||||
|
|
||||||
|
let buf = RunVimInTerminal('-S XTest_tabpanel_ruler', {'rows': 10, 'cols': 45})
|
||||||
|
call VerifyScreenDump(buf, 'Test_tabpanel_ruler_0', {})
|
||||||
|
|
||||||
|
call StopVimInTerminal(buf)
|
||||||
|
endfunc
|
||||||
|
|
||||||
function Test_tabpanel_error()
|
function Test_tabpanel_error()
|
||||||
set tabpanel=%!NonExistingFunc()
|
set tabpanel=%!NonExistingFunc()
|
||||||
try
|
try
|
||||||
@ -540,5 +646,4 @@ function Test_tabpanel_error()
|
|||||||
set tabpanel&vim
|
set tabpanel&vim
|
||||||
set showtabpanel&vim
|
set showtabpanel&vim
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
" vim: shiftwidth=2 sts=2 expandtab
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
@ -709,6 +709,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1425,
|
||||||
/**/
|
/**/
|
||||||
1424,
|
1424,
|
||||||
/**/
|
/**/
|
||||||
@ -4110,7 +4112,7 @@ intro_message(
|
|||||||
|
|
||||||
// start displaying the message lines after half of the blank lines
|
// start displaying the message lines after half of the blank lines
|
||||||
row = blanklines / 2;
|
row = blanklines / 2;
|
||||||
if ((row >= 2 && COLUMNS_WITHOUT_TPL() >= 50) || colon)
|
if ((row >= 2 && topframe->fr_width >= 50) || colon)
|
||||||
{
|
{
|
||||||
for (i = 0; i < (int)ARRAY_LENGTH(lines); ++i)
|
for (i = 0; i < (int)ARRAY_LENGTH(lines); ++i)
|
||||||
{
|
{
|
||||||
@ -4193,7 +4195,7 @@ do_intro_line(
|
|||||||
}
|
}
|
||||||
col += (int)STRLEN(vers);
|
col += (int)STRLEN(vers);
|
||||||
}
|
}
|
||||||
col = (COLUMNS_WITHOUT_TPL() - col) / 2;
|
col = (topframe->fr_width - col) / 2;
|
||||||
if (col < 0)
|
if (col < 0)
|
||||||
col = 0;
|
col = 0;
|
||||||
|
|
||||||
@ -4212,14 +4214,14 @@ do_intro_line(
|
|||||||
else
|
else
|
||||||
clen += byte2cells(p[l]);
|
clen += byte2cells(p[l]);
|
||||||
}
|
}
|
||||||
screen_puts_len(p, l, row, col + TPL_LCOL(NULL),
|
screen_puts_len(p, l, row, col + firstwin->w_wincol,
|
||||||
*p == '<' ? HL_ATTR(HLF_8) : attr);
|
*p == '<' ? HL_ATTR(HLF_8) : attr);
|
||||||
col += clen;
|
col += clen;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add the version number to the version line.
|
// Add the version number to the version line.
|
||||||
if (add_version)
|
if (add_version)
|
||||||
screen_puts(vers, row, col + TPL_LCOL(NULL), 0);
|
screen_puts(vers, row, col + firstwin->w_wincol, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -2089,7 +2089,6 @@ typedef int sock_T;
|
|||||||
#define IN_STATUS_LINE 2 // on status or command line
|
#define IN_STATUS_LINE 2 // on status or command line
|
||||||
#define IN_SEP_LINE 4 // on vertical separator line
|
#define IN_SEP_LINE 4 // on vertical separator line
|
||||||
#define IN_OTHER_WIN 8 // in other window but can't go there
|
#define IN_OTHER_WIN 8 // in other window but can't go there
|
||||||
#define IN_TABPANEL 16 // in tabpanel
|
|
||||||
#define CURSOR_MOVED 0x100
|
#define CURSOR_MOVED 0x100
|
||||||
#define MOUSE_FOLD_CLOSE 0x200 // clicked on '-' in fold column
|
#define MOUSE_FOLD_CLOSE 0x200 // clicked on '-' in fold column
|
||||||
#define MOUSE_FOLD_OPEN 0x400 // clicked on '+' in fold column
|
#define MOUSE_FOLD_OPEN 0x400 // clicked on '+' in fold column
|
||||||
|
81
src/window.c
81
src/window.c
@ -1385,8 +1385,8 @@ win_split_ins(
|
|||||||
// width and column of new window is same as current window
|
// width and column of new window is same as current window
|
||||||
if (flags & (WSP_TOP | WSP_BOT))
|
if (flags & (WSP_TOP | WSP_BOT))
|
||||||
{
|
{
|
||||||
wp->w_wincol = 0;
|
wp->w_wincol = firstwin->w_wincol;
|
||||||
win_new_width(wp, COLUMNS_WITHOUT_TPL());
|
win_new_width(wp, topframe->fr_width);
|
||||||
wp->w_vsep_width = 0;
|
wp->w_vsep_width = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -2085,8 +2085,8 @@ win_equal(
|
|||||||
if (dir == 0)
|
if (dir == 0)
|
||||||
dir = *p_ead;
|
dir = *p_ead;
|
||||||
win_equal_rec(next_curwin == NULL ? curwin : next_curwin, current,
|
win_equal_rec(next_curwin == NULL ? curwin : next_curwin, current,
|
||||||
topframe, dir, 0, tabline_height(),
|
topframe, dir, firstwin->w_wincol, tabline_height(),
|
||||||
(int)COLUMNS_WITHOUT_TPL(), topframe->fr_height);
|
topframe->fr_width, topframe->fr_height);
|
||||||
if (!is_aucmd_win(next_curwin))
|
if (!is_aucmd_win(next_curwin))
|
||||||
win_fix_scroll(TRUE);
|
win_fix_scroll(TRUE);
|
||||||
}
|
}
|
||||||
@ -2144,7 +2144,7 @@ win_equal_rec(
|
|||||||
// frame.
|
// frame.
|
||||||
n = frame_minwidth(topfr, NOWIN);
|
n = frame_minwidth(topfr, NOWIN);
|
||||||
// add one for the rightmost window, it doesn't have a separator
|
// add one for the rightmost window, it doesn't have a separator
|
||||||
if (col + width == COLUMNS_WITHOUT_TPL())
|
if (col + width >= firstwin->w_wincol + topframe->fr_width)
|
||||||
extra_sep = 1;
|
extra_sep = 1;
|
||||||
else
|
else
|
||||||
extra_sep = 0;
|
extra_sep = 0;
|
||||||
@ -2619,14 +2619,14 @@ close_last_window_tabpage(
|
|||||||
// Since goto_tabpage_tp above did not trigger *Enter autocommands, do
|
// Since goto_tabpage_tp above did not trigger *Enter autocommands, do
|
||||||
// that now.
|
// that now.
|
||||||
apply_autocmds(EVENT_TABCLOSED, NULL, NULL, FALSE, curbuf);
|
apply_autocmds(EVENT_TABCLOSED, NULL, NULL, FALSE, curbuf);
|
||||||
apply_autocmds(EVENT_WINENTER, NULL, NULL, FALSE, curbuf);
|
|
||||||
apply_autocmds(EVENT_TABENTER, NULL, NULL, FALSE, curbuf);
|
|
||||||
if (old_curbuf != curbuf)
|
|
||||||
apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf);
|
|
||||||
#if defined(FEAT_TABPANEL)
|
#if defined(FEAT_TABPANEL)
|
||||||
if (p_stpl > 0)
|
if (p_stpl > 0)
|
||||||
shell_new_columns();
|
shell_new_columns();
|
||||||
#endif
|
#endif
|
||||||
|
apply_autocmds(EVENT_WINENTER, NULL, NULL, FALSE, curbuf);
|
||||||
|
apply_autocmds(EVENT_TABENTER, NULL, NULL, FALSE, curbuf);
|
||||||
|
if (old_curbuf != curbuf)
|
||||||
|
apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4596,8 +4596,7 @@ win_init_size(void)
|
|||||||
firstwin->w_height = ROWS_AVAIL;
|
firstwin->w_height = ROWS_AVAIL;
|
||||||
firstwin->w_prev_height = ROWS_AVAIL;
|
firstwin->w_prev_height = ROWS_AVAIL;
|
||||||
topframe->fr_height = ROWS_AVAIL;
|
topframe->fr_height = ROWS_AVAIL;
|
||||||
firstwin->w_width = COLUMNS_WITHOUT_TPL();
|
firstwin->w_width = topframe->fr_width;
|
||||||
topframe->fr_width = COLUMNS_WITHOUT_TPL();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -4696,6 +4695,9 @@ win_new_tabpage(int after)
|
|||||||
tabpage_T *prev_tp = curtab;
|
tabpage_T *prev_tp = curtab;
|
||||||
tabpage_T *newtp;
|
tabpage_T *newtp;
|
||||||
int n;
|
int n;
|
||||||
|
#if defined(FEAT_TABPANEL)
|
||||||
|
int prev_columns = COLUMNS_WITHOUT_TPL();
|
||||||
|
#endif
|
||||||
|
|
||||||
if (cmdwin_type != 0)
|
if (cmdwin_type != 0)
|
||||||
{
|
{
|
||||||
@ -4763,7 +4765,22 @@ win_new_tabpage(int after)
|
|||||||
#ifdef FEAT_JOB_CHANNEL
|
#ifdef FEAT_JOB_CHANNEL
|
||||||
entering_window(curwin);
|
entering_window(curwin);
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(FEAT_TABPANEL)
|
||||||
|
if (prev_columns != COLUMNS_WITHOUT_TPL())
|
||||||
|
{
|
||||||
|
tabpage_T *save_curtab = curtab;
|
||||||
|
|
||||||
|
unuse_tabpage(curtab);
|
||||||
|
use_tabpage(prev_tp);
|
||||||
|
shell_new_rows();
|
||||||
|
shell_new_columns();
|
||||||
|
|
||||||
|
unuse_tabpage(curtab);
|
||||||
|
use_tabpage(save_curtab);
|
||||||
|
shell_new_rows();
|
||||||
|
shell_new_columns();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
redraw_all_later(UPD_NOT_VALID);
|
redraw_all_later(UPD_NOT_VALID);
|
||||||
apply_autocmds(EVENT_WINNEW, NULL, NULL, FALSE, curbuf);
|
apply_autocmds(EVENT_WINNEW, NULL, NULL, FALSE, curbuf);
|
||||||
apply_autocmds(EVENT_WINENTER, NULL, NULL, FALSE, curbuf);
|
apply_autocmds(EVENT_WINENTER, NULL, NULL, FALSE, curbuf);
|
||||||
@ -4971,7 +4988,7 @@ leave_tabpage(
|
|||||||
tp->tp_lastwin = lastwin;
|
tp->tp_lastwin = lastwin;
|
||||||
tp->tp_old_Rows = Rows;
|
tp->tp_old_Rows = Rows;
|
||||||
if (tp->tp_old_Columns != -1)
|
if (tp->tp_old_Columns != -1)
|
||||||
tp->tp_old_Columns = COLUMNS_WITHOUT_TPL();
|
tp->tp_old_Columns = topframe->fr_width;
|
||||||
firstwin = NULL;
|
firstwin = NULL;
|
||||||
lastwin = NULL;
|
lastwin = NULL;
|
||||||
return OK;
|
return OK;
|
||||||
@ -5034,12 +5051,12 @@ enter_tabpage(
|
|||||||
#endif
|
#endif
|
||||||
))
|
))
|
||||||
shell_new_rows();
|
shell_new_rows();
|
||||||
if (curtab->tp_old_Columns != COLUMNS_WITHOUT_TPL())
|
if (curtab->tp_old_Columns != topframe->fr_width)
|
||||||
{
|
{
|
||||||
if (starting == 0)
|
if (starting == 0)
|
||||||
{
|
{
|
||||||
shell_new_columns(); // update window widths
|
shell_new_columns(); // update window widths
|
||||||
curtab->tp_old_Columns = COLUMNS_WITHOUT_TPL();
|
curtab->tp_old_Columns = topframe->fr_width;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
curtab->tp_old_Columns = -1; // update window widths later
|
curtab->tp_old_Columns = -1; // update window widths later
|
||||||
@ -5805,7 +5822,7 @@ win_alloc(win_T *after, int hidden)
|
|||||||
*/
|
*/
|
||||||
if (!hidden)
|
if (!hidden)
|
||||||
win_append(after, new_wp);
|
win_append(after, new_wp);
|
||||||
new_wp->w_wincol = 0;
|
new_wp->w_wincol = TPL_LCOL(NULL);
|
||||||
new_wp->w_width = COLUMNS_WITHOUT_TPL();
|
new_wp->w_width = COLUMNS_WITHOUT_TPL();
|
||||||
|
|
||||||
// position the display and the cursor at the top of the file.
|
// position the display and the cursor at the top of the file.
|
||||||
@ -6164,8 +6181,8 @@ shell_new_rows(void)
|
|||||||
if (h < frame_minheight(topframe, NULL))
|
if (h < frame_minheight(topframe, NULL))
|
||||||
h = frame_minheight(topframe, NULL);
|
h = frame_minheight(topframe, NULL);
|
||||||
|
|
||||||
// First try setting the heights of windows with 'winfixheight'. If
|
// First try setting the heights of windows with 'winfixheight'. If that
|
||||||
// that doesn't result in the right height, forget about that option.
|
// doesn't result in the right height, forget about that option.
|
||||||
frame_new_height(topframe, h, FALSE, TRUE, FALSE);
|
frame_new_height(topframe, h, FALSE, TRUE, FALSE);
|
||||||
if (!frame_check_height(topframe, h))
|
if (!frame_check_height(topframe, h))
|
||||||
frame_new_height(topframe, h, FALSE, FALSE, FALSE);
|
frame_new_height(topframe, h, FALSE, FALSE, FALSE);
|
||||||
@ -6177,6 +6194,10 @@ shell_new_rows(void)
|
|||||||
if (!skip_win_fix_scroll)
|
if (!skip_win_fix_scroll)
|
||||||
win_fix_scroll(TRUE);
|
win_fix_scroll(TRUE);
|
||||||
|
|
||||||
|
redraw_tabline = TRUE;
|
||||||
|
#if defined(FEAT_TABPANEL)
|
||||||
|
redraw_tabpanel = TRUE;
|
||||||
|
#endif
|
||||||
#if 0
|
#if 0
|
||||||
// Disabled: don't want making the screen smaller make a window larger.
|
// Disabled: don't want making the screen smaller make a window larger.
|
||||||
if (p_ea)
|
if (p_ea)
|
||||||
@ -6193,13 +6214,23 @@ shell_new_columns(void)
|
|||||||
if (firstwin == NULL) // not initialized yet
|
if (firstwin == NULL) // not initialized yet
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
int w = COLUMNS_WITHOUT_TPL();
|
||||||
|
|
||||||
// First try setting the widths of windows with 'winfixwidth'. If that
|
// First try setting the widths of windows with 'winfixwidth'. If that
|
||||||
// doesn't result in the right width, forget about that option.
|
// doesn't result in the right width, forget about that option.
|
||||||
frame_new_width(topframe, COLUMNS_WITHOUT_TPL(), FALSE, TRUE);
|
frame_new_width(topframe, w, FALSE, TRUE);
|
||||||
if (!frame_check_width(topframe, COLUMNS_WITHOUT_TPL()))
|
if (!frame_check_width(topframe, w))
|
||||||
frame_new_width(topframe, COLUMNS_WITHOUT_TPL(), FALSE, FALSE);
|
frame_new_width(topframe, w, FALSE, FALSE);
|
||||||
|
|
||||||
(void)win_comp_pos(); // recompute w_winrow and w_wincol
|
(void)win_comp_pos(); // recompute w_winrow and w_wincol
|
||||||
|
|
||||||
|
if (!skip_win_fix_scroll)
|
||||||
|
win_fix_scroll(TRUE);
|
||||||
|
|
||||||
|
redraw_tabline = TRUE;
|
||||||
|
#if defined(FEAT_TABPANEL)
|
||||||
|
redraw_tabpanel = TRUE;
|
||||||
|
#endif
|
||||||
#if 0
|
#if 0
|
||||||
// Disabled: don't want making the screen smaller make a window larger.
|
// Disabled: don't want making the screen smaller make a window larger.
|
||||||
if (p_ea)
|
if (p_ea)
|
||||||
@ -6269,7 +6300,7 @@ win_size_restore(garray_T *gap)
|
|||||||
win_comp_pos(void)
|
win_comp_pos(void)
|
||||||
{
|
{
|
||||||
int row = tabline_height();
|
int row = tabline_height();
|
||||||
int col = 0;
|
int col = TPL_LCOL(NULL);
|
||||||
|
|
||||||
frame_comp_pos(topframe, &row, &col);
|
frame_comp_pos(topframe, &row, &col);
|
||||||
return row;
|
return row;
|
||||||
@ -6439,7 +6470,7 @@ frame_setheight(frame_T *curfrp, int height)
|
|||||||
if (frp != curfrp)
|
if (frp != curfrp)
|
||||||
room -= frame_minheight(frp, NULL);
|
room -= frame_minheight(frp, NULL);
|
||||||
}
|
}
|
||||||
if (curfrp->fr_width != COLUMNS_WITHOUT_TPL())
|
if (curfrp->fr_width != topframe->fr_width)
|
||||||
room_cmdline = 0;
|
room_cmdline = 0;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -6452,7 +6483,7 @@ frame_setheight(frame_T *curfrp, int height)
|
|||||||
|
|
||||||
if (height <= room + room_cmdline)
|
if (height <= room + room_cmdline)
|
||||||
break;
|
break;
|
||||||
if (run == 2 || curfrp->fr_width == COLUMNS_WITHOUT_TPL())
|
if (run == 2 || curfrp->fr_width == topframe->fr_width)
|
||||||
{
|
{
|
||||||
height = room + room_cmdline;
|
height = room + room_cmdline;
|
||||||
break;
|
break;
|
||||||
@ -6757,7 +6788,7 @@ win_setminwidth(void)
|
|||||||
// loop until there is a 'winminheight' that is possible
|
// loop until there is a 'winminheight' that is possible
|
||||||
while (p_wmw > 0)
|
while (p_wmw > 0)
|
||||||
{
|
{
|
||||||
room = Columns;
|
room = topframe->fr_width;
|
||||||
needed = frame_minwidth(topframe, NULL);
|
needed = frame_minwidth(topframe, NULL);
|
||||||
if (room >= needed)
|
if (room >= needed)
|
||||||
break;
|
break;
|
||||||
@ -7347,7 +7378,7 @@ command_height(void)
|
|||||||
|
|
||||||
// Find bottom frame with width of screen.
|
// Find bottom frame with width of screen.
|
||||||
frame_T *frp = lastwin->w_frame;
|
frame_T *frp = lastwin->w_frame;
|
||||||
while (frp->fr_width != COLUMNS_WITHOUT_TPL() && frp->fr_parent != NULL)
|
while (frp->fr_width != topframe->fr_width && frp->fr_parent != NULL)
|
||||||
frp = frp->fr_parent;
|
frp = frp->fr_parent;
|
||||||
|
|
||||||
// Avoid changing the height of a window with 'winfixheight' set.
|
// Avoid changing the height of a window with 'winfixheight' set.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user