Skip to content

Commit d3b8087

Browse files
committed
refactor(bracketed): don't check for readable file in oldfile tracking
Resolve #1321
1 parent 9e603a3 commit d3b8087

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

lua/mini/bracketed.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1748,7 +1748,7 @@ H.oldfile_ensure_initialized = function()
17481748
local n = #vim.v.oldfiles
17491749
local recency = {}
17501750
for i, path in ipairs(vim.v.oldfiles) do
1751-
if vim.fn.filereadable(path) == 1 then recency[path] = n - i + 1 end
1751+
recency[path] = n - i + 1
17521752
end
17531753

17541754
H.cache.oldfile = { recency = recency, max_recency = n, is_advancing = false }

tests/test_bracketed.lua

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2017,6 +2017,19 @@ T['oldfile()']['is initialized with `v:oldfiles`'] = function()
20172017
child.o.shadafile = 'NONE'
20182018
end
20192019

2020+
T['oldfile()']['traverses only readable files'] = function()
2021+
child.lua([[
2022+
vim.fn.filereadable = function(path) return vim.endswith(path, 'file-a') and 0 or 1 end
2023+
]])
2024+
setup_oldfile()
2025+
2026+
child.cmd('enew')
2027+
2028+
child.lua('MiniBracketed.oldfile("forward")')
2029+
-- Choose next file after the (first) 'file-a' as it is nor readable
2030+
validate_test_file('file-e')
2031+
end
2032+
20202033
T['oldfile()']['validates `direction`'] = function()
20212034
expect.error(function() child.lua('MiniBracketed.oldfile(1)') end, 'oldfile%(%).*direction.*one of')
20222035
expect.error(function() child.lua([[MiniBracketed.oldfile('next')]]) end, 'oldfile%(%).*direction.*one of')

0 commit comments

Comments
 (0)