aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/normal.c
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2021-05-06 09:00:24 -0400
committerGitHub <noreply@github.com>2021-05-06 09:00:24 -0400
commit71107e12c7b68d8faf1bcc1a5794a55b21e146f3 (patch)
tree57623fc268dbf5d2a919f04aa3d66c78bff78cb4 /src/nvim/normal.c
parent8a93d1028f38c77d7ad8b4ad0a93dc11a5cbe85d (diff)
parent296711cfad7bb8d80f2e2c363b3708764156444f (diff)
downloadrneovim-71107e12c7b68d8faf1bcc1a5794a55b21e146f3.tar.gz
rneovim-71107e12c7b68d8faf1bcc1a5794a55b21e146f3.tar.bz2
rneovim-71107e12c7b68d8faf1bcc1a5794a55b21e146f3.zip
Merge pull request #14499 from janlazo/vim-8.2.2819
vim-patch:8.0.1309,8.2.{1166,2819,2820,2825,2827,2828,2829,2832,2833}
Diffstat (limited to 'src/nvim/normal.c')
-rw-r--r--src/nvim/normal.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/nvim/normal.c b/src/nvim/normal.c
index c948881eca..2f4c441beb 100644
--- a/src/nvim/normal.c
+++ b/src/nvim/normal.c
@@ -294,6 +294,7 @@ static const struct nv_cmd {
{ K_LEFTDRAG, nv_mouse, 0, 0 },
{ K_LEFTRELEASE, nv_mouse, 0, 0 },
{ K_LEFTRELEASE_NM, nv_mouse, 0, 0 },
+ { K_MOUSEMOVE, nv_mouse, 0, 0 },
{ K_MIDDLEMOUSE, nv_mouse, 0, 0 },
{ K_MIDDLEDRAG, nv_mouse, 0, 0 },
{ K_MIDDLERELEASE, nv_mouse, 0, 0 },
@@ -879,8 +880,9 @@ static void normal_finish_command(NormalState *s)
s->old_mapped_len = typebuf_maplen();
}
- // If an operation is pending, handle it. But not for K_IGNORE.
- if (s->ca.cmdchar != K_IGNORE) {
+ // If an operation is pending, handle it. But not for K_IGNORE or
+ // K_MOUSEMOVE.
+ if (s->ca.cmdchar != K_IGNORE && s->ca.cmdchar != K_MOUSEMOVE) {
do_pending_operator(&s->ca, s->old_col, false);
}
@@ -2263,6 +2265,10 @@ do_mouse (
break;
}
+ if (c == K_MOUSEMOVE) {
+ // Mouse moved without a button pressed.
+ return false;
+ }
/*
* Ignore drag and release events if we didn't get a click.
@@ -3390,7 +3396,7 @@ bool add_to_showcmd(int c)
static int ignore[] =
{
K_IGNORE,
- K_LEFTMOUSE, K_LEFTDRAG, K_LEFTRELEASE,
+ K_LEFTMOUSE, K_LEFTDRAG, K_LEFTRELEASE, K_MOUSEMOVE,
K_MIDDLEMOUSE, K_MIDDLEDRAG, K_MIDDLERELEASE,
K_RIGHTMOUSE, K_RIGHTDRAG, K_RIGHTRELEASE,
K_MOUSEDOWN, K_MOUSEUP, K_MOUSELEFT, K_MOUSERIGHT,
@@ -7036,6 +7042,7 @@ static void nv_g_cmd(cmdarg_T *cap)
case K_LEFTMOUSE:
case K_LEFTDRAG:
case K_LEFTRELEASE:
+ case K_MOUSEMOVE:
case K_RIGHTMOUSE:
case K_RIGHTDRAG:
case K_RIGHTRELEASE: