vim-patch:9.1.0754: fixed order of items in insert-mode completion menu (#30619)

Problem:  fixed order of items in insert-mode completion menu
Solution: Introduce the 'completeitemalign' option with default
          value "abbr,kind,menu" (glepnir).

Adding an new option `completeitemalign` abbr is `cia` to custom
the complete-item order in popupmenu.

closes: vim/vim#14006
closes: vim/vim#15760

6a89c94a9e
This commit is contained in:
glepnir
2024-10-03 06:45:01 +08:00
committed by GitHub
parent d3b4772ddc
commit 6a2f8958e8
11 changed files with 309 additions and 39 deletions

View File

@@ -1529,6 +1529,16 @@ A jump table for the options with a short description can be found at |Q_op|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'completeitemalign'* *'cia'*
'completeitemalign' 'cia' string (default "abbr,kind,menu")
global
A comma-separated list of |complete-items| that controls the alignment
and display order of items in the popup menu during Insert mode
completion. The supported values are abbr, kind, and menu. These
options allow to customize how the completion items are shown in the
popup menu. Note: must always contain those three values in any
order.
*'completeopt'* *'cot'*
'completeopt' 'cot' string (default "menu,preview")
global or local to buffer |global-local|

View File

@@ -1055,6 +1055,19 @@ vim.o.cfu = vim.o.completefunc
vim.bo.completefunc = vim.o.completefunc
vim.bo.cfu = vim.bo.completefunc
--- A comma-separated list of `complete-items` that controls the alignment
--- and display order of items in the popup menu during Insert mode
--- completion. The supported values are abbr, kind, and menu. These
--- options allow to customize how the completion items are shown in the
--- popup menu. Note: must always contain those three values in any
--- order.
---
--- @type string
vim.o.completeitemalign = "abbr,kind,menu"
vim.o.cia = vim.o.completeitemalign
vim.go.completeitemalign = vim.o.completeitemalign
vim.go.cia = vim.go.completeitemalign
--- A comma-separated list of options for Insert mode completion
--- `ins-completion`. The supported values are:
---

View File

@@ -726,6 +726,8 @@ if has("insert_expand")
call <SID>OptionL("cpt")
call <SID>AddOption("completeopt", gettext("whether to use a popup menu for Insert mode completion"))
call <SID>OptionL("cot")
call <SID>AddOption("completeitemalign", gettext("popup menu item align order"))
call <SID>OptionG("cia", &cia)
call <SID>AddOption("pumheight", gettext("maximum height of the popup menu"))
call <SID>OptionG("ph", &ph)
call <SID>AddOption("pumwidth", gettext("minimum width of the popup menu"))