mirror of
https://github.com/neovim/neovim.git
synced 2024-12-27 14:21:31 -07:00
fix(prompt): emit change event for prompt newline (#28260)
Co-authored-by: Ilia Choly <ilia.choly@gmail.com>
This commit is contained in:
parent
f49408454d
commit
49983387ff
@ -17,6 +17,7 @@
|
|||||||
#include "nvim/autocmd.h"
|
#include "nvim/autocmd.h"
|
||||||
#include "nvim/buffer.h"
|
#include "nvim/buffer.h"
|
||||||
#include "nvim/buffer_defs.h"
|
#include "nvim/buffer_defs.h"
|
||||||
|
#include "nvim/change.h"
|
||||||
#include "nvim/channel.h"
|
#include "nvim/channel.h"
|
||||||
#include "nvim/charset.h"
|
#include "nvim/charset.h"
|
||||||
#include "nvim/cmdexpand_defs.h"
|
#include "nvim/cmdexpand_defs.h"
|
||||||
@ -8905,6 +8906,7 @@ void invoke_prompt_callback(void)
|
|||||||
// Add a new line for the prompt before invoking the callback, so that
|
// Add a new line for the prompt before invoking the callback, so that
|
||||||
// text can always be inserted above the last line.
|
// text can always be inserted above the last line.
|
||||||
ml_append(lnum, "", 0, false);
|
ml_append(lnum, "", 0, false);
|
||||||
|
appended_lines_mark(lnum, 1);
|
||||||
curwin->w_cursor.lnum = lnum + 1;
|
curwin->w_cursor.lnum = lnum + 1;
|
||||||
curwin->w_cursor.col = 0;
|
curwin->w_cursor.col = 0;
|
||||||
|
|
||||||
|
@ -1266,6 +1266,25 @@ describe('lua: nvim_buf_attach on_bytes', function()
|
|||||||
}
|
}
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
it('prompt buffer', function()
|
||||||
|
local check_events = setup_eventcheck(verify, {})
|
||||||
|
api.nvim_set_option_value('buftype', 'prompt', {})
|
||||||
|
feed('i')
|
||||||
|
check_events {
|
||||||
|
{ 'test1', 'bytes', 1, 3, 0, 0, 0, 0, 0, 0, 0, 2, 2 },
|
||||||
|
}
|
||||||
|
feed('<CR>')
|
||||||
|
check_events {
|
||||||
|
{ 'test1', 'bytes', 1, 4, 1, 0, 3, 0, 0, 0, 1, 0, 1 },
|
||||||
|
{ 'test1', 'bytes', 1, 5, 1, 0, 3, 0, 0, 0, 0, 2, 2 },
|
||||||
|
}
|
||||||
|
feed('<CR>')
|
||||||
|
check_events {
|
||||||
|
{ 'test1', 'bytes', 1, 6, 2, 0, 6, 0, 0, 0, 1, 0, 1 },
|
||||||
|
{ 'test1', 'bytes', 1, 7, 2, 0, 6, 0, 0, 0, 0, 2, 2 },
|
||||||
|
}
|
||||||
|
end)
|
||||||
|
|
||||||
local function test_lockmarks(mode)
|
local function test_lockmarks(mode)
|
||||||
local description = (mode ~= '') and mode or '(baseline)'
|
local description = (mode ~= '') and mode or '(baseline)'
|
||||||
it('test_lockmarks ' .. description .. ' %delete _', function()
|
it('test_lockmarks ' .. description .. ' %delete _', function()
|
||||||
|
Loading…
Reference in New Issue
Block a user