diff --git a/lua/telescope/builtin/__internal.lua b/lua/telescope/builtin/__internal.lua index 3960c7bc80..c25ebc734a 100644 --- a/lua/telescope/builtin/__internal.lua +++ b/lua/telescope/builtin/__internal.lua @@ -532,12 +532,19 @@ internal.oldfiles = function(opts) local current_file = vim.api.nvim_buf_get_name(current_buffer) local results = {} + if utils.iswin then -- for slash problem in windows + current_file = current_file:gsub("/", "\\") + end + if opts.include_current_session then for _, buffer in ipairs(utils.split_lines(vim.fn.execute ":buffers! t")) do local match = tonumber(string.match(buffer, "%s*(%d+)")) local open_by_lsp = string.match(buffer, "line 0$") if match and not open_by_lsp then local file = vim.api.nvim_buf_get_name(match) + if utils.iswin then + file = file:gsub("/", "\\") + end if vim.loop.fs_stat(file) and match ~= current_buffer then table.insert(results, file) end @@ -546,6 +553,9 @@ internal.oldfiles = function(opts) end for _, file in ipairs(vim.v.oldfiles) do + if utils.iswin then + file = file:gsub("/", "\\") + end local file_stat = vim.loop.fs_stat(file) if file_stat and file_stat.type == "file" and not vim.tbl_contains(results, file) and file ~= current_file then table.insert(results, file)