diff options
author | Famiu Haque <famiuhaque@protonmail.com> | 2022-07-15 22:15:02 +0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-15 09:15:02 -0700 |
commit | 6645f59832682e9a3623c2b1e45369529bef201a (patch) | |
tree | c0635d300fbf6c64d05f9380b6ce3999736c0d8f /test/functional/ui/statusline_spec.lua | |
parent | 5c49129c5e334a9c7da253499cd9aa19358d4ac9 (diff) | |
download | rneovim-6645f59832682e9a3623c2b1e45369529bef201a.tar.gz rneovim-6645f59832682e9a3623c2b1e45369529bef201a.tar.bz2 rneovim-6645f59832682e9a3623c2b1e45369529bef201a.zip |
fix: right-click in clickable statusline #19252
Problem:
1. Right-click does not work in statusline unless you left-click first (to focus
the statusline).
2. Modifier (e.g. shift+rightclick) does not work in statusline.
Solution:
Make clickable statusline sections receive right-clicks regardless of whether
the statusline is focused.
Closes #18994
Diffstat (limited to 'test/functional/ui/statusline_spec.lua')
-rw-r--r-- | test/functional/ui/statusline_spec.lua | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/test/functional/ui/statusline_spec.lua b/test/functional/ui/statusline_spec.lua index 2733b9dd4a..82e669856f 100644 --- a/test/functional/ui/statusline_spec.lua +++ b/test/functional/ui/statusline_spec.lua @@ -20,7 +20,12 @@ describe('statusline clicks', function() command('set laststatus=2') exec([=[ function! MyClickFunc(minwid, clicks, button, mods) - let g:testvar = printf("%d %d %s", a:minwid, a:clicks, a:button) + let mods = trim(a:mods) + if mods ==# '' + let g:testvar = printf("%d %d %s", a:minwid, a:clicks, a:button) + else + let g:testvar = printf("%d %d %s %s", a:minwid, a:clicks, a:button, mods) + endif endfunction ]=]) end) @@ -37,7 +42,7 @@ describe('statusline clicks', function() meths.set_option('winbar', 'Not clicky stuff %0@MyClickFunc@Clicky stuff%T') meths.input_mouse('left', 'press', '', 0, 0, 17) eq('0 1 l', eval("g:testvar")) - meths.input_mouse('right', 'press', '', 0, 6, 17) + meths.input_mouse('right', 'press', '', 0, 0, 17) eq('0 1 r', eval("g:testvar")) end) @@ -84,6 +89,22 @@ describe('statusline clicks', function() meths.input_mouse('left', 'press', '', 0, 6, 0) eq(2, #meths.list_tabpages()) end) + + it("right click works when statusline isn't focused #18994", function() + meths.set_option('statusline', 'Not clicky stuff %0@MyClickFunc@Clicky stuff%T') + meths.input_mouse('right', 'press', '', 0, 6, 17) + eq('0 1 r', eval("g:testvar")) + meths.input_mouse('right', 'press', '', 0, 6, 17) + eq('0 2 r', eval("g:testvar")) + end) + + it("click works with modifiers #18994", function() + meths.set_option('statusline', 'Not clicky stuff %0@MyClickFunc@Clicky stuff%T') + meths.input_mouse('right', 'press', 's', 0, 6, 17) + eq('0 1 r s', eval("g:testvar")) + meths.input_mouse('left', 'press', 's', 0, 6, 17) + eq('0 1 l s', eval("g:testvar")) + end) end) describe('global statusline', function() |