From 94677318655eb803fccef4409834b6b77e11282a Mon Sep 17 00:00:00 2001 From: luukvbaal Date: Thu, 21 Aug 2025 14:56:59 +0200 Subject: feat(extui): support paging in the dialog window (#35310) Problem: Unable to see e.g. `inputlist()` prompts that exceed the dialog window height. Multi-line prompts are not handled properly, and tracking is insufficient for messages in cmdline_block mode. Solution: Add vim.on_key handler while the dialog window is open that forwards paging keys to the window. Properly render multi-line prompts. Keep track of both the start and end of the current cmdline prompt. Append messages after the current prompt in cmdline_block mode. --- runtime/lua/vim/_extui/shared.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'runtime/lua/vim/_extui/shared.lua') diff --git a/runtime/lua/vim/_extui/shared.lua b/runtime/lua/vim/_extui/shared.lua index ce222424f2..eac8ff5e38 100644 --- a/runtime/lua/vim/_extui/shared.lua +++ b/runtime/lua/vim/_extui/shared.lua @@ -49,7 +49,7 @@ function M.check_targets() hide = type ~= 'cmd' or M.cmdheight == 0 or nil, border = type ~= 'msg' and 'none' or nil, -- kZIndexMessages < zindex < kZIndexCmdlinePopupMenu (grid_defs.h), pager below others. - zindex = 200 - (type == 'pager' and 1 or 0), + zindex = 200 + (type == 'cmd' and 1 or type == 'pager' and -1 or 0), _cmdline_offset = type == 'cmd' and 0 or nil, }) if tab ~= curtab and api.nvim_win_is_valid(M.wins[type]) then -- cgit v1.3-3-g829e