Format Strings

repartee implements a full irssi-compatible format string engine with extensions for 24-bit color.

Color codes

24-bit foreground: %Z + RRGGBB

%Z7aa2f7Hello    → "Hello" in blue (#7aa2f7)

24-bit background: %z + RRGGBB

%z1a1b26%Za9b1d6Text    → Light text on dark background

irssi single-letter codes: %X

Code Color
%k / %K Black / Dark gray
%r / %R Red / Light red
%g / %G Green / Light green
%y / %Y Yellow / Light yellow
%b / %B Blue / Light blue
%m / %M Magenta / Light magenta
%c / %C Cyan / Light cyan
%w / %W White / Bright white

Style codes

Code Effect
%_ Bold
%/ Italic
%- Strikethrough
%U Underline
%n / %N Reset all formatting

Abstracts: {name args}

Abstracts are named templates that expand recursively:

[abstracts]
sb_background = "%z24283b"
timestamp = "%Z565f89$*"
line_start = "{timestamp $Z}{sb_background}"

Usage in another abstract: {timestamp 12:34} expands $* to 12:34.

Variable substitution

Syntax Meaning
$0$9 Positional argument
$* All arguments joined
$[N]0 Argument padded/truncated to N characters

Example: $[8]0 pads argument 0 to 8 characters (right-aligned by default).

mIRC control characters

repartee also parses mIRC-style control characters in incoming messages:

Char Hex Effect
Bold \x02 Toggle bold
Color \x03 mIRC color code (fg,bg)
Hex color \x04 Hex color code
Reset \x0F Reset all formatting
Reverse \x16 Swap fg/bg
Italic \x1D Toggle italic
Strikethrough \x1E Toggle strikethrough
Underline \x1F Toggle underline

Abstraction depth

Abstracts can reference other abstracts up to 10 levels deep to prevent infinite recursion.