aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval/funcs.c
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2020-11-25 22:48:53 -0500
committerGitHub <noreply@github.com>2020-11-25 22:48:53 -0500
commit4537ff659efbc65f4c94b88cce8fb3c39d03aae5 (patch)
tree50dc58f07bc9f3b05b1635fac63aff30e9d23e1e /src/nvim/eval/funcs.c
parentdd00c74737241945187e3e0b939d289af25e505e (diff)
parentfe5dc266483aa4878b30ecc660b5401648545f27 (diff)
downloadrneovim-4537ff659efbc65f4c94b88cce8fb3c39d03aae5.tar.gz
rneovim-4537ff659efbc65f4c94b88cce8fb3c39d03aae5.tar.bz2
rneovim-4537ff659efbc65f4c94b88cce8fb3c39d03aae5.zip
Merge pull request #13375 from janlazo/vim-8.2.2041
vim-patch:8.1.{2290,2390},8.2.{242,257,302,303,462,991,996,2041,2042,2043,2047,2048,2049,2054}
Diffstat (limited to 'src/nvim/eval/funcs.c')
-rw-r--r--src/nvim/eval/funcs.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c
index 62a8022734..901f20bedf 100644
--- a/src/nvim/eval/funcs.c
+++ b/src/nvim/eval/funcs.c
@@ -10992,6 +10992,31 @@ 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 == aucmd_win) {
+ rettv->vval.v_string = vim_strsave((char_u *)"autocmd");
+ } else if (wp->w_p_pvw) {
+ rettv->vval.v_string = vim_strsave((char_u *)"preview");
+ } else 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)
{