71 lines
1.6 KiB
Lua
71 lines
1.6 KiB
Lua
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()
|