Merge pull request #13303 from vigoux/fix-13298

fix(floatwin): don't always use winheight
This commit is contained in:
Björn Linse
2020-11-16 21:23:09 +01:00
committed by GitHub
2 changed files with 48 additions and 3 deletions

View File

@@ -4608,11 +4608,12 @@ static void win_enter_ext(win_T *wp, bool undo_sync, int curwin_invalid,
redraw_all_later(NOT_VALID);
}
/* set window height to desired minimal value */
if (curwin->w_height < p_wh && !curwin->w_p_wfh)
// set window height to desired minimal value
if (curwin->w_height < p_wh && !curwin->w_p_wfh && !curwin->w_floating) {
win_setheight((int)p_wh);
else if (curwin->w_height == 0)
} else if (curwin->w_height == 0) {
win_setheight(1);
}
// set window width to desired minimal value
if (curwin->w_width < p_wiw && !curwin->w_p_wfw && !wp->w_floating) {

View File

@@ -83,6 +83,50 @@ describe('floatwin', function()
assert_alive()
end)
it('opened with correct height', function()
local height = exec_lua([[
vim.api.nvim_set_option("winheight", 20)
local bufnr = vim.api.nvim_create_buf(false, true)
local opts = {
height = 10,
col = 5,
row = 1,
relative = 'editor',
style = 'minimal',
width = 15
}
local win_id = vim.api.nvim_open_win(bufnr, true, opts)
return vim.api.nvim_win_get_height(win_id)
]])
eq(10, height)
end)
it('opened with correct width', function()
local width = exec_lua([[
vim.api.nvim_set_option("winwidth", 20)
local bufnr = vim.api.nvim_create_buf(false, true)
local opts = {
height = 10,
col = 5,
row = 1,
relative = 'editor',
style = 'minimal',
width = 10
}
local win_id = vim.api.nvim_open_win(bufnr, true, opts)
return vim.api.nvim_win_get_width(win_id)
]])
eq(10, width)
end)
local function with_ext_multigrid(multigrid)
local screen
before_each(function()