Skip to content

Commit 55fa028

Browse files
Iraq JaberIraq Jaber
authored andcommitted
simplified; if windown open, go to most reccently used, if not open in main window
1 parent 523269b commit 55fa028

File tree

1 file changed

+6
-31
lines changed

1 file changed

+6
-31
lines changed

lua/bqf/qfwin/handler.lua

Lines changed: 6 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -243,46 +243,22 @@ function M.open(close, jumpCmd, qwinid, idx)
243243
end
244244
cmd(('%s %s'):format(jumpCmd, fname))
245245
else
246-
local winnr
247246
local winid
248-
local tabnr
249-
local current_tabnr = vim.api.nvim_win_get_tabpage(vim.api.nvim_get_current_win())
250-
local current_tab = false
247+
local lastused
251248

252249
local bufInfos = fn.getbufinfo(bufnr)
253250
for key, buffinfo in pairs(bufInfos) do
254251
for i = 1, #buffinfo.windows do
255252
local wininfo = vim.fn.getwininfo(windows[i])[1]
256253

257-
local tabnr_ = wininfo.tabnr
258-
259-
if tabnr and tabnr_ > tabnr then
260-
do break end
261-
end
262-
263-
local winnr_ = wininfo.winnr
254+
local lastused_ = wininfo.lastused
264255
local winid_ = wininfo.winid
265256

266-
if not (winid) then
267-
winnr = winnr_
268-
winid = winid_
269-
tabnr = tabnr_
270-
elseif tabnr_ == current_tabnr then
271-
if current_tab == false or winnr_ < winnr then
272-
winnr = winnr_
273-
if winnr == 1 then
274-
goto finish
275-
end
276-
winid = winid_
277-
tabnr = tabnr_
278-
current_tab = true
279-
end
280-
elseif tabnr_ < tabnr then
281-
winnr = winnr_
257+
if not lastused then
258+
lastused = lastused_
282259
winid = winid_
283-
tabnr = tabnr_
284-
elseif winnr_ < winnr then
285-
winnr = winnr_
260+
elseif lastused_ < lastused then
261+
lastused = lastused_
286262
winid = winid_
287263
end
288264
end
@@ -292,7 +268,6 @@ function M.open(close, jumpCmd, qwinid, idx)
292268
local bufnr = vim.fn.winbufnr(1)
293269
winid = vim.fn.bufwinid(bufnr)
294270
end
295-
:: finish ::
296271
vim.api.nvim_set_current_win(winid)
297272
api.nvim_set_current_buf(bufnr)
298273
end

0 commit comments

Comments
 (0)