Module:Module introspection: Difference between revisions
mNo edit summary |
No edit summary |
||
| Line 128: | Line 128: | ||
-- Helper function | -- Helper function | ||
-- Given the output of the above function, create a mediawiki table | -- Given the output of the above function, create a mediawiki table | ||
function p.make_dependency_table( | function p.make_dependency_table(module_deps) | ||
local lines = {} | local lines = {} | ||
| Line 137: | Line 137: | ||
table.insert(lines, "! Functions used") | table.insert(lines, "! Functions used") | ||
for var, info in pairs( | for var, info in pairs(module_deps) do | ||
local funcs_text | local funcs_text | ||
if #info | if #info["funcs"] == 0 then | ||
funcs_text = "''dependency not used''" | funcs_text = "''dependency not used''" | ||
else | else | ||
funcs_text = table.concat(info | funcs_text = table.concat(info["funcs"], "<br />") | ||
end | end | ||
table.insert(lines, "|-") | table.insert(lines, "|-") | ||
table.insert(lines, "| " .. var) | table.insert(lines, "| " .. var) | ||
table.insert(lines, "| [[" .. info | table.insert(lines, "| [[" .. info["dep"] .. "]]") | ||
table.insert(lines, "| " .. funcs_text) | table.insert(lines, "| " .. funcs_text) | ||
end | end | ||
| Line 190: | Line 190: | ||
-- Lists module's own functions; requires module name to produce links to each | -- Lists module's own functions; requires module name to produce links to each | ||
-- function. | -- function. | ||
function p.make_function_table(module_name, | function p.make_function_table(module_name, module_funcs, main_function) | ||
-- Collapse table if it's larger than 20 lines | -- Collapse table if it's larger than 20 lines | ||
local func_class = "wikitable sortable mw-collapsible" | local func_class = "wikitable sortable mw-collapsible" | ||
--if # | --if #module_funcs > 20 then | ||
-- func_class = func_class .. " mw-collapsed" | -- func_class = func_class .. " mw-collapsed" | ||
--end | --end | ||
local lines = {} | local lines = {} | ||
--table.insert(lines, string.format("'''Module:%s''' provides %d function(s):", module_name, # | --table.insert(lines, string.format("'''Module:%s''' provides %d function(s):", module_name, #module_funcs)) | ||
table.insert(lines, "{| class=\"" .. func_class .. "\"") | table.insert(lines, "{| class=\"" .. func_class .. "\"") | ||
table.insert(lines, "|+ Functions provided by this module") | table.insert(lines, "|+ Functions provided by this module") | ||
| Line 205: | Line 205: | ||
table.insert(lines, "! Line") | table.insert(lines, "! Line") | ||
for _, f in ipairs( | for _, f in ipairs(module_funcs) do | ||
local link = string.format("[[Module:%s#L-%d|%s]]", module_name, f.line, f.name) | local link = string.format("[[Module:%s#L-%d|%s]]", module_name, f.line, f.name) | ||
| Line 257: | Line 257: | ||
-- Return the tables as strings | -- Return the tables as strings | ||
local summary = string.format("'''Introspection summary:''' Module:%s requires %d unique Lua modules and provides %d functions(s).", module_name, num_deps, # | local summary = string.format("'''Introspection summary:''' Module:%s requires %d unique Lua modules and provides %d functions(s).", module_name, num_deps, #module_funcs) | ||
return summary .. "\n" .. dep_table .. "\n" .. func_table | return summary .. "\n" .. dep_table .. "\n" .. func_table | ||
end | end | ||