summaryrefslogtreecommitdiffstatshomepage
path: root/runtime/lua/vim/_extui/shared.lua
diff options
context:
space:
mode:
authorLuuk van Baal <luukvbaal@gmail.com>2025-06-02 13:05:54 +0200
committerluukvbaal <luukvbaal@gmail.com>2025-06-02 16:32:48 +0200
commit33b0a004eb20fd5a0013b832414596190c059828 (patch)
tree4d3106482029c47b4c86d6314698955cbca4bbf0 /runtime/lua/vim/_extui/shared.lua
parent5e83d0f5ad4a3214d26e15eaecf675f55412ca18 (diff)
fix(extui): properly setup "more" window for changed buffer
Problem: Buffer setup after moving the message buffer to the "more" window after ff95d7ff is incomplete. Solution: Adjust and invoke tab_check_wins() to do the setup instead.
Diffstat (limited to 'runtime/lua/vim/_extui/shared.lua')
-rw-r--r--runtime/lua/vim/_extui/shared.lua14
1 files changed, 8 insertions, 6 deletions
diff --git a/runtime/lua/vim/_extui/shared.lua b/runtime/lua/vim/_extui/shared.lua
index 31a4f2dd52..03c4cc42da 100644
--- a/runtime/lua/vim/_extui/shared.lua
+++ b/runtime/lua/vim/_extui/shared.lua
@@ -39,20 +39,16 @@ function M.tab_check_wins()
end
for _, type in ipairs({ 'box', 'cmd', 'more', 'prompt' }) do
- if not api.nvim_buf_is_valid(M.bufs[type]) then
+ local setopt = not api.nvim_buf_is_valid(M.bufs[type])
+ if setopt then
M.bufs[type] = api.nvim_create_buf(false, true)
- api.nvim_buf_set_name(M.bufs[type], 'vim._extui.' .. type)
if type == 'cmd' then
-- Attach highlighter to the cmdline buffer.
local parser = assert(vim.treesitter.get_parser(M.bufs.cmd, 'vim', {}))
M.cmd.highlighter = vim.treesitter.highlighter.new(parser)
- elseif type == 'more' then
- -- Close more window with `q`, same as `checkhealth`
- api.nvim_buf_set_keymap(M.bufs.more, 'n', 'q', '<Cmd>wincmd c<CR>', {})
end
end
- local setopt = false
if
not api.nvim_win_is_valid(M.wins[M.tab][type])
or not api.nvim_win_get_config(M.wins[M.tab][type]).zindex -- no longer floating
@@ -81,6 +77,12 @@ function M.tab_check_wins()
end
if setopt then
+ api.nvim_buf_set_name(M.bufs[type], 'vim._extui.' .. type)
+ if type == 'more' then
+ -- Close more window with `q`, same as `checkhealth`
+ api.nvim_buf_set_keymap(M.bufs.more, 'n', 'q', '<Cmd>wincmd c<CR>', {})
+ end
+
-- Fire a FileType autocommand with window context to let the user reconfigure local options.
api.nvim_win_call(M.wins[M.tab][type], function()
api.nvim_set_option_value('wrap', true, { scope = 'local' })