[neovim] Use vim.loop to read custom files

This commit is contained in:
Daniel Carrillo 2023-10-01 17:38:01 +02:00
parent f28515a1d3
commit 47b946d65a
Signed by: dcarrillo
GPG Key ID: E4CD5C09DAED6E16
1 changed files with 24 additions and 6 deletions

View File

@ -19,14 +19,32 @@ local lazy_opts = {
},
}
local projects = function ()
local file = io.open(os.getenv("HOME") .. "/.config/nvim/neovim-projects.json", "rb")
if not file then return {} end
local uv = vim.loop
local function readFile(path)
local fd = uv.fs_open(path, "r", 438)
if fd == nil then
return nil
end
local stat = uv.fs_fstat(fd)
if fd == nil then
return nil
end
local data = uv.fs_read(fd, stat.size, 0)
if data == nil then
return nil
end
assert(uv.fs_close(fd))
local jsonString = file:read "*a"
file:close()
return data
end
return vim.json.decode(jsonString)
local projects = function()
local data = readFile(os.getenv("HOME") .. "/.config/nvim/neovim-projects.json")
if data then
return vim.json.decode(data)
else
return {}
end
end
require("lazy").setup({