On 03/13/2012 01:41 AM, James Miller wrote:
On 13 March 2012 18:24, Chad J<chadjoan@__spam.is.bad__gmail.com> wrote:
I'm not sure I agree with resetting to a default color. What if I want to
write to the stream without altering the terminal's graphics settings?
Actually, I meant more to make sure that any output is reset to the
terminal's default. I'm pretty sure there is a way to do this. The
point is that not undoing mode changes is bad form.
Otherwise, I can live with the colourings being nested, but I would
suggest a change in syntax, I understand that yours is mostly just for
show, but using parenthesis will be annoying, I'd probably use braces
('{' and '}') instead, since they are less common.
writefln('%Cred(\(this is in color\))');
vs
writefln('%Cred{(this is in color)}');
Neither are /that/ pretty, but at least the second one requires less
escaping in the common case.
--
James Miller
Oh, I see what you mean.
This is why the second paren always had a % before it:
writefln('%Cred((this is in color)%)');
Is this OK? I know that escaping is still involved, but the text itself
does not need escaping: only the special closing element does.
I like this constraint because it means that the only character you ever
have to escape in your normal text is %, which you write by using %%
instead.