It is not 100% clear that we've gotten ALL the memory leaks, but it seems much much much better and doesn't look like it's going to die immediately or as often anymore :)
49 lines
1.3 KiB
Lua
49 lines
1.3 KiB
Lua
|
|
-- local actions = require('telescope.actions')
|
|
-- local utils = require('telescope.utils')
|
|
require('telescope')
|
|
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 log = require('telescope.log')
|
|
|
|
local real_opts = setmetatable({}, { __mode = 'v' })
|
|
local opts = setmetatable({}, {
|
|
__index = function(t, k) log.debug("accessing:", k); return real_opts[k] end,
|
|
__newindex = function(t, k, v) log.debug("setting:", k, v); real_opts[k] = v end
|
|
})
|
|
|
|
opts.entry_maker = opts.entry_maker or make_entry.gen_from_file()
|
|
if opts.cwd then
|
|
opts.cwd = vim.fn.expand(opts.cwd)
|
|
end
|
|
|
|
-- local get_finder_opts = function(opts)
|
|
-- local t = {}
|
|
-- t.entry_maker = table.pop(opts, 'entry_maker')
|
|
-- return t
|
|
-- end
|
|
|
|
-- local finder_opts = get_finder_opts(opts)
|
|
-- assert(not opts.entry_maker)
|
|
|
|
local picker_config = {
|
|
prompt = 'Git File',
|
|
finder = finders.new_oneshot_job(
|
|
{ "git", "ls-files", "-o", "--exclude-standard", "-c" }
|
|
, opts
|
|
),
|
|
-- previewer = previewers.cat.new(opts),
|
|
-- sorter = sorters.get_fuzzy_file(opts),
|
|
-- sorter = sorters.get_fuzzy_file(),
|
|
}
|
|
|
|
log.debug("Done with config")
|
|
|
|
local x = pickers.new(picker_config)
|
|
x:find()
|
|
x = nil
|