Skip to content

Commit f43357b

Browse files
committed
fix(completion): make info/signature work with string array 'winborder'
Details: - Should have been part of the previous `fix(ALL)` commit.
1 parent 890f6a3 commit f43357b

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

lua/mini/completion.lua

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -690,7 +690,7 @@ H.keys = {
690690
}
691691

692692
-- Flags for whether there is support for dedicated options
693-
H.has_winborder = vim.fn.has('nvim-0.11') == 1
693+
H.has_no_winborder = vim.fn.has('nvim-0.11') == 0
694694
H.has_pumborder = vim.fn.exists('+pumborder') == 1 -- Neovim>=0.12
695695

696696
-- Caches for different actions -----------------------------------------------
@@ -1533,7 +1533,7 @@ end
15331533

15341534
H.info_window_options = function()
15351535
local win_config = H.get_config().window.info
1536-
local default_border = (H.has_winborder and vim.o.winborder ~= '') and vim.o.winborder or 'single'
1536+
local default_border = (H.has_no_winborder or vim.o.winborder == '') and 'single' or nil
15371537
local border = win_config.border or default_border
15381538
local pumborder = H.has_pumborder and vim.o.pumborder or ''
15391539

@@ -1709,7 +1709,7 @@ end
17091709

17101710
H.signature_window_opts = function()
17111711
local win_config = H.get_config().window.signature
1712-
local default_border = (H.has_winborder and vim.o.winborder ~= '') and vim.o.winborder or 'single'
1712+
local default_border = (H.has_no_winborder or vim.o.winborder == '') and 'single' or nil
17131713
local border = win_config.border or default_border
17141714
local lines = vim.api.nvim_buf_get_lines(H.signature.bufnr, 0, -1, false)
17151715
local height, width = H.floating_dimensions(lines, win_config.height, win_config.width)

tests/test_completion.lua

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1620,6 +1620,12 @@ T['Information window']["respects 'winborder' option"] = function()
16201620
-- Should prefer explicitly configured value over 'winborder'
16211621
child.lua('MiniCompletion.config.window.info.border = "double"')
16221622
validate({ '', '', '', '', '', '', '', '' })
1623+
1624+
-- Should work with "string array" 'winborder'
1625+
if child.fn.has('nvim-0.12') == 0 then MiniTest.skip("String array 'winborder' is present on Neovim>=0.12") end
1626+
child.lua('MiniCompletion.config.window.info.border = nil')
1627+
child.o.winborder = '+,-,+,|,+,-,+,|'
1628+
validate({ '+', '-', '+', '|', '+', '-', '+', '|' })
16231629
end
16241630

16251631
T['Information window']["respects 'pumborder' option"] = function()
@@ -2031,6 +2037,12 @@ T['Signature help']["respects 'winborder' option"] = function()
20312037
-- Should prefer explicitly configured value over 'winborder'
20322038
child.lua('MiniCompletion.config.window.signature.border = "double"')
20332039
validate({ '', '', '', '', '', '', '', '' })
2040+
2041+
-- Should work with "string array" 'winborder'
2042+
if child.fn.has('nvim-0.12') == 0 then MiniTest.skip("String array 'winborder' is present on Neovim>=0.12") end
2043+
child.lua('MiniCompletion.config.window.signature.border = nil')
2044+
child.o.winborder = '+,-,+,|,+,-,+,|'
2045+
validate({ '+', '-', '+', '|', '+', '-', '+', '|' })
20342046
end
20352047

20362048
T['Signature help']['triggers relevant events'] = function()

0 commit comments

Comments
 (0)