aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/docgen.lua
diff options
context:
space:
mode:
authorMichael Lingelbach <m.j.lbach@gmail.com>2021-03-19 21:54:51 -0700
committerGitHub <noreply@github.com>2021-03-19 21:54:51 -0700
commit1c3ac1319cc2f7c4523cf3f072460cbba2825c4d (patch)
tree739e2c1637a32f5621b588035064069ac21e01f6 /scripts/docgen.lua
parent[docgen] Update CONFIG.md (diff)
parentdocgen: when no description provided fallback to reading function from source (diff)
downloadnvim-lspconfig-1c3ac1319cc2f7c4523cf3f072460cbba2825c4d.tar
nvim-lspconfig-1c3ac1319cc2f7c4523cf3f072460cbba2825c4d.tar.gz
nvim-lspconfig-1c3ac1319cc2f7c4523cf3f072460cbba2825c4d.tar.bz2
nvim-lspconfig-1c3ac1319cc2f7c4523cf3f072460cbba2825c4d.tar.lz
nvim-lspconfig-1c3ac1319cc2f7c4523cf3f072460cbba2825c4d.tar.xz
nvim-lspconfig-1c3ac1319cc2f7c4523cf3f072460cbba2825c4d.tar.zst
nvim-lspconfig-1c3ac1319cc2f7c4523cf3f072460cbba2825c4d.zip
Merge pull request #785 from mjlbach/improve_docgen
Improve docgen
Diffstat (limited to 'scripts/docgen.lua')
-rw-r--r--scripts/docgen.lua17
1 files changed, 17 insertions, 0 deletions
diff --git a/scripts/docgen.lua b/scripts/docgen.lua
index 33f78130..42ae95cd 100644
--- a/scripts/docgen.lua
+++ b/scripts/docgen.lua
@@ -114,6 +114,23 @@ local function make_lsp_sections()
local description = ((docs or {}).default_config or {})[k]
if description and type(description) ~= 'string' then
description = inspect(description)
+ elseif not description and type(v) == "function" then
+ local info = debug.getinfo(v)
+ local file = io.open(string.sub(info.source, 2), 'r')
+
+ local fileContent = {}
+ for line in file:lines() do
+ table.insert (fileContent, line)
+ end
+ io.close(file)
+
+ local root_dir = {}
+ for i = info.linedefined, info.lastlinedefined do
+ table.insert(root_dir, fileContent[i])
+ end
+
+ description = table.concat(root_dir, '\n')
+ description = string.gsub(description, ".*function", "function")
end
return indent(2, string.format("%s = %s", k, description or inspect(v)))
end)