diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-09-12 17:19:45 +0800 |
---|---|---|
committer | zeertzjq <zeertzjq@outlook.com> | 2022-09-12 17:20:21 +0800 |
commit | 4448fa88ecca11acd4742ef3d38f9e0d42c0b4a5 (patch) | |
tree | dbfb78ab5aa051e5f832623d78edfedd53e9bee6 /src | |
parent | 738c204523e4da07468268ae89741f2c86887031 (diff) | |
download | rneovim-4448fa88ecca11acd4742ef3d38f9e0d42c0b4a5.tar.gz rneovim-4448fa88ecca11acd4742ef3d38f9e0d42c0b4a5.tar.bz2 rneovim-4448fa88ecca11acd4742ef3d38f9e0d42c0b4a5.zip |
refactor: move f_screenpos() to move.c
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/eval/funcs.c | 26 | ||||
-rw-r--r-- | src/nvim/move.c | 27 |
2 files changed, 27 insertions, 26 deletions
diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c index bff4361dcb..4a139c85d1 100644 --- a/src/nvim/eval/funcs.c +++ b/src/nvim/eval/funcs.c @@ -7057,32 +7057,6 @@ static void f_screencol(typval_T *argvars, typval_T *rettv, EvalFuncData fptr) rettv->vval.v_number = ui_current_col() + 1; } -/// "screenpos({winid}, {lnum}, {col})" function -static void f_screenpos(typval_T *argvars, typval_T *rettv, EvalFuncData fptr) -{ - 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_T pos = { - .lnum = (linenr_T)tv_get_number(&argvars[1]), - .col = (colnr_T)tv_get_number(&argvars[2]) - 1, - .coladd = 0 - }; - int row = 0; - int scol = 0, ccol = 0, ecol = 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 static void f_screenrow(typval_T *argvars, typval_T *rettv, EvalFuncData fptr) { diff --git a/src/nvim/move.c b/src/nvim/move.c index 0e2550352d..9e0662c141 100644 --- a/src/nvim/move.c +++ b/src/nvim/move.c @@ -21,6 +21,7 @@ #include "nvim/diff.h" #include "nvim/drawscreen.h" #include "nvim/edit.h" +#include "nvim/eval.h" #include "nvim/fold.h" #include "nvim/getchar.h" #include "nvim/grid.h" @@ -977,6 +978,32 @@ void textpos2screenpos(win_T *wp, pos_T *pos, int *rowp, int *scolp, int *ccolp, *ecolp = ecol + coloff; } +/// "screenpos({winid}, {lnum}, {col})" function +void f_screenpos(typval_T *argvars, typval_T *rettv, EvalFuncData fptr) +{ + 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_T pos = { + .lnum = (linenr_T)tv_get_number(&argvars[1]), + .col = (colnr_T)tv_get_number(&argvars[2]) - 1, + .coladd = 0 + }; + int row = 0; + int scol = 0, ccol = 0, ecol = 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); +} + /// Scroll the current window down by "line_count" logical lines. "CTRL-Y" /// /// @param line_count number of lines to scroll |