summaryrefslogtreecommitdiff
path: root/lua/tests
diff options
context:
space:
mode:
authorTJ DeVries <devries.timothyj@gmail.com>2020-10-06 21:57:49 -0400
committerGitHub <noreply@github.com>2020-10-06 21:57:49 -0400
commitd32d4a6e0f0c571941f1fd37759ca1ebbdd5f488 (patch)
tree8cef3a32081bd0758d349a5d810d6f366def5f17 /lua/tests
parentcaf370cc378e7c606fd4f59c46533b0b0decbcea (diff)
fix: Reduce memory leaks (#148)
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 :)
Diffstat (limited to 'lua/tests')
-rw-r--r--lua/tests/manual/newline_tables.lua14
-rw-r--r--lua/tests/manual/reference_tracker.lua48
2 files changed, 59 insertions, 3 deletions
diff --git a/lua/tests/manual/newline_tables.lua b/lua/tests/manual/newline_tables.lua
index 314d49d..2212da9 100644
--- a/lua/tests/manual/newline_tables.lua
+++ b/lua/tests/manual/newline_tables.lua
@@ -1,15 +1,23 @@
-require('plenary.reload').reload_module('telescope')
+-- require('plenary.reload').reload_module('telescope')
local finders = require('telescope.finders')
local pickers = require('telescope.pickers')
local sorters = require('telescope.sorters')
+local previewers = require('telescope.previewers')
-local my_list = {'a', 'b', 'c'}
+local my_list = {
+ 'lua/telescope/WIP.lua',
+ 'lua/telescope/actions.lua',
+ 'lua/telescope/builtin.lua',
+}
-pickers.new({
+local opts = {}
+
+pickers.new(opts, {
prompt = 'Telescope Builtin',
finder = finders.new_table {
results = my_list,
},
sorter = sorters.get_generic_fuzzy_sorter(),
+ previewer = previewers.cat.new(opts),
}):find()
diff --git a/lua/tests/manual/reference_tracker.lua b/lua/tests/manual/reference_tracker.lua
new file mode 100644
index 0000000..dc90671
--- /dev/null
+++ b/lua/tests/manual/reference_tracker.lua
@@ -0,0 +1,48 @@
+
+-- 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