neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit c4f84fc2e294f6dd992f4abad49566d097ff7169
parent 9d7dc5062877bd7e035f1f7a74e2462c2e942864
Author: bfredl <bjorn.linse@gmail.com>
Date:   Sun, 13 Nov 2022 09:53:02 +0100

Merge pull request #20984 from notomo/fix-message-kind-on-history

fix(ui-ext): correct message kind in history before vim.ui_attach()
Diffstat:
Msrc/nvim/message.c | 1+
Mtest/functional/lua/ui_event_spec.lua | 27+++++++++++++++++++++++++++
2 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/src/nvim/message.c b/src/nvim/message.c @@ -3153,6 +3153,7 @@ int msg_end(void) void msg_ext_ui_flush(void) { if (!ui_has(kUIMessages)) { + msg_ext_kind = NULL; return; } diff --git a/test/functional/lua/ui_event_spec.lua b/test/functional/lua/ui_event_spec.lua @@ -117,4 +117,31 @@ describe('vim.ui_attach', function() }) eq(0, helpers.eval('v:shell_error')) end) + + it('can receive accurate message kinds even if they are history', function() + exec_lua([[ + vim.cmd.echomsg("'message1'") + print('message2') + vim.ui_attach(ns, { ext_messages = true }, on_event) + vim.cmd.echomsg("'message3'") + ]]) + feed(':messages<cr>') + feed('<cr>') + + local actual = exec_lua([[ + return vim.tbl_filter(function (event) + return event[1] == "msg_history_show" + end, events) + ]]) + eq({ + { + 'msg_history_show', + { + { 'echomsg', { { 0, 'message1' } } }, + { '', { { 0, 'message2' } } }, + { 'echomsg', { { 0, 'message3' } } }, + }, + }, + }, actual, inspect(actual)) + end) end)