From c56c492218ea94549b195fd3c48b760443bf0090 Mon Sep 17 00:00:00 2001 From: Akianonymus Date: Mon, 22 Aug 2022 12:16:16 +0530 Subject: [PATCH] feat(win): Automatically resize windows if screen change is detected add a buffer local autocmd which will trigger the redraw() function --- lua/fzf-lua/win.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lua/fzf-lua/win.lua b/lua/fzf-lua/win.lua index 980b3cd..dc79e8c 100644 --- a/lua/fzf-lua/win.lua +++ b/lua/fzf-lua/win.lua @@ -694,6 +694,12 @@ function FzfWin:redraw_main() end end +function FzfWin:set_redraw_autocmd() + vim.cmd("augroup FzfLua") + vim.cmd('au VimResized lua require("fzf-lua").redraw()') + vim.cmd("augroup END") +end + function FzfWin:set_winleave_autocmd() vim.cmd("augroup FzfLua") vim.cmd("au!") @@ -707,6 +713,8 @@ function FzfWin:set_tmp_buffer() local tmp_buf = api.nvim_create_buf(false, true) vim.api.nvim_win_set_buf(self.fzf_winid, tmp_buf) self:set_winleave_autocmd() + -- automatically resize fzf window + self:set_redraw_autocmd() -- closing the buffer here causes the win to close -- shouldn't happen since the win is already associated -- with tmp_buf... use this table instead @@ -776,6 +784,8 @@ function FzfWin:create() -- should also close issue #105 -- https://github.com/ibhagwan/fzf-lua/issues/105 self:set_winleave_autocmd() + -- automatically resize fzf window + self:set_redraw_autocmd() self:reset_win_highlights(self.fzf_winid)