feat: allow caching and resuming picker (#1051)

* expose `cache_picker` in telescope.setup to configure caching, see `:h telescope.defaults.cache_picker`
* add builtin.resume and builtin.pickers picker
This commit is contained in:
fdschmidt93
2021-09-01 18:17:18 +02:00
committed by GitHub
parent 67bc1dcdd6
commit 5d37c3ea08
11 changed files with 444 additions and 31 deletions

View File

@@ -215,4 +215,41 @@ function LinkedList:ipairs()
end
end
function LinkedList:truncate(max_results)
if max_results >= self.size then
return
end
local current_node
if max_results < self.size - max_results then
local index = 1
current_node = self.head
while index < max_results do
local node = current_node
if not node.next then
break
end
current_node = current_node.next
index = index + 1
end
self.size = max_results
else
current_node = self.tail
while self.size > max_results do
if current_node.prev == nil then
break
end
current_node = current_node.prev
self.size = self.size - 1
end
end
self.tail = current_node
self.tail.next = nil
if max_results < self.track_at then
self.track_at = max_results
self.tracked = current_node.item
self._tracked_node = current_node
end
end
return LinkedList