@@ -425,14 +425,20 @@ local function jump_to_location(bufnr, line, column, switchbuf, filetype)
425
425
set_cursor (cur_win , line , column )
426
426
else
427
427
local win = vim .fn .win_getid (vim .fn .winnr (' #' ))
428
- api .nvim_win_set_buf (win , bufnr )
429
- set_cursor (win , line , column )
428
+ if win then
429
+ api .nvim_win_set_buf (win , bufnr )
430
+ set_cursor (win , line , column )
431
+ end
430
432
end
431
433
return true
432
434
end
433
435
434
436
function switchbuf_fn .useopen ()
435
- for _ , win in pairs (api .nvim_tabpage_list_wins (0 )) do
437
+ if api .nvim_win_get_buf (cur_win ) == bufnr then
438
+ set_cursor (cur_win , line , column )
439
+ return true
440
+ end
441
+ for _ , win in ipairs (api .nvim_tabpage_list_wins (0 )) do
436
442
if api .nvim_win_get_buf (win ) == bufnr then
437
443
set_cursor (win , line , column )
438
444
return true
@@ -442,10 +448,14 @@ local function jump_to_location(bufnr, line, column, switchbuf, filetype)
442
448
end
443
449
444
450
function switchbuf_fn .usetab ()
451
+ if api .nvim_win_get_buf (cur_win ) == bufnr then
452
+ set_cursor (cur_win , line , column )
453
+ return true
454
+ end
445
455
local tabs = {0 ,}
446
456
vim .list_extend (tabs , api .nvim_list_tabpages ())
447
- for _ , tabpage in pairs (tabs ) do
448
- for _ , win in pairs (api .nvim_tabpage_list_wins (tabpage )) do
457
+ for _ , tabpage in ipairs (tabs ) do
458
+ for _ , win in ipairs (api .nvim_tabpage_list_wins (tabpage )) do
449
459
if api .nvim_win_get_buf (win ) == bufnr then
450
460
api .nvim_set_current_tabpage (tabpage )
451
461
set_cursor (win , line , column )
0 commit comments