diff options
| author | Luuk van Baal <luukvbaal@gmail.com> | 2025-06-02 13:05:54 +0200 |
|---|---|---|
| committer | luukvbaal <luukvbaal@gmail.com> | 2025-06-02 16:32:48 +0200 |
| commit | 33b0a004eb20fd5a0013b832414596190c059828 (patch) | |
| tree | 4d3106482029c47b4c86d6314698955cbca4bbf0 /runtime/lua/vim/_extui/shared.lua | |
| parent | 5e83d0f5ad4a3214d26e15eaecf675f55412ca18 (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.lua | 14 |
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' }) |
