expandIRCTagsImpl

Implementation function for expandIRCTags. Kept separate so that UTFException can be neatly caught.

private @safe pure @safe
T
expandIRCTagsImpl
(
T
)
(
const T line
,
const Flag!"extendedOutgoingColours" extendedOutgoingColours
,
const Flag!"strip" strip = No.strip
)

Parameters

line T

String line to expand IRC tags of.

extendedOutgoingColours Flag!"extendedOutgoingColours"

Whether or not to use extended colours (16-99).

strip Flag!"strip"

Whether to expand tags or strip them from the input line.

Return Value

Type: T

The passed line but with tags expanded to formatting and colouring.

Throws

std.string.indexOf (used internally) throws UTFException if the starting index of a lookup doesn't represent a well-formed codepoint.