mirror of
https://github.com/neovim/neovim.git
synced 2025-09-14 15:28:17 +00:00
anchor float to buffer position
vim-patch:8.1.1645: cannot use a popup window for a balloon
This commit is contained in:
@@ -14781,6 +14781,32 @@ static void f_screencol(typval_T *argvars, typval_T *rettv, FunPtr fptr)
|
||||
rettv->vval.v_number = ui_current_col() + 1;
|
||||
}
|
||||
|
||||
/// "screenpos({winid}, {lnum}, {col})" function
|
||||
static void f_screenpos(typval_T *argvars, typval_T *rettv, FunPtr fptr)
|
||||
{
|
||||
pos_T pos;
|
||||
int row = 0;
|
||||
int scol = 0, ccol = 0, ecol = 0;
|
||||
|
||||
tv_dict_alloc_ret(rettv);
|
||||
dict_T *dict = rettv->vval.v_dict;
|
||||
|
||||
win_T *wp = find_win_by_nr_or_id(&argvars[0]);
|
||||
if (wp == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
pos.lnum = tv_get_number(&argvars[1]);
|
||||
pos.col = tv_get_number(&argvars[2]) - 1;
|
||||
pos.coladd = 0;
|
||||
textpos2screenpos(wp, &pos, &row, &scol, &ccol, &ecol, false);
|
||||
|
||||
tv_dict_add_nr(dict, S_LEN("row"), row);
|
||||
tv_dict_add_nr(dict, S_LEN("col"), scol);
|
||||
tv_dict_add_nr(dict, S_LEN("curscol"), ccol);
|
||||
tv_dict_add_nr(dict, S_LEN("endcol"), ecol);
|
||||
}
|
||||
|
||||
/*
|
||||
* "screenrow()" function
|
||||
*/
|
||||
|
Reference in New Issue
Block a user