@@ -164,13 +164,13 @@ local function on_preview(buf_loaded)
164
164
view .focus ()
165
165
end
166
166
167
- local function get_target_winid (mode , win_ids )
167
+ local function get_target_winid (mode )
168
168
local target_winid
169
169
if not M .window_picker .enable or mode == " edit_no_picker" then
170
170
target_winid = lib .target_winid
171
171
172
172
-- first available window
173
- if not vim .tbl_contains (win_ids , target_winid ) then
173
+ if not vim .tbl_contains (vim . api . nvim_tabpage_list_wins ( 0 ) , target_winid ) then
174
174
target_winid = first_win_id ()
175
175
end
176
176
else
@@ -201,20 +201,21 @@ local function set_current_win_no_autocmd(winid, autocmd)
201
201
vim .opt .eventignore = eventignore
202
202
end
203
203
204
- local function open_in_new_window (filename , mode , win_ids )
204
+ local function open_in_new_window (filename , mode )
205
205
if type (mode ) ~= " string" then
206
206
mode = " "
207
207
end
208
208
209
- local target_winid = get_target_winid (mode , win_ids )
209
+ local target_winid = get_target_winid (mode )
210
210
if not target_winid then
211
211
return
212
212
end
213
213
214
- local create_new_window = # vim .api .nvim_list_wins () == 1
214
+ local win_ids = vim .api .nvim_list_wins ()
215
+ local create_new_window = # win_ids == 1 -- This implies that the nvim-tree window is the only one
215
216
local new_window_side = (view .View .side == " right" ) and " aboveleft" or " belowright"
216
217
217
- -- Target is invalid or window does not exist in current tabpage : create new window
218
+ -- Target is invalid: create new window
218
219
if not vim .tbl_contains (win_ids , target_winid ) then
219
220
vim .cmd (new_window_side .. " vsplit" )
220
221
target_winid = vim .api .nvim_get_current_win ()
@@ -287,8 +288,6 @@ function M.fn(mode, filename)
287
288
return edit_in_current_buf (filename )
288
289
end
289
290
290
- local tabpage = vim .api .nvim_get_current_tabpage ()
291
- local win_ids = vim .api .nvim_tabpage_list_wins (tabpage )
292
291
local buf_loaded = is_already_loaded (filename )
293
292
294
293
local found_win = utils .get_win_buf_from_path (filename )
@@ -297,7 +296,7 @@ function M.fn(mode, filename)
297
296
end
298
297
299
298
if not found_win then
300
- open_in_new_window (filename , mode , win_ids )
299
+ open_in_new_window (filename , mode )
301
300
else
302
301
vim .api .nvim_set_current_win (found_win )
303
302
vim .bo .bufhidden = " "
0 commit comments