]> git.ipfire.org Git - thirdparty/vim.git/commit
patch 9.0.2037: A few remaining cmdline completion issues with C-E/Y v9.0.2037
authorYee Cheng Chin <ychin.git@gmail.com>
Tue, 17 Oct 2023 08:56:25 +0000 (10:56 +0200)
committerChristian Brabandt <cb@256bit.org>
Tue, 17 Oct 2023 08:56:25 +0000 (10:56 +0200)
commit209ec90b9b9bd948d76511c9cd2b17f47a97afe6
tree5a74b51ad3571a32852a7348b77c3637cf8fb8ce
parent396058acd0cc66e5071d052e03d2067b134952af
patch 9.0.2037: A few remaining cmdline completion issues with C-E/Y

Problem:  A few remaining cmdline completion issues with C-E/Y
Solution: Fix cmdline completion fuzzy/Ctrl-E/Ctrl-Y/options when not
          used at the end

Fix cmdline completion fuzzy/Ctrl-E/Ctrl-Y/options when not used at the end

A few places in the cmdline completion code only works properly when the
user hits Tab (or 'wildchar') at the end of the cmdline, even though
it's supposed to work even in the middle of the line.

For fuzzy search, `:e ++ff`, and `:set hl=`, fix completion code to make
sure to use `xp_pattern_len` instead of assuming the entire `xp_pattern`
is the search pattern (since it contains texts after the cursor).

Fix Ctrl-E / Ctrl-Y to not jump to the end when canceling/accepting a
wildmenu completion. Also, make them work even when not using
`set wildoptions+=pum` as there is no drawback to doing so.
(Related issue where this was brought up: #13331)

closes: #13362

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
12 files changed:
runtime/doc/index.txt
runtime/doc/options.txt
src/cmdexpand.c
src/ex_docmd.c
src/ex_getln.c
src/optionstr.c
src/testdir/dumps/Test_wildmenu_pum_51.dump [new file with mode: 0644]
src/testdir/dumps/Test_wildmenu_pum_52.dump [new file with mode: 0644]
src/testdir/dumps/Test_wildmenu_pum_53.dump [new file with mode: 0644]
src/testdir/test_cmdline.vim
src/testdir/test_options.vim
src/version.c