aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/docgen.lua
diff options
context:
space:
mode:
authorAshkan Kiani <ashkan.k.kiani@gmail.com>2019-11-17 09:58:52 -0800
committerGitHub <noreply@github.com>2019-11-17 09:58:52 -0800
commitac3df47ffd418b0f3aec49612d9862364820ed8d (patch)
treebc3e3a0a688b6a36b7ccd462395db7c86e8af2ea /scripts/docgen.lua
parent[docgen] Update README.md (diff)
downloadnvim-lspconfig-ac3df47ffd418b0f3aec49612d9862364820ed8d.tar
nvim-lspconfig-ac3df47ffd418b0f3aec49612d9862364820ed8d.tar.gz
nvim-lspconfig-ac3df47ffd418b0f3aec49612d9862364820ed8d.tar.bz2
nvim-lspconfig-ac3df47ffd418b0f3aec49612d9862364820ed8d.tar.lz
nvim-lspconfig-ac3df47ffd418b0f3aec49612d9862364820ed8d.tar.xz
nvim-lspconfig-ac3df47ffd418b0f3aec49612d9862364820ed8d.tar.zst
nvim-lspconfig-ac3df47ffd418b0f3aec49612d9862364820ed8d.zip
Use a template for README.md (#28)
Diffstat (limited to 'scripts/docgen.lua')
-rw-r--r--scripts/docgen.lua40
1 files changed, 21 insertions, 19 deletions
diff --git a/scripts/docgen.lua b/scripts/docgen.lua
index e33e88d0..a430e70b 100644
--- a/scripts/docgen.lua
+++ b/scripts/docgen.lua
@@ -53,7 +53,7 @@ local skeleton_keys = vim.tbl_keys(skeleton)
table.sort(skeleton_keys)
local function make_lsp_sections()
- return map_list(skeleton_keys, function(k)
+ local sections = map_list(skeleton_keys, function(k)
local v = skeleton[k]
local tconf = v.template_config
@@ -123,30 +123,32 @@ nvim_lsp#setup("{{template_name}}", {config})
```
]], params)
end)
+ return table.concat(sections, '\n')
end
-local function make_readme_preamble()
- local data = io.open("README_preamble.md"):read("*a")
- local implemented_server_marker = "Implemented language servers:"
- return data:gsub(implemented_server_marker, function()
- local lines = vim.tbl_flatten {
- implemented_server_marker;
- map_list(skeleton_keys, function(k)
- return template("- [{{server}}](https://github.com/neovim/nvim-lsp#{{server}})", {server=k})
- end)
- }
- return table.concat(lines, '\n')
+local function make_implemented_servers_list()
+ local parts = map_list(skeleton_keys, function(k)
+ return template("- [{{server}}](https://github.com/neovim/nvim-lsp#{{server}})", {server=k})
end)
+ return table.concat(parts, '\n')
end
-local writer = io.open("README.md", "w")
+local function generate_readme(params)
+ vim.validate {
+ lsp_server_details = {params.lsp_server_details, 's'};
+ implemented_servers_list = {params.implemented_servers_list, 's'};
+ }
+ local input_template = io.open("scripts/README_template.md"):read("*a")
+ local readme_data = template(input_template, params)
-local parts = vim.tbl_flatten {
- make_readme_preamble();
- make_lsp_sections();
-}
+ local writer = io.open("README.md", "w")
+ writer:write(readme_data)
+ writer:close()
+end
-writer:write(table.concat(parts, '\n'))
-writer:close()
+generate_readme {
+ implemented_servers_list = make_implemented_servers_list();
+ lsp_server_details = make_lsp_sections();
+}
-- vim:et ts=2 sw=2