aboutsummaryrefslogtreecommitdiff
path: root/test/functional/editor/macro_spec.lua
diff options
context:
space:
mode:
authorThomas Vigouroux <tomvig38@gmail.com>2021-08-17 15:56:37 +0200
committerAxel Dahlberg <git@valleymnt.com>2021-12-18 10:54:26 +0100
commit8a4e26c6fe7530a0e24268cd373f0d4e53fe81e1 (patch)
tree9b3178c7db16ab4e06327774cb5d47185f23f6cc /test/functional/editor/macro_spec.lua
parentb1757e1c29d07c7958c62427e19e85916670049d (diff)
downloadrneovim-8a4e26c6fe7530a0e24268cd373f0d4e53fe81e1.tar.gz
rneovim-8a4e26c6fe7530a0e24268cd373f0d4e53fe81e1.tar.bz2
rneovim-8a4e26c6fe7530a0e24268cd373f0d4e53fe81e1.zip
feat(autocmd): add Recording autocmds
feat(eval): add reg_recorded() This function is used the get the last recorded register. style(Recording): rename handler to match suggestions fix(RecordingLeave): send autocommand earlier This makes the autocommand fire just before setting reg_recorded to reg_recording, this way we clearly show that we are actually just before actually quitting the recording mode.
Diffstat (limited to 'test/functional/editor/macro_spec.lua')
-rw-r--r--test/functional/editor/macro_spec.lua27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/functional/editor/macro_spec.lua b/test/functional/editor/macro_spec.lua
index 102d8fc723..c0c9256af2 100644
--- a/test/functional/editor/macro_spec.lua
+++ b/test/functional/editor/macro_spec.lua
@@ -6,6 +6,8 @@ local feed = helpers.feed
local clear = helpers.clear
local expect = helpers.expect
local command = helpers.command
+local insert = helpers.insert
+local curbufmeths = helpers.curbufmeths
describe('macros', function()
before_each(clear)
@@ -27,4 +29,29 @@ describe('macros', function()
expect('llllll')
eq(eval('@i'), 'lxxx')
end)
+
+ it('can be replayed with Q', function()
+ insert [[hello
+hello
+hello]]
+ feed [[gg]]
+
+ feed [[qqAFOO<esc>q]]
+ eq({'helloFOO', 'hello', 'hello'}, curbufmeths.get_lines(0, -1, false))
+
+ feed[[Q]]
+ eq({'helloFOOFOO', 'hello', 'hello'}, curbufmeths.get_lines(0, -1, false))
+
+ feed[[G3Q]]
+ eq({'helloFOOFOO', 'hello', 'helloFOOFOOFOO'}, curbufmeths.get_lines(0, -1, false))
+ end)
+end)
+
+describe('reg_recorded()', function()
+ before_each(clear)
+
+ it('returns the correct value', function()
+ feed [[qqyyq]]
+ eq('q', eval('reg_recorded()'))
+ end)
end)