aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2025-04-14 08:44:35 +0800
committerGitHub <noreply@github.com>2025-04-14 08:44:35 +0800
commitec9931fae1395be0bda34fdf63fad0563e6e655c (patch)
tree3f80a69d18df978d0b731ce8daca03933825ce67 /runtime/lua
parent2f8fb4f28ab92d62e07d1d64a6dd89e0b6eb7253 (diff)
parent0f4623d3464d9fa8a9130255fc5d386705fb15e8 (diff)
downloadrneovim-ec9931fae1395be0bda34fdf63fad0563e6e655c.tar.gz
rneovim-ec9931fae1395be0bda34fdf63fad0563e6e655c.tar.bz2
rneovim-ec9931fae1395be0bda34fdf63fad0563e6e655c.zip
Merge pull request #33456 from zeertzjq/vim-eded336
vim-patch: improve 'wildmode' description
Diffstat (limited to 'runtime/lua')
-rw-r--r--runtime/lua/vim/_meta/options.lua90
1 files changed, 50 insertions, 40 deletions
diff --git a/runtime/lua/vim/_meta/options.lua b/runtime/lua/vim/_meta/options.lua
index be1fabad45..31bcc6485b 100644
--- a/runtime/lua/vim/_meta/options.lua
+++ b/runtime/lua/vim/_meta/options.lua
@@ -7756,76 +7756,86 @@ vim.o.wmnu = vim.o.wildmenu
vim.go.wildmenu = vim.o.wildmenu
vim.go.wmnu = vim.go.wildmenu
---- Completion mode that is used for the character specified with
---- 'wildchar'. It is a comma-separated list of up to four parts. Each
---- part specifies what to do for each consecutive use of 'wildchar'. The
---- first part specifies the behavior for the first use of 'wildchar',
---- The second part for the second use, etc.
----
---- Each part consists of a colon separated list consisting of the
---- following possible values:
---- "" Complete only the first match.
---- "full" Complete the next full match. After the last match,
---- the original string is used and then the first match
---- again. Will also start 'wildmenu' if it is enabled.
---- "longest" Complete till longest common string. If this doesn't
---- result in a longer string, use the next part.
---- "list" When more than one match, list all matches.
---- "lastused" When completing buffer names and more than one buffer
---- matches, sort buffers by time last used (other than
---- the current buffer).
---- "noselect" Do not pre-select first menu item and start 'wildmenu'
---- if it is enabled.
---- When there is only a single match, it is fully completed in all cases
---- except when "noselect" is present.
----
---- Examples of useful colon-separated values:
---- "longest:full" Like "longest", but also start 'wildmenu' if it is
---- enabled. Will not complete to the next full match.
---- "list:full" When more than one match, list all matches and
---- complete first match.
---- "list:longest" When more than one match, list all matches and
---- complete till longest common string.
---- "list:lastused" When more than one buffer matches, list all matches
---- and sort buffers by time last used (other than the
---- current buffer).
+--- Completion mode used for the character specified with 'wildchar'.
+--- This option is a comma-separated list of up to four parts,
+--- corresponding to the first, second, third, and fourth presses of
+--- 'wildchar'. Each part is a colon-separated list of completion
+--- behaviors, which are applied simultaneously during that phase.
+---
+--- The possible behavior values are:
+--- "" Only complete (insert) the first match. No further
+--- matches are cycled or listed.
+--- "full" Complete the next full match. Cycles through all
+--- matches, returning to the original input after the
+--- last match. If 'wildmenu' is enabled, it will be
+--- shown.
+--- "longest" Complete to the longest common substring. If this
+--- doesn't extend the input, the next 'wildmode' part is
+--- used.
+--- "list" If multiple matches are found, list all of them.
+--- "lastused" When completing buffer names, sort them by most
+--- recently used (excluding the current buffer). Only
+--- applies to buffer name completion.
+--- "noselect" If 'wildmenu' is enabled, show the menu but do not
+--- preselect the first item.
+--- If only one match exists, it is completed fully, unless "noselect" is
+--- specified.
+---
+--- Some useful combinations of colon-separated values:
+--- "longest:full" Start with the longest common string and show
+--- 'wildmenu' (if enabled). Does not cycle
+--- through full matches.
+--- "list:full" List all matches and complete first match.
+--- "list:longest" List all matches and complete till the longest
+--- common prefix.
+--- "list:lastused" List all matches. When completing buffers,
+--- sort them by most recently used (excluding the
+--- current buffer).
+--- "noselect:lastused" Do not preselect the first item in 'wildmenu'
+--- if it is active. When completing buffers,
+--- sort them by most recently used (excluding the
+--- current buffer).
---
--- Examples:
---
--- ```vim
--- set wildmode=full
--- ```
---- Complete first full match, next match, etc. (the default)
+--- Complete full match on every press (default behavior)
---
--- ```vim
--- set wildmode=longest,full
--- ```
---- Complete longest common string, then each full match
+--- First press: longest common substring
+--- Second press: cycle through full matches
---
--- ```vim
--- set wildmode=list:full
--- ```
---- List all matches and complete each full match
+--- First press: list all matches and complete the first one
---
--- ```vim
--- set wildmode=list,full
--- ```
---- List all matches without completing, then each full match
+--- First press: list matches only
+--- Second press: complete full matches
---
--- ```vim
--- set wildmode=longest,list
--- ```
---- Complete longest common string, then list alternatives
+--- First press: longest common substring
+--- Second press: list all matches
---
--- ```vim
--- set wildmode=noselect:full
--- ```
---- Display 'wildmenu' without completing, then each full match
+--- Show 'wildmenu' without completing or selecting on first press
+--- Cycle full matches on second press
---
--- ```vim
--- set wildmode=noselect:lastused,full
--- ```
---- Same as above, but sort buffers by time last used.
+--- Same as above, but buffer matches are sorted by time last used
--- More info here: `cmdline-completion`.
---
--- @type string