mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 11:28:22 +00:00
feat(mapset): support restoring "replace_keycodes" and "desc"
This commit is contained in:
@@ -3,7 +3,10 @@ local helpers = require('test.functional.helpers')(after_each)
|
||||
local clear = helpers.clear
|
||||
local eq = helpers.eq
|
||||
local eval = helpers.eval
|
||||
local expect = helpers.expect
|
||||
local feed = helpers.feed
|
||||
local funcs = helpers.funcs
|
||||
local meths = helpers.meths
|
||||
local nvim = helpers.nvim
|
||||
local source = helpers.source
|
||||
local command = helpers.command
|
||||
@@ -163,3 +166,32 @@ describe('maparg()', function()
|
||||
eq(acmap('e`', 'f`'), funcs.maparg(ac('e`'), 'n', 0, 1))
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('mapset()', function()
|
||||
before_each(clear)
|
||||
|
||||
it('can restore mapping description from the dict returned by maparg()', function()
|
||||
meths.set_keymap('n', 'lhs', 'rhs', {desc = 'map description'})
|
||||
eq('\nn lhs rhs\n map description',
|
||||
helpers.exec_capture("nmap lhs"))
|
||||
local mapargs = funcs.maparg('lhs', 'n', false, true)
|
||||
meths.del_keymap('n', 'lhs')
|
||||
eq('\nNo mapping found', helpers.exec_capture("nmap lhs"))
|
||||
funcs.mapset('n', false, mapargs)
|
||||
eq('\nn lhs rhs\n map description',
|
||||
helpers.exec_capture("nmap lhs"))
|
||||
end)
|
||||
|
||||
it('can restore "replace_keycodes" from the dict returned by maparg()', function()
|
||||
meths.set_keymap('i', 'foo', [['<l' .. 't>']], {expr = true, replace_keycodes = true})
|
||||
feed('Afoo')
|
||||
expect('<')
|
||||
local mapargs = funcs.maparg('foo', 'i', false, true)
|
||||
meths.set_keymap('i', 'foo', [['<l' .. 't>']], {expr = true})
|
||||
feed('foo')
|
||||
expect('<<lt>')
|
||||
funcs.mapset('i', false, mapargs)
|
||||
feed('foo')
|
||||
expect('<<lt><')
|
||||
end)
|
||||
end)
|
||||
|
Reference in New Issue
Block a user