Modul:Detect singular: Unterschied zwischen den Versionen
(implement current state of Template:Detect singular) |
(wrong name) |
||
| Zeile 1: | Zeile 1: | ||
local p = {} | local p = {} | ||
local getArgs = require('Module: | local getArgs = require('Module:Arguments').getArgs | ||
local yesNo = require('Module:Yesno') | local yesNo = require('Module:Yesno') | ||
Version vom 8. Januar 2022, 06:28 Uhr
Die Dokumentation für dieses Modul kann unter Modul:Detect singular/doc erstellt werden
local p = {}
local getArgs = require('Module:Arguments').getArgs
local yesNo = require('Module:Yesno')
local function plainFind(s, sub)
return mw.ustring.find(s, sub, 1, plain)
end
local function plainCount(s, sub)
local _, count = mw.ustring.gsub(s, sub, '')
return count
end
function p._main(args)
local checkComma = not yesNo(args.nocomma,true)
local checkBullets = yesNo(args.bullets,true)
local s = args[1] -- the input string
if plainFind(s,'forcedetectsingular') then -- magic data string to return true
return true
end
if plainFind(s,'forcedetectplural') then -- magic data string to return false
return false
end
local hasComma = checkComma and plainFind(s, ',')
local hasList = plainFind(s,'list')
local hasBreak = mw.ustring.find(s,'<%s*br')
local hasBullets = checkBullets and plainCount(s,'*') > 1
return not (hasComma or hasList or hasBreak or hasBullets)
end
function p.main(frame)
local args = getArgs(frame)
if p._main(args) then
return 1
end
return ""
end
return p