Module:User:Victar/term cognates

local export = {}

function export.getCognates(lang, term) local page = mw.title.new(require("Module:links").getLinkPage(term, lang)) local content = page:getContent if not content then return "" end local _, index = mw.ustring.find(content, "\n==" .. lang:getCanonicalName .. "==", nil, true) if not index then _, index = mw.ustring.find(content, "^==" .. require("Module:utilities").pattern_escape(lang:getCanonicalName) .. "==", nil, false) end if not index then error("Language not found: " .. lang:getCanonicalName .. ".") end _, next_lang = mw.ustring.find(content, "\n==[^=\n]+==", index, false) _, index = mw.ustring.find(content, "\n(====?)Descendants%1", index, false) if (not index) or (next_lang and next_lang < index) then error("Cognates not found") end local cognates = mw.ustring.match(content, "^\*\s*\{{\w*\|(\w*\|\w*).*") cognates = mw.getCurrentFrame:preprocess(cognates) cognates = mw.text.trim(cognates) return cognates end

return export