neovim

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

commit 91ef26dece6d34dbb6e1b5722ce2d3f6f7e3a6de
parent 76635847086344b1b6e7ac9e9a4d9276852be000
Author: Bara C. Tudor <vector2025@gmail.com>
Date:   Wed, 22 Nov 2023 03:50:28 +0200

fix(messages): :map output with ext_messages (#26126)


Diffstat:
Msrc/nvim/mapping.c | 4+++-
Mtest/functional/ui/messages_spec.lua | 13+++++++++++++
2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/src/nvim/mapping.c b/src/nvim/mapping.c @@ -45,6 +45,7 @@ #include "nvim/search.h" #include "nvim/strings.h" #include "nvim/types.h" +#include "nvim/ui.h" #include "nvim/vim.h" /// List used for abbreviations. @@ -220,7 +221,8 @@ static void showmap(mapblock_T *mp, bool local) return; } - if (msg_didout || msg_silent != 0) { + // When ext_messages is active, msg_didout is never set. + if (msg_didout || msg_silent != 0 || ui_has(kUIMessages)) { msg_putchar('\n'); if (got_int) { // 'q' typed at MORE prompt return; diff --git a/test/functional/ui/messages_spec.lua b/test/functional/ui/messages_spec.lua @@ -834,6 +834,19 @@ stack traceback: end} end) + it('supports multiline messages for :map', function() + command('mapclear') + command('nmap Y y$') + command('nmap Q @@') + command('nnoremap j k') + feed(':map<cr>') + + screen:expect{messages={{ + content = {{ "\nn Q @@\nn Y y$\nn j " }, { "*", 5 }, { " k" }}, + kind = '' + }}} + end) + it('wildmode=list', function() screen:try_resize(25, 7) screen:set_option('ext_popupmenu', false)