@@ -331,9 +331,9 @@ local function open_in_new_window(filename, mode)
331331
332332 local fname
333333 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 ()))
335335 else
336- fname = utils . escape_special_chars ( vim .fn .fnameescape (filename ) )
336+ fname = vim .fn .fnameescape (filename )
337337 end
338338
339339 local command
@@ -370,35 +370,41 @@ end
370370--- @param mode string
371371--- @param filename string
372372function 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
373379 if type (mode ) ~= " string" then
374380 mode = " "
375381 end
376382
377383 if mode == " tabnew" then
378- return open_file_in_tab (filename )
384+ return open_file_in_tab (fname )
379385 end
380386
381387 if mode == " drop" then
382- return drop (filename )
388+ return drop (fname )
383389 end
384390
385391 if mode == " tab_drop" then
386- return tab_drop (filename )
392+ return tab_drop (fname )
387393 end
388394
389395 if mode == " edit_in_place" then
390- return edit_in_current_buf (filename )
396+ return edit_in_current_buf (fname )
391397 end
392398
393- local buf_loaded = is_already_loaded (filename )
399+ local buf_loaded = is_already_loaded (fname )
394400
395401 local found_win = utils .get_win_buf_from_path (filename )
396402 if found_win and (mode == " preview" or mode == " preview_no_picker" ) then
397403 return
398404 end
399405
400406 if not found_win then
401- open_in_new_window (filename , mode )
407+ open_in_new_window (fname , mode )
402408 else
403409 vim .api .nvim_set_current_win (found_win )
404410 vim .bo .bufhidden = " "
0 commit comments