From ef0ec7edac5b7923955998ebddbfe02a1146bbf3 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Wed, 9 Jul 2025 07:38:43 +0800 Subject: vim-patch:9.1.1526: completion: search completion match may differ in case Problem: completion: search completion match may differ in case (techntools) Solution: add "exacttext" to 'wildoptions' value (Girish Palya) This flag does the following: exacttext When this flag is present, search pattern completion (e.g., in |/|, |?|, |:s|, |:g|, |:v|, and |:vim|) shows exact buffer text as menu items, without preserving regex artifacts like position anchors (e.g., |/\<|). This provides more intuitive menu items that match the actual buffer text. However, searches may be less accurate since the pattern is not preserved exactly. By default, Vim preserves the typed pattern (with anchors) and appends the matched word. This preserves search correctness, especially when using regular expressions or with 'smartcase' enabled. However, the case of the appended matched word may not exactly match the case of the word in the buffer. fixes: vim/vim#17654 closes: vim/vim#17667 https://github.com/vim/vim/commit/93c2d5bf7f01db594a3f5ebecbd5a31dfd411544 Co-authored-by: Girish Palya --- runtime/lua/vim/_meta/options.lua | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'runtime/lua/vim/_meta/options.lua') diff --git a/runtime/lua/vim/_meta/options.lua b/runtime/lua/vim/_meta/options.lua index 60715def3e..c529a87811 100644 --- a/runtime/lua/vim/_meta/options.lua +++ b/runtime/lua/vim/_meta/options.lua @@ -7818,6 +7818,7 @@ vim.go.ww = vim.go.whichwrap --- 'wildchar' also enables completion in search pattern contexts such as --- `/`, `?`, `:s`, `:g`, `:v`, and `:vim`. To insert a literal --- instead of triggering completion, type or "\t". +--- See also `'wildoptions'`. --- --- @type integer vim.o.wildchar = 9 @@ -8012,6 +8013,20 @@ vim.go.wim = vim.go.wildmode --- A list of words that change how `cmdline-completion` is done. --- The following values are supported: +--- exacttext When this flag is present, search pattern completion +--- (e.g., in `/`, `?`, `:s`, `:g`, `:v`, and `:vim`) +--- shows exact buffer text as menu items, without +--- preserving regex artifacts like position +--- anchors (e.g., `/\\<`). This provides more intuitive +--- menu items that match the actual buffer text. +--- However, searches may be less accurate since the +--- pattern is not preserved exactly. +--- By default, Vim preserves the typed pattern (with +--- anchors) and appends the matched word. This preserves +--- search correctness, especially when using regular +--- expressions or with 'smartcase' enabled. However, the +--- case of the appended matched word may not exactly +--- match the case of the word in the buffer. --- fuzzy Use `fuzzy-matching` to find completion matches. When --- this value is specified, wildcard expansion will not --- be used for completion. The matches will be sorted by -- cgit v1.3-3-g829e