summaryrefslogtreecommitdiff
path: root/lua/telescope/make_entry.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/telescope/make_entry.lua')
-rw-r--r--lua/telescope/make_entry.lua24
1 files changed, 24 insertions, 0 deletions
diff --git a/lua/telescope/make_entry.lua b/lua/telescope/make_entry.lua
index c62df79..8c598cd 100644
--- a/lua/telescope/make_entry.lua
+++ b/lua/telescope/make_entry.lua
@@ -331,4 +331,28 @@ function make_entry.gen_from_tagfile(opts)
end
end
+function make_entry.gen_from_packages(opts)
+ opts = opts or {}
+
+ local make_display = function(module_name)
+ local path = package.searchpath(module_name, package.path) or ""
+ local display = string.format("%-" .. opts.column_len .. "s : %s", module_name, vim.fn.fnamemodify(path, ":~:."))
+
+ return display
+ end
+
+ return function(module_name)
+ local entry = {
+ valid = module_name ~= "",
+ entry_type = make_entry.types.GENERIC,
+
+ value = module_name,
+ ordinal = module_name,
+ }
+ entry.display = make_display(module_name)
+
+ return entry
+ end
+end
+
return make_entry