[RFC] ColorD

Robik szadows at gmail.com
Mon Oct 22 03:48:07 PDT 2012


On Sunday, 21 October 2012 at 22:32:35 UTC, Walter Bright wrote:
> On 10/21/2012 12:28 PM, Robik wrote:
> > Simple example:
> >
> > import std.stdio, colord;
> > void main()
> > {
> >      setConsoleColors(Fg.red, Bg.blue);
> >      writeln("Red text on blue background.");
> >      resetConsoleColors(); // Bring back initial state
> > }
>
> Need a method to get the current state, and reset the current 
> state. Otherwise, nested calls to the console functions will 
> screw up the state.
>
> I.e.:
>
>     auto save = getConsoleState();
>     setConsoleColors(Fg.red, Bg.blue);
>     writeln("Red text on blue background.");
>     setConsoleState(save); // Bring back initial state
>
> Or better:
>
>     auto save = getConsoleState();
>     scope (exit) setConsoleState(save);
>     setConsoleColors(Fg.red, Bg.blue);
>     writeln("Red text on blue background.");

On Windows, setting color to initial sets console colors to ones 
that were set before launch of the program. On Posix it sets 
default (ANSI remove formatting).
I will try to check if it is possible to get current colors on 
Posix.


More information about the Digitalmars-d mailing list