neoconf.nvim/lua/neoconf/build/init.lua

38 lines
980 B
Lua

local util = require("neoconf.util")
local M = {}
function M.docs()
local schemas = require("neoconf.build.schemas").get_schemas()
local keys = vim.tbl_keys(schemas)
table.sort(keys)
local lines = {}
for _, name in ipairs(keys) do
local schema = schemas[name]
local url = schema.package_url
if url:find("githubusercontent") then
url = url
:gsub("raw%.githubusercontent", "github")
:gsub("/master/", "/tree/master/", 1)
:gsub("/develop/", "/tree/develop/", 1)
:gsub("/main/", "/tree/main/", 1)
end
table.insert(lines, ("- [x] [%s](%s)"):format(name, url))
end
local str = "<!-- GENERATED -->\n" .. table.concat(lines, "\n")
local md = util.read_file("README.md")
md = md:gsub("<!%-%- GENERATED %-%->.*", str) .. "\n"
util.write_file("README.md", md)
end
function M.build()
require("neoconf.build.schemas").build()
require("neoconf.build.annotations").build()
M.docs()
end
M.build()
return M