mirror of
https://github.com/vim/vim.git
synced 2025-10-17 07:44:28 -04:00
patch 8.1.0307: there is no good way to get the window layout
Problem: There is no good way to get the window layout. Solution: Add the winlayout() function. (Yegappan Lakshmanan)
This commit is contained in:
@@ -463,6 +463,7 @@ static void f_win_screenpos(typval_T *argvars, typval_T *rettv);
|
||||
static void f_winbufnr(typval_T *argvars, typval_T *rettv);
|
||||
static void f_wincol(typval_T *argvars, typval_T *rettv);
|
||||
static void f_winheight(typval_T *argvars, typval_T *rettv);
|
||||
static void f_winlayout(typval_T *argvars, typval_T *rettv);
|
||||
static void f_winline(typval_T *argvars, typval_T *rettv);
|
||||
static void f_winnr(typval_T *argvars, typval_T *rettv);
|
||||
static void f_winrestcmd(typval_T *argvars, typval_T *rettv);
|
||||
@@ -952,6 +953,7 @@ static struct fst
|
||||
{"winbufnr", 1, 1, f_winbufnr},
|
||||
{"wincol", 0, 0, f_wincol},
|
||||
{"winheight", 1, 1, f_winheight},
|
||||
{"winlayout", 0, 1, f_winlayout},
|
||||
{"winline", 0, 0, f_winline},
|
||||
{"winnr", 0, 1, f_winnr},
|
||||
{"winrestcmd", 0, 0, f_winrestcmd},
|
||||
@@ -13742,6 +13744,29 @@ f_winheight(typval_T *argvars, typval_T *rettv)
|
||||
rettv->vval.v_number = wp->w_height;
|
||||
}
|
||||
|
||||
/*
|
||||
* "winlayout()" function
|
||||
*/
|
||||
static void
|
||||
f_winlayout(typval_T *argvars, typval_T *rettv)
|
||||
{
|
||||
tabpage_T *tp;
|
||||
|
||||
if (rettv_list_alloc(rettv) != OK)
|
||||
return;
|
||||
|
||||
if (argvars[0].v_type == VAR_UNKNOWN)
|
||||
tp = curtab;
|
||||
else
|
||||
{
|
||||
tp = find_tabpage((int)get_tv_number(&argvars[0]));
|
||||
if (tp == NULL)
|
||||
return;
|
||||
}
|
||||
|
||||
get_framelayout(tp->tp_topframe, rettv->vval.v_list, TRUE);
|
||||
}
|
||||
|
||||
/*
|
||||
* "winline()" function
|
||||
*/
|
||||
|
Reference in New Issue
Block a user