NAME
String::Tagged::IRC
- parse and format IRC messages using String::Tagged
TAGS
This module provides the following tags, conforming to the String::Tagged::Formatting API specification.
bold, under, italic, reverse
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>