neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 8784f064f15e5ae0b6bc85c2972ec16c64656e2b
parent 020d3e355e457fb18f9810cdbb2f8b26898b4fe3
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Mon, 20 Feb 2023 08:24:49 +0800

vim-patch:9.0.1329: completion of map includes simplified ones (#22335)

Problem:    Completion of map includes simplified ones.
Solution:   Do not complete simplified mappings. (closes vim/vim#12013)

https://github.com/vim/vim/commit/997b8a015cd39141866e953651d55c705275cbd6
Diffstat:
Msrc/nvim/mapping.c | 2+-
Msrc/nvim/testdir/test_mapping.vim | 9+++++----
2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/nvim/mapping.c b/src/nvim/mapping.c @@ -1342,7 +1342,7 @@ int ExpandMappings(char *pat, regmatch_T *regmatch, int *numMatches, char ***mat mp = maphash[hash]; } for (; mp; mp = mp->m_next) { - if (!(mp->m_mode & expand_mapmodes)) { + if (mp->m_simplified || !(mp->m_mode & expand_mapmodes)) { continue; } diff --git a/src/nvim/testdir/test_mapping.vim b/src/nvim/testdir/test_mapping.vim @@ -759,11 +759,12 @@ func Test_mapcomplete() call feedkeys(":abbr! \<C-A>\<C-B>\"\<CR>", 'tx') call assert_equal("\"abbr! \x01", @:) - " Multiple matches for a map - nmap ,f /H<CR> - omap ,f /H<CR> + " When multiple matches have the same {lhs}, it should only appear once. + " The simplified form should also not be included. + nmap ,<C-F> /H<CR> + omap ,<C-F> /H<CR> call feedkeys(":map ,\<C-A>\<C-B>\"\<CR>", 'tx') - call assert_equal('"map ,f', @:) + call assert_equal('"map ,<C-F>', @:) mapclear endfunc