1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-02-03 12:50:03 +08:00
SpaceVim/bundle/telescope.nvim/lua/telescope/from_entry.lua

41 lines
950 B
Lua
Raw Normal View History

2022-05-16 22:20:10 +08:00
--[[ =============================================================================
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, escape)
escape = vim.F.if_nil(escape, true)
local path
if escape then
path = entry.path and vim.fn.fnameescape(entry.path) or nil
else
path = entry.path
end
if path == nil then
path = entry.filename
end
if path == nil then
path = entry.value
end
if path == nil then
require("telescope.log").error(string.format("Invalid Entry: '%s'", vim.inspect(entry)))
return
end
if validate and not vim.fn.filereadable(path) then
return
end
return path
end
return from_entry