Module:pollasena-roots: Difference between revisions

No edit summary
No edit summary
Line 218: Line 218:
local cat_term = args.c[root_index] or item.term
local cat_term = args.c[root_index] or item.term
cat_term = "*" .. gsub(cat_term, "^*+", "") -- ensure only one asterisk
cat_term = "*" .. gsub(cat_term, "^*+", "") -- ensure only one asterisk
if code == "wasc" and cat_term ~= item.term then -- Wascotl root and suffix handling
if code == "wasc" then -- Wascotl root and suffix handling
local suffix = match(cat_term, "^*%w+%-(%w+)$")
local suffix = match(cat_term, "^*%w+%-(%w+)$")
Line 295: Line 295:
local capital = args.nocap and "f" or "F"
local capital = args.nocap and "f" or "F"
return capital .. "rom " .. table.concat(etymologies, ", from ") .. "."
return capital .. "rom " .. table.concat(etymologies, ", from ") .. "."
end
function export.qsc(frame)
local parent_args = frame:getParent().args
local ancestor_codes = {
{ code = "sekh" },
{ code = "wasc", options = {optional = true, roots = true } }
}
local evolution, args, categories = parse_args(parent_args, "qsc", ancestor_codes)
return concat_etymologies(args, evolution) .. categories
end
function export.lyti_inh(frame)
local parent_args = frame:getParent().args
local ancestor_codes = {
{ code = "lyti-mid", options = {} },
{ code = "lyti-old", options = {} },
{ code = "cel-pro", options = {annotated = true} },
{ code = "ine-pro", options = {roots = true} },
}
local extra_params = {
mid = {type = "boolean"},
old = {type = "boolean"},
source = {},
}
local evolution, args, categories = parse_args(parent_args, "lyti", ancestor_codes)
return concat_etymologies(args, evolution) .. categories
end
function export.lyti_loan(frame)
local parent_args = frame:getParent().args
local source_code = parent_args.source or "und"
local ancestor_codes = {
{ code = "lyti-mid", options = {optional = not parent_args.mid} },
{ code = "lyti-old", options = {optional = not parent_args.old} },
{ code = source_code, options = {} },
}
local extra_params = {
mid = {type = "boolean"},
old = {type = "boolean"},
source = {},
}
local evolution, args, categories = parse_args(parent_args, "lyti", ancestor_codes)
return concat_etymologies(args, evolution) .. categories
end
end


return export
return export