summaryrefslogtreecommitdiff
path: root/lua/tests/manual/slow_oneshot.lua
diff options
context:
space:
mode:
authorTJ DeVries <devries.timothyj@gmail.com>2020-09-29 22:52:38 -0400
committerGitHub <noreply@github.com>2020-09-29 22:52:38 -0400
commitae7fd0d27a72fa3088e84992eb5040853164dad6 (patch)
tree8b2ecd59ffee6c00fa8fee5f2b570edee5da8724 /lua/tests/manual/slow_oneshot.lua
parent2ce23696de096733e32135b2f9698a9cca6fdcd4 (diff)
feat: Add status, better debug, and some associated refactors
* [WIP]: Mon 28 Sep 2020 01:08:24 PM EDT * add much much better tracking. so much less hax * status updates, oneshot job updates, etc. * remove temp function * add status function * asdfasdfasdf
Diffstat (limited to 'lua/tests/manual/slow_oneshot.lua')
-rw-r--r--lua/tests/manual/slow_oneshot.lua71
1 files changed, 71 insertions, 0 deletions
diff --git a/lua/tests/manual/slow_oneshot.lua b/lua/tests/manual/slow_oneshot.lua
new file mode 100644
index 0000000..f97c098
--- /dev/null
+++ b/lua/tests/manual/slow_oneshot.lua
@@ -0,0 +1,71 @@
+RELOAD('telescope')
+
+local actions = require('telescope.actions')
+local finders = require('telescope.finders')
+local make_entry = require('telescope.make_entry')
+local previewers = require('telescope.previewers')
+local pickers = require('telescope.pickers')
+local sorters = require('telescope.sorters')
+local utils = require('telescope.utils')
+
+local slow_proc = function(opts)
+ opts = opts or {}
+
+ if opts.cwd then
+ opts.cwd = vim.fn.expand(opts.cwd)
+ end
+
+ opts.entry_maker = opts.entry_maker or make_entry.gen_from_file(opts)
+
+ local p = pickers.new(opts, {
+ prompt = 'Slow Proc',
+ finder = finders.new_oneshot_job(
+ {"./scratch/slow_proc.sh"},
+ opts
+ ),
+ previewer = previewers.cat.new(opts),
+ sorter = sorters.get_fuzzy_file(),
+
+ track = true,
+ })
+
+ local count = 0
+ p:register_completion_callback(function(s)
+ print(count, vim.inspect(s.stats, {
+ process = function(item)
+ if type(item) == 'string' and item:sub(1, 1) == '_' then
+ return nil
+ end
+
+ return item
+ end,
+ }))
+
+ count = count + 1
+ end)
+
+ local feed = function(text)
+ vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(text, true, false, true), 'n', true)
+ end
+
+ if false then
+ p:register_completion_callback(coroutine.wrap(function()
+ local input = "pickers.lua"
+ for i = 1, #input do
+ feed(input:sub(i, i))
+ coroutine.yield()
+ end
+
+ vim.wait(300, function() end)
+
+ vim.cmd [[:q]]
+ vim.cmd [[:Messages]]
+ vim.cmd [[stopinsert]]
+ end))
+ end
+
+
+ p:find()
+end
+
+slow_proc()