feat(ui): 'pumborder' (popup menu border) #25541

Problem:
Popup menu cannot have a border.

Solution:
Support 'pumborder' option.
Generalize `win_redr_border` to `grid_redr_border`,
which redraws border for window grid and pum grid.
This commit is contained in:
glepnir
2025-10-10 22:14:50 +08:00
committed by GitHub
parent 9c89212de1
commit fafc329bbd
17 changed files with 649 additions and 133 deletions

View File

@@ -4908,6 +4908,12 @@ A jump table for the options with a short description can be found at |Q_op|.
<
UI-dependent. Works best with RGB colors. 'termguicolors'
*'pumborder'*
'pumborder' string (default "")
global
Defines the default border style of popupmenu windows. Same as
'winborder'.
*'pumheight'* *'ph'*
'pumheight' 'ph' number (default 0)
global

View File

@@ -5129,6 +5129,13 @@ vim.o.pb = vim.o.pumblend
vim.go.pumblend = vim.o.pumblend
vim.go.pb = vim.go.pumblend
--- Defines the default border style of popupmenu windows. Same as
--- 'winborder'.
---
--- @type string
vim.o.pumborder = ""
vim.go.pumborder = vim.o.pumborder
--- Maximum number of items to show in the popup menu
--- (`ins-completion-menu`). Zero means "use available screen space".
---