mirror of
https://github.com/neovim/neovim.git
synced 2025-10-26 12:27:24 +00:00
fix(input): fix clearing of reg_executing
vim-patch:8.2.4705
This commit is contained in:
@@ -6,11 +6,13 @@ local feed = helpers.feed
|
||||
local clear = helpers.clear
|
||||
local expect = helpers.expect
|
||||
local command = helpers.command
|
||||
local meths = helpers.meths
|
||||
local insert = helpers.insert
|
||||
local curbufmeths = helpers.curbufmeths
|
||||
|
||||
before_each(clear)
|
||||
|
||||
describe('macros', function()
|
||||
before_each(clear)
|
||||
it('can be recorded and replayed', function()
|
||||
feed('qiahello<esc>q')
|
||||
expect('hello')
|
||||
@@ -47,9 +49,34 @@ hello]]
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('reg_recorded()', function()
|
||||
before_each(clear)
|
||||
describe('immediately after a macro has finished executing,', function()
|
||||
before_each(function()
|
||||
command([[let @a = 'gg0']])
|
||||
end)
|
||||
|
||||
describe('characters from a mapping are not treated as a part of the macro #18015', function()
|
||||
before_each(function()
|
||||
command('nnoremap s qa')
|
||||
end)
|
||||
|
||||
it('if the macro does not end with a <Nop> mapping', function()
|
||||
feed('@asq') -- "q" from "s" mapping should start recording a macro instead of being no-op
|
||||
eq({mode = 'n', blocking = false}, meths.get_mode())
|
||||
expect('')
|
||||
eq('', eval('@a'))
|
||||
end)
|
||||
|
||||
it('if the macro ends with a <Nop> mapping', function()
|
||||
command('nnoremap 0 <Nop>')
|
||||
feed('@asq') -- "q" from "s" mapping should start recording a macro instead of being no-op
|
||||
eq({mode = 'n', blocking = false}, meths.get_mode())
|
||||
expect('')
|
||||
eq('', eval('@a'))
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('reg_recorded()', function()
|
||||
it('returns the correct value', function()
|
||||
feed [[qqyyq]]
|
||||
eq('q', eval('reg_recorded()'))
|
||||
|
||||
Reference in New Issue
Block a user