aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-07-24 11:20:23 +0800
committerzeertzjq <zeertzjq@outlook.com>2022-09-04 21:18:08 +0800
commit00b49dd8dd638c5fe1b664273aea5c843d69f36d (patch)
tree7557491de797fea6ed4534a47469021cfe9b25b5
parent900a7741821ff8dfb0634290a343e501955e9a1a (diff)
downloadrneovim-00b49dd8dd638c5fe1b664273aea5c843d69f36d.tar.gz
rneovim-00b49dd8dd638c5fe1b664273aea5c843d69f36d.tar.bz2
rneovim-00b49dd8dd638c5fe1b664273aea5c843d69f36d.zip
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.
-rw-r--r--runtime/doc/options.txt12
-rw-r--r--src/nvim/option_defs.h1
-rw-r--r--src/nvim/options.lua7
3 files changed, 20 insertions, 0 deletions
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 9e396dd3e8..208633f93f 100644
--- 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
index bfac0cff87..64b3f69df4 100644
--- 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
index 2f941f5d0c..9f540e6005 100644
--- 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'},