summaryrefslogtreecommitdiff
path: root/lua/telescope/from_entry.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/telescope/from_entry.lua')
-rw-r--r--lua/telescope/from_entry.lua26
1 files changed, 26 insertions, 0 deletions
diff --git a/lua/telescope/from_entry.lua b/lua/telescope/from_entry.lua
new file mode 100644
index 0000000..f6b2a62
--- /dev/null
+++ b/lua/telescope/from_entry.lua
@@ -0,0 +1,26 @@
+--[[ =============================================================================
+
+Get metadata from entries.
+
+This file is still WIP, so expect some changes if you're trying to consume these APIs.
+
+This will provide standard mechanism for accessing information from an entry.
+
+--============================================================================= ]]
+
+local from_entry = {}
+
+function from_entry.path(entry, validate)
+ local path = entry.path
+ if path == nil then path = entry.filename end
+ if path == nil then path = entry.value end
+ if path == nil then print("Invalid entry", vim.inspect(entry)); return end
+
+ if validate and not vim.fn.filereadable(path) then
+ return
+ end
+
+ return path
+end
+
+return from_entry