patch 9.1.1284: not possible to configure pum truncation char
Problem: not possible to configure the completion menu truncation
character
Solution: add the "trunc" suboption to the 'fillchars' setting to
configure the truncation indicator (glepnir).
closes: #17006
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
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 7720769..f90a335 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt* For Vim version 9.1. Last change: 2025 Apr 06
+*options.txt* For Vim version 9.1. Last change: 2025 Apr 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -3603,8 +3603,8 @@
*'fillchars'* *'fcs'*
'fillchars' 'fcs' string (default "vert:|,fold:-,eob:~,lastline:@")
global or local to window |global-local|
- Characters to fill the statuslines, vertical separators and special
- lines in the window.
+ Characters to fill the statuslines, vertical separators, special
+ lines in the window and truncated text in the |ins-completion-menu|.
It is a comma-separated list of items. Each item has a name, a colon
and the value of that item: |E1511|
@@ -3619,6 +3619,8 @@
diff '-' deleted lines of the 'diff' option
eob '~' empty lines below the end of a buffer
lastline '@' 'display' contains lastline/truncate
+ trunc '>' truncated text in the
+ |ins-completion-menu|.
Any one that is omitted will fall back to the default.
@@ -3635,9 +3637,14 @@
stlnc StatusLineNC |hl-StatusLineNC|
vert VertSplit |hl-VertSplit|
fold Folded |hl-Folded|
+ foldopen FoldColumn |hl-FoldColumn|
+ foldclose FoldColumn |hl-FoldColumn|
+ foldsep FoldColumn |hl-FoldColumn|
diff DiffDelete |hl-DiffDelete|
eob EndOfBuffer |hl-EndOfBuffer|
lastline NonText |hl-NonText|
+ trunc one of the many Popup menu highlighting groups like
+ |hl-PmenuSel|
*'findfunc'* *'ffu'* *E1514*
'findfunc' 'ffu' string (default empty)
@@ -6513,7 +6520,9 @@
Determines the maximum width to use for the popup menu for completion.
When zero, there is no maximum width limit, otherwise the popup menu
will never be wider than this value. Truncated text will be indicated
- by "..." at the end. Takes precedence over 'pumwidth'.
+ by "trunc" value of 'fillchars' option.
+
+ This option takes precedence over 'pumwidth'.
|ins-completion-menu|.
*'pumwidth'* *'pw'*
diff --git a/runtime/doc/version9.txt b/runtime/doc/version9.txt
index 48d0941..646f130 100644
--- a/runtime/doc/version9.txt
+++ b/runtime/doc/version9.txt
@@ -1,4 +1,4 @@
-*version9.txt* For Vim version 9.1. Last change: 2025 Apr 06
+*version9.txt* For Vim version 9.1. Last change: 2025 Apr 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -41613,7 +41613,7 @@
- New option value for 'completeopt':
"nosort" - do not sort completion results
"preinsert" - highlight to be inserted values
-- handle multi-line completion as expected
+- handle multi-line completion items as expected
- improved commandline completion for the |:hi| command
- New option value for 'wildmode':
"noselect" - do not auto select an entry in the wildmenu
@@ -41629,7 +41629,8 @@
- 'rulerformat' now supports the |stl-%!| item
- use 'smoothscroll' logic for CTRL-F / CTRL-B for pagewise scrolling
and CTRL-D / CTRL-U for half-pagewise scrolling
-- 'pummaxwidth' maximum width for the completion popup menu
+- New option value for 'fillchars':
+ "trunc" - configure truncation indicator, 'pummaxwidth'
Ex commands: ~
- allow to specify a priority when defining a new sign |:sign-define|
@@ -41734,11 +41735,11 @@
|ins-completion| modes
'completeitemalign' Order of |complete-items| in Insert mode completion
popup
+'completemaxwidth' maximum width for the completion popup menu
'eventignorewin' autocommand events that are ignored in a window
'findfunc' Vim function to obtain the results for a |:find|
command
'lhistory' Size of the location list stack |quickfix-stack|.
-'completefuzzycollect' Enable fuzzy collection of candiates for (some)
'messagesopt' configure |:messages| and |hit-enter| prompt
'winfixbuf' Keep buffer focused in a window
'tabclose' Which tab page to focus after closing a tab page
diff --git a/runtime/optwin.vim b/runtime/optwin.vim
index 05ea6a2..c5e77af 100644
--- a/runtime/optwin.vim
+++ b/runtime/optwin.vim
@@ -1,7 +1,7 @@
" These commands create the option window.
"
" Maintainer: The Vim Project <https://github.com/vim/vim>
-" Last Change: 2025 Apr 06
+" Last Change: 2025 Apr 07
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
" If there already is an option window, jump to that one.
@@ -371,7 +371,7 @@
call append("$", " \tset siso=" . &siso)
call <SID>AddOption("display", gettext("include \"lastline\" to show the last line even if it doesn't fit\ninclude \"uhex\" to show unprintable characters as a hex number"))
call <SID>OptionG("dy", &dy)
-call <SID>AddOption("fillchars", gettext("characters to use for the status line, folds and filler lines"))
+call <SID>AddOption("fillchars", gettext("characters to use for the status line, folds, diffs, buffer text, filler lines and truncation in the completion menu"))
call <SID>OptionG("fcs", &fcs)
call <SID>AddOption("cmdheight", gettext("number of lines used for the command-line"))
call append("$", " \tset ch=" . &ch)