22 lines
511 B
Plaintext
22 lines
511 B
Plaintext
{formatting {state {}}} {
|
|
if {$state eq ""} {
|
|
array set old [empty_formatting]
|
|
} else {
|
|
array set old $state
|
|
}
|
|
array set new $formatting
|
|
if $old(o) {
|
|
array set old [empty_formatting]
|
|
}
|
|
if $new(o) {
|
|
return \017
|
|
}
|
|
set ret ""
|
|
foreach k {b u r} {
|
|
if {$old($k) != $new($k)} {
|
|
append ret [string map {b \002 u \037 r \026} $k]
|
|
}
|
|
}
|
|
return $ret[unparse_formatting_color [array get new] [array get old]]
|
|
}
|