mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
fix(exmode): flush messages before printing a line after pressing Enter (#19341)
This commit is contained in:
parent
39d51c833a
commit
c01690b1ea
@ -227,13 +227,14 @@ void do_exmode(void)
|
||||
emsg(_(e_emptybuf));
|
||||
} else {
|
||||
if (ex_pressedreturn) {
|
||||
// Make sure the message overwrites the right line and isn't throttled.
|
||||
msg_scroll_flush();
|
||||
// go up one line, to overwrite the ":<CR>" line, so the
|
||||
// output doesn't contain empty lines.
|
||||
msg_row = prev_msg_row;
|
||||
if (prev_msg_row == Rows - 1) {
|
||||
msg_row--;
|
||||
}
|
||||
msg_grid.throttled = false;
|
||||
}
|
||||
msg_col = 0;
|
||||
print_line_no_prefix(curwin->w_cursor.lnum, FALSE, FALSE);
|
||||
|
@ -104,10 +104,10 @@ describe('Ex mode', function()
|
||||
-- Pressing enter in ex mode should print the current line
|
||||
feed('<CR>')
|
||||
screen:expect([[
|
||||
{1: 1 }foo foo |
|
||||
^^^y |
|
||||
{1: 2 }foo foo |
|
||||
^^^q |
|
||||
{1: 2 }foo foo |
|
||||
{1: 3 }foo foo |
|
||||
:^ |
|
||||
]])
|
||||
|
@ -1196,6 +1196,53 @@ vimComment xxx match /\s"[^\-:.%#=*].*$/ms=s+1,lc=1 excludenl contains=@vim
|
||||
{4:Press ENTER or type command to continue}^ |
|
||||
]]}
|
||||
end)
|
||||
|
||||
it('prints lines in Ex mode correctly with a burst of carriage returns #19341', function()
|
||||
command('set number')
|
||||
meths.buf_set_lines(0, 0, 0, true, {'aaa', 'bbb', 'ccc'})
|
||||
command('set display-=msgsep')
|
||||
feed('gggQ<CR><CR>1<CR><CR>vi')
|
||||
screen:expect([[
|
||||
Entering Ex mode. Type "visual" to go to Normal mode. |
|
||||
{11: 2 }bbb |
|
||||
{11: 3 }ccc |
|
||||
:1 |
|
||||
{11: 1 }aaa |
|
||||
{11: 2 }bbb |
|
||||
:vi^ |
|
||||
]])
|
||||
feed('<CR>')
|
||||
screen:expect([[
|
||||
{11: 1 }aaa |
|
||||
{11: 2 }^bbb |
|
||||
{11: 3 }ccc |
|
||||
{11: 4 } |
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
|
|
||||
]])
|
||||
command('set display+=msgsep')
|
||||
feed('gggQ<CR><CR>1<CR><CR>vi')
|
||||
screen:expect([[
|
||||
Entering Ex mode. Type "visual" to go to Normal mode. |
|
||||
{11: 2 }bbb |
|
||||
{11: 3 }ccc |
|
||||
:1 |
|
||||
{11: 1 }aaa |
|
||||
{11: 2 }bbb |
|
||||
:vi^ |
|
||||
]])
|
||||
feed('<CR>')
|
||||
screen:expect([[
|
||||
{11: 1 }aaa |
|
||||
{11: 2 }^bbb |
|
||||
{11: 3 }ccc |
|
||||
{11: 4 } |
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
|
|
||||
]])
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('ui/ext_messages', function()
|
||||
|
Loading…
Reference in New Issue
Block a user