mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 19:38:20 +00:00
fix(mapset): remove existing abbreviation of same lhs (#20320)
This commit is contained in:
@@ -12,6 +12,7 @@ local meths = helpers.meths
|
||||
local nvim = helpers.nvim
|
||||
local source = helpers.source
|
||||
local command = helpers.command
|
||||
local exec_capture = helpers.exec_capture
|
||||
local pcall_err = helpers.pcall_err
|
||||
|
||||
describe('maparg()', function()
|
||||
@@ -178,8 +179,9 @@ describe('mapset()', function()
|
||||
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"))
|
||||
meths.set_keymap('n', 'lhs', 'rhs', {desc = 'MAP DESCRIPTION'})
|
||||
eq('\nn lhs rhs\n MAP DESCRIPTION',
|
||||
helpers.exec_capture("nmap lhs"))
|
||||
funcs.mapset('n', false, mapargs)
|
||||
eq('\nn lhs rhs\n map description',
|
||||
helpers.exec_capture("nmap lhs"))
|
||||
@@ -198,6 +200,22 @@ describe('mapset()', function()
|
||||
expect('<<lt><')
|
||||
end)
|
||||
|
||||
it('replaces an abbreviation of the same lhs #20320', function()
|
||||
command('inoreabbr foo bar')
|
||||
eq('\ni foo * bar', exec_capture('iabbr foo'))
|
||||
feed('ifoo ')
|
||||
expect('bar ')
|
||||
local mapargs = funcs.maparg('foo', 'i', true, true)
|
||||
command('inoreabbr foo BAR')
|
||||
eq('\ni foo * BAR', exec_capture('iabbr foo'))
|
||||
feed('foo ')
|
||||
expect('bar BAR ')
|
||||
funcs.mapset('i', true, mapargs)
|
||||
eq('\ni foo * bar', exec_capture('iabbr foo'))
|
||||
feed('foo<Esc>')
|
||||
expect('bar BAR bar')
|
||||
end)
|
||||
|
||||
it('can restore Lua callback from the dict returned by maparg()', function()
|
||||
eq(0, exec_lua([[
|
||||
GlobalCount = 0
|
||||
|
Reference in New Issue
Block a user