patch 9.1.0754: fixed order of items in insert-mode completion menu
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: #14006
closes: #15760
Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 49087d3..3980601 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -2102,6 +2102,16 @@
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|
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 8b0a959..77ef32e 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -134,6 +134,7 @@
'character' intro.txt /*'character'*
'charconvert' options.txt /*'charconvert'*
'ci' options.txt /*'ci'*
+'cia' options.txt /*'cia'*
'cin' options.txt /*'cin'*
'cindent' options.txt /*'cindent'*
'cink' options.txt /*'cink'*
@@ -161,6 +162,7 @@
'compatible' options.txt /*'compatible'*
'complete' options.txt /*'complete'*
'completefunc' options.txt /*'completefunc'*
+'completeitemalign' options.txt /*'completeitemalign'*
'completeopt' options.txt /*'completeopt'*
'completepopup' options.txt /*'completepopup'*
'completeslash' options.txt /*'completeslash'*
diff --git a/runtime/doc/version9.txt b/runtime/doc/version9.txt
index 147f345..d684b49 100644
--- a/runtime/doc/version9.txt
+++ b/runtime/doc/version9.txt
@@ -1,4 +1,4 @@
-*version9.txt* For Vim version 9.1. Last change: 2024 Sep 23
+*version9.txt* For Vim version 9.1. Last change: 2024 Oct 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -41642,6 +41642,8 @@
Options: ~
+'completeitemalign' Order of |complete-items| in Insert mode completion
+ popup
'winfixbuf' Keep buffer focused in a window
'tabclose' Which tab page to focus after closing a tab page
't_xo' Terminal uses XON/XOFF handshaking (e.g. vt420)
diff --git a/runtime/optwin.vim b/runtime/optwin.vim
index 8306ed3..99b1ecf 100644
--- a/runtime/optwin.vim
+++ b/runtime/optwin.vim
@@ -849,6 +849,8 @@
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)
if exists("+completepopup")
call <SID>AddOption("completepopup", gettext("options for the Insert mode completion info popup"))
call <SID>OptionG("cpp", &cpp)