[RFC] ColorD
Chad J
chadjoan at __spam.is.bad__gmail.com
Sun Oct 21 14:58:38 PDT 2012
On 10/21/2012 05:01 PM, Jens Mueller wrote:
> Robik wrote:
>> Hello,
>>
>> I would like to introduce ColorD, small library that allows to
>> simply manipulate console output colors, both on Windows and Posix
>> operating systems. It also supports font styles such as underline
>> and strikethrough(Posix feature only).
>>
>>
>> Simple example:
>>
>> import std.stdio, colord;
>> void main()
>> {
>> setConsoleColors(Fg.red, Bg.blue);
>> writeln("Red text on blue background.");
>> resetConsoleColors(); // Bring back initial state
>> }
>>
>>
>> Feedback welcome.
>>
>> GitHub: https://github.com/robik/ColorD
>
> Interesting looks solid to me.
> Some nit-picks:
> * Coloring on Posix depends a ANSI terminal. Can you check that a
> terminal is ANSI compatible?
> * There are some magic numbers in the code. These may be difficult to
> figure out for maintaining.
> * enum Color should maybe be same on all systems.
> This is a rather small issue. But I may transfer the Color to another
> system. So if it is possible there should only be one enum Color for
> all systems.
> * Call it terminal or similar. Because other terminal related stuff can
> be added and IMHO it's a better name.
>
> I have written a similar library. Not finished. Let's join forces.
> https://github.com/jkm/terminal
>
> Johannes Pfau has written a progress bar. I will add this.
>
> Jens
Hey that looks cool.
It seems to have a hard ncurses/termcap/etc dependency.
I'll admit when I started trying to work on doing this thing, I never
got anything onto the screen. What stopped me was that I couldn't
figure out how to detect ncurses/termcap/etc. I was going to shoot for
Phobos inclusion and making Phobos always link with ncurses seems like a
bad idea.
Ultimately I expect it to work with writeln or writefln to make it
discoverable and easy to work with.
Back then I did design a format spec for introducing colors into format
strings:
www.chadjoan.com/d/dmd.2.058/html/d/phobos/std_format.html
More information about the Digitalmars-d
mailing list