patch 9.1.1797: completion: autocompletion can be improved
Problem: completion: autocompletion can be improved
Solution: Add support for "longest" and "preinsert" in 'autocomplete';
add preinserted() (Girish Palya)
* Add support for "longest" in 'completeopt' when 'autocomplete'
is enabled. (Note: the cursor position does not change automatically
when 'autocomplete' is enabled.)
* Add support for "preinsert" when 'autocomplete' is enabled. Ensure
"preinsert" works the same with and without 'autocomplete'
* introduce the preinserted() Vim script function, useful for defining
custom key mappings.
fixes: #18314
closes: #18387
Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
3fc1f2a00e
commit
c05335082a
@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 9.1. Last change: 2025 Sep 22
|
||||
*options.txt* For Vim version 9.1. Last change: 2025 Sep 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -2256,11 +2256,22 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
to gather more alternatives for your candidate list,
|
||||
see 'completefuzzycollect'.
|
||||
|
||||
longest Only insert the longest common text of the matches. If
|
||||
the menu is displayed you can use CTRL-L to add more
|
||||
characters. Whether case is ignored depends on the kind
|
||||
of completion. For buffer text the 'ignorecase' option is
|
||||
used.
|
||||
longest
|
||||
When 'autocomplete' is not active, only the longest
|
||||
common prefix of the matches is inserted. If the popup
|
||||
menu is displayed, you can use CTRL-L to add more
|
||||
characters. Whether case is ignored depends on the type
|
||||
of completion. For buffer text the 'ignorecase' option
|
||||
applies.
|
||||
|
||||
When 'autocomplete' is active and no completion item is
|
||||
selected, the longest common prefix of the matches is
|
||||
inserted after the cursor. The prefix is taken either
|
||||
from all displayed items or only from items in the current
|
||||
buffer. The inserted text is highlighted with
|
||||
|hl-PreInsert|, and the cursor position does not change
|
||||
(similar to `"preinsert"`). Press CTRL-Y to accept.
|
||||
See also |preinserted()|.
|
||||
|
||||
menu Use a popup menu to show the possible completions. The
|
||||
menu is only shown when there is more than one match and
|
||||
@ -2302,22 +2313,21 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
{only works when compiled with the |+textprop| feature}
|
||||
|
||||
preinsert
|
||||
When 'autocomplete' is not active, inserts the part of the
|
||||
first candidate word beyond the current completion leader,
|
||||
highlighted with |hl-PreInsert|. The cursor doesn't move.
|
||||
Requires "fuzzy" unset and "menuone" in 'completeopt'.
|
||||
|
||||
When 'autocomplete' is active, inserts the longest common
|
||||
prefix of matches (from all shown items or from the
|
||||
current buffer items). This occurs only when no menu item
|
||||
is selected. Press CTRL-Y to accept.
|
||||
Inserts the text of the first completion candidate
|
||||
beyond the current leader, highlighted with |hl-PreInsert|.
|
||||
The cursor does not move.
|
||||
Requires "fuzzy" to be unset, and either "menuone" in
|
||||
'completeopt' or 'autocomplete' enabled. When
|
||||
'autocomplete' is enabled, this does not work if
|
||||
'ignorecase' is set without 'infercase'.
|
||||
See also |preinserted()|.
|
||||
|
||||
preview Show extra information about the currently selected
|
||||
completion in the preview window. Only works in
|
||||
combination with "menu" or "menuone".
|
||||
|
||||
Only "fuzzy", "popup", "popuphidden", "preinsert" and "preview" have
|
||||
an effect when 'autocomplete' is enabled.
|
||||
Only "fuzzy", "longest", "popup", "popuphidden", "preinsert" and
|
||||
"preview" have an effect when 'autocomplete' is enabled.
|
||||
|
||||
This option does not apply to |cmdline-completion|. See 'wildoptions'
|
||||
for that.
|
||||
|
||||
Reference in New Issue
Block a user