mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 11:28:22 +00:00
fix(input): fix macro recording with ALT and special key
(cherry picked from commit d6b309e20b
)
This commit is contained in:

committed by
github-actions[bot]
![github-actions[bot]](/assets/img/avatar_default.png)
parent
fc4e4b38b2
commit
0c9d666205
@@ -1006,6 +1006,7 @@ int ins_char_typebuf(int c, int modifier)
|
||||
buf[len + 1] = (char_u)K_SECOND(c);
|
||||
buf[len + 2] = (char_u)K_THIRD(c);
|
||||
buf[len + 3] = NUL;
|
||||
len += 3;
|
||||
} else {
|
||||
char_u *end = add_char2buf(c, buf + len);
|
||||
*end = NUL;
|
||||
|
@@ -106,6 +106,7 @@ describe('meta-keys #8226 #13042', function()
|
||||
end)
|
||||
|
||||
it('ALT/META when recording a macro #13235', function()
|
||||
command('inoremap <M-Esc> <lt>M-ESC>')
|
||||
feed('ifoo<CR>bar<CR>baz<Esc>gg0')
|
||||
-- <M-"> is reinterpreted as <Esc>"
|
||||
feed('qrviw"ayC// This is some text: <M-">apq')
|
||||
@@ -113,7 +114,27 @@ describe('meta-keys #8226 #13042', function()
|
||||
// This is some text: foo
|
||||
bar
|
||||
baz]])
|
||||
-- Should not insert an extra double quote when replaying
|
||||
-- Should not insert an extra double quote or trigger <M-Esc> when replaying
|
||||
feed('j0@rj0@@')
|
||||
expect([[
|
||||
// This is some text: foo
|
||||
// This is some text: bar
|
||||
// This is some text: baz]])
|
||||
command('%delete')
|
||||
end)
|
||||
|
||||
it('ALT/META with special key when recording a macro', function()
|
||||
command('inoremap <M-Esc> <lt>M-ESC>')
|
||||
command('noremap <S-Tab> "')
|
||||
command('noremap! <S-Tab> "')
|
||||
feed('ifoo<CR>bar<CR>baz<Esc>gg0')
|
||||
-- <M-S-Tab> is reinterpreted as <Esc><S-Tab>
|
||||
feed('qrviw<S-Tab>ayC// This is some text: <M-S-Tab>apq')
|
||||
expect([[
|
||||
// This is some text: foo
|
||||
bar
|
||||
baz]])
|
||||
-- Should not insert an extra double quote or trigger <M-Esc> when replaying
|
||||
feed('j0@rj0@@')
|
||||
expect([[
|
||||
// This is some text: foo
|
||||
|
Reference in New Issue
Block a user