Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
You must create an account or log in to edit.
Revision as of 17:54, January 28, 2025 by Tesinormed (talk | contribs)

Removes parentheses in a page title; used by Template:Remove parentheses


local libraryUtil = require('libraryUtil')
local checkType = libraryUtil.checkType

local p = {}

local function getDisplayTitle(scope, title)
	-- input validation
	checkType('Module:Remove parentheses.getDisplayTitle', 1, scope, 'string')
	checkType('Module:Remove parentheses.getDisplayTitle', 2, title, 'string')

	if title:find('(' .. scope .. ')') then
		return title:gsub('%(' .. scope .. '%)', '')
	elseif title:find('(' .. scope .. ',') then
		return title:gsub('%(' .. scope .. ',', '(')
	else
		return title
	end
end

function p.main(frame)
	local args = require('Module:Arguments').getArgs(frame)
	-- input validation
	if not args['scope'] then error('"scope" argument is required') end

	return frame:callParserFunction(
		'DISPLAYTITLE',
		getDisplayTitle(args['scope'], mw.title.getCurrentTitle().prefixedText)
	)
end

return p