Skip to content

๐Ÿ– Paint your console from .NET

License

Notifications You must be signed in to change notification settings

railroadss/crayon

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

38 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

build nuget

๐Ÿ– Crayon

An easy peasy tiny library for coloring console output in inline strings using ANSI escape codes.

V2

The API has changed to support background colors. I dropped the extension methods on string and opted for the using static directive instead. All methods now have an overload for direct input so you no longer have to end with a Text() invocation.

Examples

using static Crayon.Output;

Console.WriteLine(Green($"green {Red($"{Bold("bold")} red")} green"));
Console.WriteLine(Bright.Blue($"Bright {Green("and normal green")}"));
Console.WriteLine(Bold().Green().Text($"starting green {Red("then red")} must be green again"));

screenshot

Colors

Black()
Red()
Green()
Yellow()
Blue()
Magenta()
Cyan()
White()
Rgb(r, g, b)
Background.Blue()
Bright.Blue()

Decorations

Bold()
Dim()
Underline()
Reversed()

Text

Blue().Underline().Text("input")
Blue().Underline("input")

All colors and decorations have an overload with direct input and terminating the formatter.

Rainbows ๐ŸŒˆ

Thanks to DevinR528 we now have rainbows!

var rainbow = new Rainbow(0.5);
for(var i = 0; i < 15; i++)
{
    Console.WriteLine(rainbow.Next().Bold().Text("rainbow"));
}

How compatible is it?

It works fine on everything except for older Windows versions.

Credits

My journey for using ANSI codes in C# first brought me here: https://www.jerriepelser.com/blog/using-ansi-color-codes-in-net-console-apps/

The ANSI coloring details was inspired by this blog post: http://www.lihaoyi.com/post/BuildyourownCommandLinewithANSIescapecodes.html

The code for enabling ANSI colors feature on Windows was borrowed from this issue: microsoft/WSL#1873

No greater compliment than someone taking your work for inspiration. In return I peaked into his code for the RGB support!

About

๐Ÿ– Paint your console from .NET

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%