@@ -331,9 +331,9 @@ local function open_in_new_window(filename, mode)
331
331
332
332
local fname
333
333
if M .relative_path then
334
- fname = utils . escape_special_chars ( vim .fn .fnameescape (utils .path_relative (filename , vim .fn .getcwd () )))
334
+ fname = vim .fn .fnameescape (utils .path_relative (filename , vim .fn .getcwd ()))
335
335
else
336
- fname = utils . escape_special_chars ( vim .fn .fnameescape (filename ) )
336
+ fname = vim .fn .fnameescape (filename )
337
337
end
338
338
339
339
local command
@@ -370,35 +370,41 @@ end
370
370
--- @param mode string
371
371
--- @param filename string
372
372
function M .fn (mode , filename )
373
+ local fname
374
+ if utils .is_windows then
375
+ fname = filename
376
+ else
377
+ fname = utils .escape_special_chars (filename )
378
+ end
373
379
if type (mode ) ~= " string" then
374
380
mode = " "
375
381
end
376
382
377
383
if mode == " tabnew" then
378
- return open_file_in_tab (filename )
384
+ return open_file_in_tab (fname )
379
385
end
380
386
381
387
if mode == " drop" then
382
- return drop (filename )
388
+ return drop (fname )
383
389
end
384
390
385
391
if mode == " tab_drop" then
386
- return tab_drop (filename )
392
+ return tab_drop (fname )
387
393
end
388
394
389
395
if mode == " edit_in_place" then
390
- return edit_in_current_buf (filename )
396
+ return edit_in_current_buf (fname )
391
397
end
392
398
393
- local buf_loaded = is_already_loaded (filename )
399
+ local buf_loaded = is_already_loaded (fname )
394
400
395
401
local found_win = utils .get_win_buf_from_path (filename )
396
402
if found_win and (mode == " preview" or mode == " preview_no_picker" ) then
397
403
return
398
404
end
399
405
400
406
if not found_win then
401
- open_in_new_window (filename , mode )
407
+ open_in_new_window (fname , mode )
402
408
else
403
409
vim .api .nvim_set_current_win (found_win )
404
410
vim .bo .bufhidden = " "
0 commit comments