Skip to content

Commit 160e32d

Browse files
phanenibhagwan
authored andcommitted
fix: nvim_open_win from ctx win
1 parent 89ff123 commit 160e32d

3 files changed

Lines changed: 16 additions & 8 deletions

File tree

lua/fzf-lua/previewer/builtin.lua

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,10 +94,12 @@ function TSContext.update(winid, bufnr, opts)
9494
else
9595
assert(context_lines)
9696
local function open()
97-
if vim.api.nvim_buf_is_valid(bufnr) and vim.api.nvim_win_is_valid(winid) then
98-
require("treesitter-context.render").open(bufnr, winid, context_ranges, context_lines)
99-
TSContext._winids[tostring(winid)] = bufnr
100-
end
97+
api.nvim_win_call(utils.CTX().winid, function()
98+
if vim.api.nvim_buf_is_valid(bufnr) and vim.api.nvim_win_is_valid(winid) then
99+
require("treesitter-context.render").open(bufnr, winid, context_ranges, context_lines)
100+
TSContext._winids[tostring(winid)] = bufnr
101+
end
102+
end)
101103
end
102104
-- NOTE: no longer required since adding `eventignore` to `FzfWin:set_winopts`
103105
-- if TSContext.is_attached(winid) == bufnr then

lua/fzf-lua/utils.lua

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1058,6 +1058,12 @@ function M.nvim_open_win(bufnr, enter, config)
10581058
return winid
10591059
end
10601060

1061+
function M.nvim_open_win0(bufnr, enter, config)
1062+
return vim.api.nvim_win_call(M.CTX().winid, function()
1063+
return vim.api.nvim_open_win(bufnr, enter, config)
1064+
end)
1065+
end
1066+
10611067
-- Close a window without triggering an autocmd
10621068
function M.nvim_win_close(win, opts)
10631069
local save_ei = vim.o.eventignore

lua/fzf-lua/win.lua

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -580,7 +580,7 @@ function FzfWin:set_backdrop()
580580

581581
-- Code from lazy.nvim (#1344)
582582
self.backdrop_buf = vim.api.nvim_create_buf(false, true)
583-
self.backdrop_win = vim.api.nvim_open_win(self.backdrop_buf, false, {
583+
self.backdrop_win = utils.nvim_open_win0(self.backdrop_buf, false, {
584584
relative = "editor",
585585
width = vim.o.columns,
586586
height = vim.o.lines,
@@ -590,7 +590,7 @@ function FzfWin:set_backdrop()
590590
focusable = false,
591591
-- -2 as preview border is -1
592592
zindex = self.winopts.zindex - 2,
593-
border = 'none',
593+
border = "none",
594594
})
595595
utils.wo(self.backdrop_win, "winhighlight", "Normal:" .. self.hls.backdrop)
596596
utils.wo(self.backdrop_win, "winblend", self.winopts.backdrop)
@@ -1312,7 +1312,7 @@ function FzfWin:update_preview_scrollbar()
13121312
else
13131313
empty.noautocmd = true
13141314
self._sbuf1 = ensure_tmp_buf(self._sbuf1)
1315-
self._swin1 = vim.api.nvim_open_win(self._sbuf1, false, empty)
1315+
self._swin1 = utils.nvim_open_win0(self._sbuf1, false, empty)
13161316
local hl = self.hls.scrollfloat_e or "PmenuSbar"
13171317
vim.wo[self._swin1].winhighlight =
13181318
("Normal:%s,NormalNC:%s,NormalFloat:%s,EndOfBuffer:%s"):format(hl, hl, hl, hl)
@@ -1323,7 +1323,7 @@ function FzfWin:update_preview_scrollbar()
13231323
else
13241324
full.noautocmd = true
13251325
self._sbuf2 = ensure_tmp_buf(self._sbuf2)
1326-
self._swin2 = vim.api.nvim_open_win(self._sbuf2, false, full)
1326+
self._swin2 = utils.nvim_open_win0(self._sbuf2, false, full)
13271327
local hl = self.hls.scrollfloat_f or "PmenuThumb"
13281328
vim.wo[self._swin2].winhighlight =
13291329
("Normal:%s,NormalNC:%s,NormalFloat:%s,EndOfBuffer:%s"):format(hl, hl, hl, hl)

0 commit comments

Comments
 (0)