-- 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