fix(pickers): sorting_strategy=asc stale result clearing (#3298)

With `sorting_strategy='ascending'`, the results buffer should never
have lines beyond the `max_results` count OR the number of available
results, whichever is smaller.

closes #3282
This commit is contained in:
James Trew
2024-09-23 02:02:08 +00:00
committed by GitHub
parent 2ffcfc0d93
commit b324469959
3 changed files with 64 additions and 9 deletions

View File

@@ -0,0 +1,46 @@
if vim.fn.has "mac" == 1 or require("telescope.utils").iswin then
return
end
local tester = require "telescope.testharness"
local disp = function(val)
return vim.inspect(val, { newline = " ", indent = "" })
end
describe("builtin.live_grep", function()
for _, configuration in ipairs {
{ sorting_strategy = "descending" },
{ sorting_strategy = "ascending" },
} do
it("clears results correctly when " .. disp(configuration), function()
tester.run_string(string.format(
[[
runner.picker(
"live_grep",
"abcd<esc>G",
{
post_typed = {
{
5,
function()
return #vim.tbl_filter(function(line)
return line ~= ""
end, GetResults())
end,
},
},
},
vim.tbl_extend("force", {
sorter = require("telescope.sorters").get_fzy_sorter(),
layout_strategy = "center",
cwd = "./lua/tests/fixtures/live_grep",
temp__scrolling_limit = 5,
}, vim.json.decode [==[%s]==])
)
]],
vim.json.encode(configuration)
))
end)
end
end)

14
lua/tests/fixtures/live_grep/a.txt vendored Normal file
View File

@@ -0,0 +1,14 @@
abc
abc
abc
abc
abc
abcd
abcd
abcd
abcd
abcd
abcde