if entry.path is nil vim.fn.fnameescape will return null which results in all other option no longer be checked
27 lines
775 B
Lua
27 lines
775 B
Lua
--[[ =============================================================================
|
|
|
|
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 and vim.fn.fnameescape(entry.path) or nil
|
|
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
|