
Padding.pudu
Pudu30 lines950 B
1/** @Log.Domain.Padding.Module — alignment padding and case formats */2module PuduLangLog.Domain.Padding34import Std.Math as Math5import PuduLangLog as Log6789export fn padded(text: Str, alignment: &Option[Log.Alignment]) -> Str {10 match alignment {11 case None => text12 case Some(shape) => {13 let missing = Math.max(0, shape.width - text.length())14 if shape.left {15 text + " ".repeat(missing)16 } else {17 " ".repeat(missing) + text18 }19 }20 }21}222324export fn cased(text: Str, format: &Option[Str]) -> Str {25 match format {26 case Some(given) => if given == "u" { text.toUpper() } else if given == "w" { text.toLower() } else { text }27 case None => text28 }29}30