NAME
    `String::Tagged::IRC' - parse and format IRC messages using
    `String::Tagged'

TAGS
  b, u, i, rv
    Boolean values indicating bold, underline, italics, or reverse-video.

  fg, bg
    Convert::Color objects encoding the color. These will likely be
    instances of Convert::Color::mIRC, unless a full RGB triplet colour code
    has been provided; in which case it will be an instance of
    Convert::Color::RGB8.

METHODS
  $st = String::Tagged::IRC->parse_irc( $raw, %opts )
    Parses a text string containing IRC formatting codes and returns a new
    `String::Tagged::IRC' instance.

    Takes the following named options:

    parse_plain_formatting => BOOL
            If true, also parse "poor-man's" plain-text formatting of
            *bold*, **italic** and _underline_. In this case, formatting
            tags are added but the original text formatting is preserved.

  $raw = $st->build_irc
    Returns a plain text string containing IRC formatting codes built from
    the given instance. When outputting a colour index, this method always
    outputs it as a two-digit number, to avoid parsing ambiguity if the
    coloured text starts with a digit.

    Currently this will only output mIRC-style formatting, not irssi-style.

    Takes the following options:

    default_fg => INT
            Default foreground colour to emit for extents that have only the
            `bg' tag set. This is required because mIRC formatting codes
            cannot set just the background colour without setting the
            foreground as well.

TODO
    *   Define a nicer way to do the ANSI terminal colour space of
        irssi-style formatting codes.

AUTHOR
    Paul Evans <leonerd@leonerd.org.uk>

