aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2022-11-13 09:53:02 +0100
committerGitHub <noreply@github.com>2022-11-13 09:53:02 +0100
commitc4f84fc2e294f6dd992f4abad49566d097ff7169 (patch)
tree9808218613b9da20f12c10a0991bcb76f25a9e32
parent9d7dc5062877bd7e035f1f7a74e2462c2e942864 (diff)
parent72f8613e97e3ab4e375a1b9dd20c847f7148acf2 (diff)
downloadrneovim-c4f84fc2e294f6dd992f4abad49566d097ff7169.tar.gz
rneovim-c4f84fc2e294f6dd992f4abad49566d097ff7169.tar.bz2
rneovim-c4f84fc2e294f6dd992f4abad49566d097ff7169.zip
Merge pull request #20984 from notomo/fix-message-kind-on-history
fix(ui-ext): correct message kind in history before vim.ui_attach()
-rw-r--r--src/nvim/message.c1
-rw-r--r--test/functional/lua/ui_event_spec.lua27
2 files changed, 28 insertions, 0 deletions
diff --git a/src/nvim/message.c b/src/nvim/message.c
index 9fdd7a16a2..538bcde6a5 100644
--- 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
index 57ffcf7b4e..6481da900e 100644
--- 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)