commit 00b49dd8dd638c5fe1b664273aea5c843d69f36d
parent 900a7741821ff8dfb0634290a343e501955e9a1a
Author: zeertzjq <zeertzjq@outlook.com>
Date: Sun, 24 Jul 2022 11:20:23 +0800
vim-patch:8.2.4674: cannot force getting MouseMove events
Problem: Cannot force getting MouseMove events.
Solution: Add the 'mousemoveevent' option with implementaiton for the GUI.
(Ernie Rael, closes vim/vim#10044)
https://github.com/vim/vim/commit/c4cb544cd5beaa864b3893e4b8d0085393c7dbce
This only ports the docs and the option variable.
The following commits will actually implement it as a UI option.
Diffstat:
3 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
@@ -4231,6 +4231,18 @@ A jump table for the options with a short description can be found at |Q_op|.
The 'mousemodel' option is set by the |:behave| command.
+ *'mousemoveevent'* *'mousemev'*
+'mousemoveevent' 'mousemev' boolean (default off)
+ global
+ {only works in the GUI}
+ When on, mouse move events are delivered to the input queue and are
+ available for mapping. The default, off, avoids the mouse movement
+ overhead except when needed.
+ Warning: Setting this option can make pending mappings to be aborted
+ when the mouse is moved.
+ Currently only works in the GUI, may be made to work in a terminal
+ later.
+
*'mousescroll'*
'mousescroll' string (default "ver:3,hor:6")
global
diff --git a/src/nvim/option_defs.h b/src/nvim/option_defs.h
@@ -616,6 +616,7 @@ EXTERN int p_ma; ///< 'modifiable'
EXTERN int p_mod; ///< 'modified'
EXTERN char *p_mouse; // 'mouse'
EXTERN char *p_mousem; // 'mousemodel'
+EXTERN int p_mousemev; ///< 'mousemoveevent'
EXTERN int p_mousef; // 'mousefocus'
EXTERN char *p_mousescroll; // 'mousescroll'
EXTERN long p_mousescroll_vert INIT(= MOUSESCROLL_VERT_DFLT);
diff --git a/src/nvim/options.lua b/src/nvim/options.lua
@@ -1622,6 +1622,13 @@ return {
defaults={if_true="popup_setpos"}
},
{
+ full_name='mousemoveevent', abbreviation='mousemev',
+ short_desc=N_("deliver mouse move events to input queue"),
+ type='bool', scope={'global'},
+ varname='p_mousemev',
+ defaults={if_true=false}
+ },
+ {
full_name='mousescroll',
short_desc=N_("amount to scroll by when scrolling with a mouse"),
type='string', list='comma', scope={'global'},