diff options
-rw-r--r-- | runtime/doc/eval.txt | 29 | ||||
-rw-r--r-- | src/nvim/eval.c | 4 | ||||
-rw-r--r-- | src/nvim/eval.h | 2 | ||||
-rw-r--r-- | src/nvim/version.c | 4 |
4 files changed, 29 insertions, 10 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index da52a8f078..eecf12c44e 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 7.4. Last change: 2016 May 20 +*eval.txt* For Vim version 7.4. Last change: 2016 Jun 04 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1305,6 +1305,10 @@ v:beval_winnr The number of the window, over which the mouse pointer is. Only window has number zero (unlike most other places where a window gets a number). + *v:beval_winid* *beval_winid-variable* +v:beval_winid The window ID of the window, over which the mouse pointer is. + Otherwise like v:beval_winnr. + *v:char* *char-variable* v:char Argument for evaluating 'formatexpr' and used for the typed character when using <expr> in an abbreviation |:map-<expr>|. @@ -1554,6 +1558,10 @@ v:mouse_win Window number for a mouse click obtained with |getchar()|. First window has number 1, like with |winnr()|. The value is zero when there was no mouse button click. + *v:mouse_winid* *mouse_winid-variable* +v:mouse_winid Window ID for a mouse click obtained with |getchar()|. + The value is zero when there was no mouse button click. + *v:mouse_lnum* *mouse_lnum-variable* v:mouse_lnum Line number for a mouse click obtained with |getchar()|. This is the text line number, not the screen line number. The @@ -1775,7 +1783,7 @@ v:warningmsg Last given warning message. It's allowed to set this variable. *v:windowid* *windowid-variable* {Nvim} v:windowid Application-specific window ID ("window handle" in MS-Windows) which may be set by any attached UI. Defaults to zero. - Note: for windows inside Vim use |winnr()|. + Note: for windows inside Vim use |winnr()| or |win_getid()|. ============================================================================== 4. Builtin Functions *functions* @@ -3554,8 +3562,8 @@ getchar([expr]) *getchar()* When the user clicks a mouse button, the mouse event will be returned. The position can then be found in |v:mouse_col|, - |v:mouse_lnum| and |v:mouse_win|. This example positions the - mouse as it would normally happen: > + |v:mouse_lnum|, |v:mouse_winid| and |v:mouse_win|. This + example positions the mouse as it would normally happen: > let c = getchar() if c == "\<LeftMouse>" && v:mouse_win > 0 exe v:mouse_win . "wincmd w" @@ -6158,10 +6166,15 @@ setqflist({list} [, {action}[, {title}]]) *setqflist()* *E927* If {action} is set to 'a', then the items from {list} are added to the existing quickfix list. If there is no existing - list, then a new list is created. If {action} is set to 'r', - then the items from the current quickfix list are replaced - with the items from {list}. If {action} is not present or is - set to ' ', then a new list is created. + list, then a new list is created. + + If {action} is set to 'r', then the items from the current + quickfix list are replaced with the items from {list}. This + can also be used to clear the list: > + :call setqflist([], 'r') +< + If {action} is not present or is set to ' ', then a new list + is created. If {title} is given, it will be used to set |w:quickfix_title| after opening the quickfix window. diff --git a/src/nvim/eval.c b/src/nvim/eval.c index 39df4cd024..9d0d3f24b6 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -354,6 +354,7 @@ static struct vimvar { VV(VV_FCS_CHOICE, "fcs_choice", VAR_STRING, 0), VV(VV_BEVAL_BUFNR, "beval_bufnr", VAR_NUMBER, VV_RO), VV(VV_BEVAL_WINNR, "beval_winnr", VAR_NUMBER, VV_RO), + VV(VV_BEVAL_WINID, "beval_winid", VAR_NUMBER, VV_RO), VV(VV_BEVAL_LNUM, "beval_lnum", VAR_NUMBER, VV_RO), VV(VV_BEVAL_COL, "beval_col", VAR_NUMBER, VV_RO), VV(VV_BEVAL_TEXT, "beval_text", VAR_STRING, VV_RO), @@ -363,6 +364,7 @@ static struct vimvar { VV(VV_SWAPCOMMAND, "swapcommand", VAR_STRING, VV_RO), VV(VV_CHAR, "char", VAR_STRING, 0), VV(VV_MOUSE_WIN, "mouse_win", VAR_NUMBER, 0), + VV(VV_MOUSE_WINID, "mouse_winid", VAR_NUMBER, 0), VV(VV_MOUSE_LNUM, "mouse_lnum", VAR_NUMBER, 0), VV(VV_MOUSE_COL, "mouse_col", VAR_NUMBER, 0), VV(VV_OP, "operator", VAR_STRING, VV_RO), @@ -9566,6 +9568,7 @@ static void f_getchar(typval_T *argvars, typval_T *rettv, FunPtr fptr) --allow_keys; vimvars[VV_MOUSE_WIN].vv_nr = 0; + vimvars[VV_MOUSE_WINID].vv_nr = 0; vimvars[VV_MOUSE_LNUM].vv_nr = 0; vimvars[VV_MOUSE_COL].vv_nr = 0; @@ -9608,6 +9611,7 @@ static void f_getchar(typval_T *argvars, typval_T *rettv, FunPtr fptr) for (wp = firstwin; wp != win; wp = wp->w_next) ++winnr; vimvars[VV_MOUSE_WIN].vv_nr = winnr; + vimvars[VV_MOUSE_WINID].vv_nr = wp->handle; vimvars[VV_MOUSE_LNUM].vv_nr = lnum; vimvars[VV_MOUSE_COL].vv_nr = col + 1; } diff --git a/src/nvim/eval.h b/src/nvim/eval.h index 1ab908deb5..1061840816 100644 --- a/src/nvim/eval.h +++ b/src/nvim/eval.h @@ -94,6 +94,7 @@ typedef enum { VV_FCS_CHOICE, VV_BEVAL_BUFNR, VV_BEVAL_WINNR, + VV_BEVAL_WINID, VV_BEVAL_LNUM, VV_BEVAL_COL, VV_BEVAL_TEXT, @@ -103,6 +104,7 @@ typedef enum { VV_SWAPCOMMAND, VV_CHAR, VV_MOUSE_WIN, + VV_MOUSE_WINID, VV_MOUSE_LNUM, VV_MOUSE_COL, VV_OP, diff --git a/src/nvim/version.c b/src/nvim/version.c index 08eff53d1e..7721e9dc8c 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -548,9 +548,9 @@ static int included_patches[] = { // 1897, 1896, 1895, - // 1894 NA + 1894, 1893, - // 1892 NA + 1892, // 1891 NA // 1890 NA // 1889, |