From d96d89711ca4a9534a7edb53b29eff4fd4ab1861 Mon Sep 17 00:00:00 2001 From: TJ DeVries Date: Fri, 11 Sep 2020 14:36:57 -0400 Subject: [PATCH] feat: add a bit better writer support --- lua/telescope/finders.lua | 11 ++++++++++- lua/tests/manual/newline_tables.lua | 12 +++--------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/lua/telescope/finders.lua b/lua/telescope/finders.lua index 07a013c..9720895 100644 --- a/lua/telescope/finders.lua +++ b/lua/telescope/finders.lua @@ -53,6 +53,7 @@ function JobFinder:new(opts) state = {}, cwd = opts.cwd, + writer = opts.writer, -- Maximum number of results to process. -- Particularly useful for live updating large queries. @@ -114,6 +115,14 @@ function JobFinder:_find(prompt, process_result, process_complete) local opts = self:fn_command(prompt) if not opts then return end + local writer = nil + if opts.writer and Job.is_job(opts.writer) then + print("WOW A JOB") + writer = opts.writer + elseif opts.writer then + writer = Job:new(opts.writer) + end + self.job = Job:new { command = opts.command, args = opts.args, @@ -121,7 +130,7 @@ function JobFinder:_find(prompt, process_result, process_complete) maximum_results = self.maximum_results, - writer = opts.writer and Job:new(opts.writer) or nil, + writer = writer, on_stdout = on_output, on_stderr = on_output, diff --git a/lua/tests/manual/newline_tables.lua b/lua/tests/manual/newline_tables.lua index 26d2b89..314d49d 100644 --- a/lua/tests/manual/newline_tables.lua +++ b/lua/tests/manual/newline_tables.lua @@ -4,18 +4,12 @@ local finders = require('telescope.finders') local pickers = require('telescope.pickers') local sorters = require('telescope.sorters') +local my_list = {'a', 'b', 'c'} pickers.new({ prompt = 'Telescope Builtin', finder = finders.new_table { - results = {"hello\nworld", "other", "item"}, - entry_maker = false and function(line) - return { - value = line, - ordinal = line, - display = "wow: // " .. line, - } - end, + results = my_list, }, - sorter = sorters.get_norcalli_sorter(), + sorter = sorters.get_generic_fuzzy_sorter(), }):find()