mirror of
https://github.com/neovim/neovim.git
synced 2025-09-07 11:58:17 +00:00
fix(mouse): correct dragged position in composed layout
This commit is contained in:
@@ -46,6 +46,7 @@ describe('float window', function()
|
||||
[24] = {foreground = Screen.colors.Black, background = Screen.colors.Grey80};
|
||||
[25] = {blend = 100, background = Screen.colors.Gray0};
|
||||
[26] = {blend = 80, background = Screen.colors.Gray0};
|
||||
[27] = {background = Screen.colors.LightGray};
|
||||
}
|
||||
|
||||
it('behavior', function()
|
||||
@@ -6174,6 +6175,132 @@ describe('float window', function()
|
||||
end)
|
||||
end)
|
||||
|
||||
it("left drag changes visual selection in float window", function()
|
||||
local buf = meths.create_buf(false,false)
|
||||
meths.buf_set_lines(buf, 0, -1, true, {'foo', 'bar'})
|
||||
meths.open_win(buf, false, {relative='editor', width=20, height=3, row=2, col=5})
|
||||
if multigrid then
|
||||
screen:expect{grid=[[
|
||||
## grid 1
|
||||
[2:----------------------------------------]|
|
||||
[2:----------------------------------------]|
|
||||
[2:----------------------------------------]|
|
||||
[2:----------------------------------------]|
|
||||
[2:----------------------------------------]|
|
||||
[2:----------------------------------------]|
|
||||
[3:----------------------------------------]|
|
||||
## grid 2
|
||||
^ |
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
## grid 3
|
||||
|
|
||||
## grid 5
|
||||
{1:foo }|
|
||||
{1:bar }|
|
||||
{2:~ }|
|
||||
]], float_pos={
|
||||
[5] = {{id = 1002}, "NW", 1, 2, 5, true, 50};
|
||||
}, win_viewport={
|
||||
[2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1};
|
||||
[5] = {win = {id = 1002}, topline = 0, botline = 3, curline = 0, curcol = 0, linecount = 2};
|
||||
}}
|
||||
meths.input_mouse('left', 'press', '', 5, 0, 0)
|
||||
screen:expect{grid=[[
|
||||
## grid 1
|
||||
[2:----------------------------------------]|
|
||||
[2:----------------------------------------]|
|
||||
[2:----------------------------------------]|
|
||||
[2:----------------------------------------]|
|
||||
[2:----------------------------------------]|
|
||||
[2:----------------------------------------]|
|
||||
[3:----------------------------------------]|
|
||||
## grid 2
|
||||
|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
## grid 3
|
||||
|
|
||||
## grid 5
|
||||
{1:^foo }|
|
||||
{1:bar }|
|
||||
{2:~ }|
|
||||
]], float_pos={
|
||||
[5] = {{id = 1002}, "NW", 1, 2, 5, true, 50};
|
||||
}, win_viewport={
|
||||
[2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1};
|
||||
[5] = {win = {id = 1002}, topline = 0, botline = 3, curline = 0, curcol = 0, linecount = 2};
|
||||
}}
|
||||
meths.input_mouse('left', 'drag', '', 5, 1, 2)
|
||||
screen:expect{grid=[[
|
||||
## grid 1
|
||||
[2:----------------------------------------]|
|
||||
[2:----------------------------------------]|
|
||||
[2:----------------------------------------]|
|
||||
[2:----------------------------------------]|
|
||||
[2:----------------------------------------]|
|
||||
[2:----------------------------------------]|
|
||||
[3:----------------------------------------]|
|
||||
## grid 2
|
||||
|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
## grid 3
|
||||
{3:-- VISUAL --} |
|
||||
## grid 5
|
||||
{27:foo}{1: }|
|
||||
{27:ba}{1:^r }|
|
||||
{2:~ }|
|
||||
]], float_pos={
|
||||
[5] = {{id = 1002}, "NW", 1, 2, 5, true, 50};
|
||||
}, win_viewport={
|
||||
[2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1};
|
||||
[5] = {win = {id = 1002}, topline = 0, botline = 3, curline = 1, curcol = 2, linecount = 2};
|
||||
}}
|
||||
else
|
||||
screen:expect{grid=[[
|
||||
^ |
|
||||
{0:~ }|
|
||||
{0:~ }{1:foo }{0: }|
|
||||
{0:~ }{1:bar }{0: }|
|
||||
{0:~ }{2:~ }{0: }|
|
||||
{0:~ }|
|
||||
|
|
||||
]]}
|
||||
|
||||
meths.input_mouse('left', 'press', '', 0, 2, 5)
|
||||
screen:expect{grid=[[
|
||||
|
|
||||
{0:~ }|
|
||||
{0:~ }{1:^foo }{0: }|
|
||||
{0:~ }{1:bar }{0: }|
|
||||
{0:~ }{2:~ }{0: }|
|
||||
{0:~ }|
|
||||
|
|
||||
]]}
|
||||
|
||||
meths.input_mouse('left', 'drag', '', 0, 3, 7)
|
||||
screen:expect{grid=[[
|
||||
|
|
||||
{0:~ }|
|
||||
{0:~ }{27:foo}{1: }{0: }|
|
||||
{0:~ }{27:ba}{1:^r }{0: }|
|
||||
{0:~ }{2:~ }{0: }|
|
||||
{0:~ }|
|
||||
{3:-- VISUAL --} |
|
||||
]]}
|
||||
end
|
||||
end)
|
||||
|
||||
it("'winblend' option", function()
|
||||
screen:try_resize(50,9)
|
||||
screen:set_default_attr_ids({
|
||||
|
Reference in New Issue
Block a user