summaryrefslogtreecommitdiff
path: root/lua/telescope/from_entry.lua
blob: 412de8ef1dd467328a71f9648be72461fdb3470a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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 = vim.fn.fnameescape(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