codeium.nvim/lua/codeium/versions.lua
2023-04-02 23:52:58 -04:00

34 lines
941 B
Lua

local nvim_version_info = vim.api.nvim_command_output("version")
local _, _, full_match = string.find(nvim_version_info, [[NVIM v(%d+.%d+.%d+[.-a-zA-Z0-9]*)]])
if not full_match then
local version = vim.version()
if version then
full_match = version.major .. "." .. version.minor .. "." .. version.patch
if version.prerelease then
full_match = full_match .. "-unknown-prerelease"
end
end
end
local function readfile(path)
if vim.fn.readfile then
return vim.fn.readfile(path)
else
return vim.api.nvim_eval('readfile("' .. path .. '")')
end
end
local path = debug.getinfo(1, "S").source:sub(2):match("(.*[/\\\\])")
local version_info = readfile(path .. "/versions.json")
local version_parsed = vim.fn.json_decode(version_info)
if not version_parsed then
error("unable to read version file from " .. path)
end
return {
nvim = full_match,
extension = version_parsed.version,
extension_stamp = version_parsed.stamp,
}