Skip to content

Commit b33563f

Browse files
Copilotmcepl
andcommitted
fix: make right-click mouse work in Neovim 0.12+
In Neovim 0.12+, normal! with mouse key events (<LeftMouse>, <LeftRelease>) is restricted and cannot be used to replay mouse events. This caused E492 errors in s:RightRelease. Fixes: - s:MousePress: use wincmd w + cursor() for Neovim instead of normal! \<LeftMouse> - s:MiddleRelease: skip normal! \<LeftRelease> for Neovim - s:RightRelease: skip normal! \<LeftRelease> for Neovim (root cause of the reported E492 error in issue #1) Co-authored-by: Matěj Cepl <mcepl@cepl.eu>
1 parent 74c0afe commit b33563f

1 file changed

Lines changed: 12 additions & 3 deletions

File tree

plugin/acme.vim

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -980,7 +980,12 @@ function s:MousePress(mode)
980980
if s:clickstatus != 0 || s:click.winid == 0
981981
return
982982
endif
983-
exe "normal! \<LeftMouse>"
983+
if has('nvim')
984+
exe win_id2win(s:click.winid).'wincmd w'
985+
call cursor(s:click.line, s:click.column)
986+
else
987+
exe "normal! \<LeftMouse>"
988+
endif
984989
let s:visual = s:SaveVisual()
985990
let s:clicksel = s:clickmode == 'v' && win_getid() == s:clickwin &&
986991
\ s:InSel()
@@ -1001,7 +1006,9 @@ function s:MiddleRelease(click)
10011006
endif
10021007
return
10031008
endif
1004-
exe "normal! \<LeftRelease>"
1009+
if !has('nvim')
1010+
exe "normal! \<LeftRelease>"
1011+
endif
10051012
let cmd = a:click <= 0 || s:clicksel ? s:Sel()[0] : expand('<cWORD>')
10061013
let vis = s:clickmode == 'v' && (a:click <= 0 || !s:clicksel)
10071014
call s:RestVisual(s:visual)
@@ -1047,7 +1054,9 @@ function s:RightRelease(click)
10471054
endif
10481055
return
10491056
endif
1050-
exe "normal! \<LeftRelease>"
1057+
if !has('nvim')
1058+
exe "normal! \<LeftRelease>"
1059+
endif
10511060
let cmd = a:click <= 0 || s:clicksel ? s:Sel()[0] : expand('<cWORD>')
10521061
let vis = s:clickmode == 'v' && (a:click <= 0 || !s:clicksel)
10531062
call s:RestVisual(s:visual)

0 commit comments

Comments
 (0)