summaryrefslogtreecommitdiff
path: root/lua/tests/manual
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
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')
-rw-r--r--lua/tests/manual/auto_picker.lua80
-rw-r--r--lua/tests/manual/large_search.lua4
-rw-r--r--lua/tests/manual/slow_oneshot.lua71
3 files changed, 151 insertions, 4 deletions
diff --git a/lua/tests/manual/auto_picker.lua b/lua/tests/manual/auto_picker.lua
new file mode 100644
index 0000000..141eee4
--- /dev/null
+++ b/lua/tests/manual/auto_picker.lua
@@ -0,0 +1,80 @@
+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 find_files = function(opts)
+ opts = opts or {}
+
+ local find_command = opts.find_command
+
+ if not find_command then
+ if 1 == vim.fn.executable("fd") then
+ find_command = { 'fd', '--type', 'f' }
+ elseif 1 == vim.fn.executable("fdfind") then
+ find_command = { 'fdfind', '--type', 'f' }
+ elseif 1 == vim.fn.executable("rg") then
+ find_command = { 'rg', '--files' }
+ end
+ end
+
+ 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 = 'Find Files',
+ finder = finders.new_oneshot_job(
+ find_command,
+ 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
+
+ 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))
+
+ p:find()
+end
+
+find_files()
diff --git a/lua/tests/manual/large_search.lua b/lua/tests/manual/large_search.lua
index 3ad6b5a..eda5f16 100644
--- a/lua/tests/manual/large_search.lua
+++ b/lua/tests/manual/large_search.lua
@@ -7,9 +7,6 @@ local previewers = require('telescope.previewers')
local pickers = require('telescope.pickers')
local sorters = require('telescope.sorters')
-PERF_DEBUG = 182
-vim.api.nvim_buf_set_lines(PERF_DEBUG, 0, -1, false, {})
-
local cwd = vim.fn.expand("~/build/neovim")
pickers.new {
@@ -28,7 +25,6 @@ pickers.new {
}:find()
-COMPLETED = false
-- vim.wait(3000, function()
-- vim.cmd [[redraw!]]
-- return COMPLETED
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()