General purpose function to format strings with multiple options. If this function takes empty list as an argument, no formatting is applied.
Some typical usages include but not limited to:
Green text:
formatWith [green] myStringBold red text:
formatWith [bold, red] myStringBlue text on white background:
formatWith [blue, whiteBg] myStringItalicized yellow on cyan background:
formatWith [italic, yellow, cyanBg] myString
⚠ Caution: Double underlining doubleUnderline is not widely supported. It is also not natively supported on Windows 10.