From 0351d354e292d3016522081e8bca48215fba1341 Mon Sep 17 00:00:00 2001 From: Michael Lingelbach Date: Fri, 19 Mar 2021 21:50:32 -0700 Subject: docgen: when no description provided fallback to reading function from source --- scripts/docgen.lua | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'scripts/docgen.lua') 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) -- cgit v1.2.3-70-g09d2