vim-patch:8.2.0257: cannot recognize a terminal in a popup window

Problem:    Cannot recognize a terminal in a popup window.
Solution:   Add the win_gettype() function.
00f3b4e007
This commit is contained in:
Jan Edmund Lazo
2020-11-25 01:32:48 -05:00
parent a9186501f6
commit ede747c2cc
4 changed files with 40 additions and 0 deletions

View File

@@ -10992,6 +10992,27 @@ static void f_win_getid(typval_T *argvars, typval_T *rettv, FunPtr fptr)
rettv->vval.v_number = win_getid(argvars);
}
/// "win_gettype(nr)" function
static void f_win_gettype(typval_T *argvars, typval_T *rettv, FunPtr fptr)
{
win_T *wp = curwin;
rettv->v_type = VAR_STRING;
rettv->vval.v_string = NULL;
if (argvars[0].v_type != VAR_UNKNOWN) {
wp = find_win_by_nr_or_id(&argvars[0]);
if (wp == NULL) {
rettv->vval.v_string = vim_strsave((char_u *)"unknown");
return;
}
}
if (wp->w_floating) {
rettv->vval.v_string = vim_strsave((char_u *)"popup");
} else if (wp == curwin && cmdwin_type != 0) {
rettv->vval.v_string = vim_strsave((char_u *)"command");
}
}
/// "win_gotoid()" function
static void f_win_gotoid(typval_T *argvars, typval_T *rettv, FunPtr fptr)
{