summaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
authorsmolck <46855713+smolck@users.noreply.github.com>2020-08-30 12:22:21 -0500
committerTJ DeVries <devries.timothyj@gmail.com>2020-08-31 16:47:28 -0400
commit21474b586cc015f01c13ca94bd010925172f32be (patch)
tree8701566165ded08e35f7d68a6f2dd889facca6ce /lua
parent2ba8d57d78ed4c31b684a32a395a23791c9116e9 (diff)
Add FZF builtin for searching vim.v.oldfiles
Diffstat (limited to 'lua')
-rw-r--r--lua/telescope/builtin.lua26
-rw-r--r--lua/telescope/finders.lua2
2 files changed, 28 insertions, 0 deletions
diff --git a/lua/telescope/builtin.lua b/lua/telescope/builtin.lua
index 6b6ee8e..33728b2 100644
--- a/lua/telescope/builtin.lua
+++ b/lua/telescope/builtin.lua
@@ -233,4 +233,30 @@ builtin.grep_string = function(opts)
}
end
+builtin.fzf_history = function()
+ local history_lines = table.concat(vim.v.oldfiles, '\n')
+
+ local fzf = finders.new {
+ maximum_results = 1000,
+ fn_command = function(self, prompt)
+ return {
+ command = 'fzf',
+ args = {'--no-sort', '--filter', prompt},
+
+ writer = {
+ command = 'echo',
+ args = {history_lines},
+ }
+ }
+ end
+ }
+
+ local file_picker = pickers.new { }
+
+ file_picker:find {
+ prompt = 'FZF History',
+ finder = fzf,
+ }
+end
+
return builtin
diff --git a/lua/telescope/finders.lua b/lua/telescope/finders.lua
index 7866c87..700d6d0 100644
--- a/lua/telescope/finders.lua
+++ b/lua/telescope/finders.lua
@@ -129,6 +129,8 @@ function Finder:_find(prompt, process_result, process_complete)
maximum_results = self.maximum_results,
+ writer = opts.writer and Job:new(opts.writer) or nil,
+
on_stdout = on_output,
on_stderr = on_output,