summaryrefslogtreecommitdiff
path: root/lua/telescope/builtin.lua
diff options
context:
space:
mode:
authorTJ DeVries <devries.timothyj@gmail.com>2020-09-01 22:27:50 -0400
committerTJ DeVries <devries.timothyj@gmail.com>2020-09-01 22:27:50 -0400
commit39096492aba5e2fe8a8c0bc11a040a90bb95280b (patch)
tree0bd503bbf045d6057c40b9c6484873cfc785eea4 /lua/telescope/builtin.lua
parentc11a6613625008c7d45702301cdf404873674c58 (diff)
feat/hack: Add builtin.builtin
Diffstat (limited to 'lua/telescope/builtin.lua')
-rw-r--r--lua/telescope/builtin.lua32
1 files changed, 31 insertions, 1 deletions
diff --git a/lua/telescope/builtin.lua b/lua/telescope/builtin.lua
index f6b665e..2c59b14 100644
--- a/lua/telescope/builtin.lua
+++ b/lua/telescope/builtin.lua
@@ -152,7 +152,7 @@ builtin.oldfiles = function(opts)
finder = finders.new_table(vim.tbl_filter(function(val)
return 0 ~= vim.fn.filereadable(val)
end, vim.v.oldfiles)),
- sorter = sorters.get_norcalli_sorter(),
+ sorter = sorters.get_fuzzy_file(),
previewer = previewers.cat,
}):find()
end
@@ -178,4 +178,34 @@ builtin.command_history = function(opts)
}):find()
end
+-- TODO: What the heck should we do for accepting this.
+-- vim.fn.setreg("+", "nnoremap $TODO :lua require('telescope.builtin').<whatever>()<CR>")
+-- TODO: Can we just do the names instead?
+builtin.builtin = function(opts)
+ local objs = {}
+
+ for k, v in pairs(builtin) do
+ local debug_info = debug.getinfo(v)
+
+ table.insert(objs, {
+ vimgrep_str = k,
+ filename = string.sub(debug_info.source, 2),
+ lnum = debug_info.linedefined,
+ col = 0,
+
+ start = debug_info.linedefined,
+ finish = debug_info.lastlinedefined,
+ })
+ end
+
+ local entries = utils.quickfix_items_to_entries(objs)
+
+ pickers.new(opts, {
+ prompt = 'Telescope Builtin',
+ finder = finders.new_table(entries),
+ previewer = previewers.qflist,
+ sorter = sorters.get_norcalli_sorter(),
+ }):find()
+end
+
return builtin