mirror of
https://github.com/neovim/neovim.git
synced 2026-08-04 14:48:45 +00:00
vim-patch:8.2.4867: listing of mapping with K_SPECIAL is wrong (#18419)
Problem: Listing of mapping with K_SPECIAL is wrong.
Solution: Adjust escaping of special characters. (closes vim/vim#10351)
ac402f4d64
Avoid overshadowing.
Cherry-pick Test_list_mapping() from Vim patches 8.2.{0148,2994}.
Fix rhs_is_noop.
This commit is contained in:
@@ -464,6 +464,40 @@ func Test_list_mappings()
|
||||
call assert_equal(['n ,n <Nop>'],
|
||||
\ execute('nmap ,n')->trim()->split("\n"))
|
||||
|
||||
" verbose map
|
||||
call assert_match("\tLast set from .*/test_mapping.vim line \\d\\+$",
|
||||
\ execute('verbose map ,n')->trim()->split("\n")[1])
|
||||
|
||||
" character with K_SPECIAL byte in rhs
|
||||
nmap foo …
|
||||
call assert_equal(['n foo …'],
|
||||
\ execute('nmap foo')->trim()->split("\n"))
|
||||
|
||||
" modified character with K_SPECIAL byte in rhs
|
||||
nmap foo <M-…>
|
||||
call assert_equal(['n foo <M-…>'],
|
||||
\ execute('nmap foo')->trim()->split("\n"))
|
||||
|
||||
" character with K_SPECIAL byte in lhs
|
||||
nmap … foo
|
||||
call assert_equal(['n … foo'],
|
||||
\ execute('nmap …')->trim()->split("\n"))
|
||||
|
||||
" modified character with K_SPECIAL byte in lhs
|
||||
nmap <M-…> foo
|
||||
call assert_equal(['n <M-…> foo'],
|
||||
\ execute('nmap <M-…>')->trim()->split("\n"))
|
||||
|
||||
" map to CTRL-V
|
||||
exe "nmap ,k \<C-V>"
|
||||
call assert_equal(['n ,k <Nop>'],
|
||||
\ execute('nmap ,k')->trim()->split("\n"))
|
||||
|
||||
" map with space at the beginning
|
||||
exe "nmap \<C-V> w <Nop>"
|
||||
call assert_equal(['n <Space>w <Nop>'],
|
||||
\ execute("nmap \<C-V> w")->trim()->split("\n"))
|
||||
|
||||
nmapclear
|
||||
endfunc
|
||||
|
||||
|
||||
Reference in New Issue
Block a user