Module:sux-registers

local export = {} local m_register_data = mw.loadData("Module:sux-registers/data") local lang = require("Module:languages").getByCode("sux") local m_links = require("Module:links") local m_strutils = require("Module:string utilities")

local function format_list_items(items) local result = {}

for _, item in ipairs(items) do       item = m_links.full_link { lang = lang, term = item.term, tr = item.tr } table.insert(result, '\n' .. item) end

return table.concat(result) end

function export.create_list(args) if type(args) ~= "table" then error("expected table, got " .. type(args)) end

local output = {}

table.insert(output, )

table.insert(output, format_list_items(args))

table.insert(output, ' ')

return table.concat(output) end

function export.show(frame) local args = frame:getParent.args

if args[1] or args[1] ~= "" then meaning = args[1] else error("Specify a meaning.") end

local data = m_register_data[meaning] or nil

if data then local emegir = data.emegir local emesal = data.emesal

local template = [===[ {| class="floatright wikitable" style="max-width: 25em;" |+ style="text-align:center; white-space: nowrap;"| “{meaning}” |- style="text-align:center;" ! Emegir | {emegir} |- style="text-align:center;" ! Emesal | {emesal} |-       |{\cl}]===]

local forms = {}

forms["meaning"] = meaning forms["emegir"] = export.create_list(emegir) forms["emesal"] = export.create_list(emesal)

return m_strutils.format(template, forms) else error("The sense “" .. meaning .. "” is not found in Module:sux-registers/data.") end end

return export