Mercurial > vim
diff src/popupwin.c @ 16829:5cebaecad422 v8.1.1416
patch 8.1.1416: popup_getposition() not implemented yet
commit https://github.com/vim/vim/commit/bc133543b8b0ebb1d8624e37d840b739eb00f3f3
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed May 29 20:26:46 2019 +0200
patch 8.1.1416: popup_getposition() not implemented yet
Problem: Popup_getposition() not implemented yet.
Solution: Implement it. (Yasuhiro Matsumoto, closes https://github.com/vim/vim/issues/4449)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 29 May 2019 20:30:05 +0200 |
parents | 069ee8dc8c8d |
children | 6699c03347d2 |
line wrap: on
line diff
--- a/src/popupwin.c +++ b/src/popupwin.c @@ -487,4 +487,25 @@ f_popup_move(typval_T *argvars, typval_T redraw_all_later(NOT_VALID); } +/* + * popup_getposition({id}) + */ + void +f_popup_getposition(typval_T *argvars, typval_T *rettv) +{ + dict_T *dict; + int id = (int)tv_get_number(argvars); + win_T *wp = find_popup_win(id); + + if (rettv_dict_alloc(rettv) == OK) + { + if (wp == NULL) + return; // invalid {id} + dict = rettv->vval.v_dict; + dict_add_number(dict, "line", wp->w_winrow + 1); + dict_add_number(dict, "col", wp->w_wincol + 1); + dict_add_number(dict, "width", wp->w_width); + dict_add_number(dict, "height", wp->w_height); + } +} #endif // FEAT_TEXT_PROP