Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Snazz up your console output!

License

NotificationsYou must be signed in to change notification settings

silkfire/Pastel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

NuGetNuGet

Give your console app a nicer look by adding some color to the output it produces.This is achieved by wrapping strings of the output inANSI codes that instruct the terminal to color the string based on the interpreted code. Tested on both Windows (requires at least Windows 10, v1511 [November Update]) and Linux.

Introduction

Modern terminals have a feature that allows them to print text in different colors. To enable this, a string is wrapped with a special sequence of characters containing a directive to the terminal to color the string that follows and stop coloring when it encounters an end code. Producing these character sequences can be cumbersome, which is the reason why I decided to build this small library that turns this into a very easy task.
Because Pastel only alters the output string, there is no need to manipulate or extend the built-inSystem.Console class.

If your terminal doesn't support 24-bit colors, it will approximate to the nearest color instead.

How to use

The basic syntax is very simple. Use thePastel() method on the string you want to colorize and supply a color argument.

"ENTER".Pastel(Color.FromArgb(165,229,250))Console.WriteLine($"Press{"ENTER".Pastel(Color.FromArgb(165,229,250))} to continue");

Example 1

You can either use aSystem.Drawing.Color object or a hexadecimal string value.
Both upper and lower case hex codes are supported and the leading number sign (#) is optional.

varspectrum=new(stringcolor,stringletter)[]{("#124542","a"),("#185C58","b"),("#1E736E","c"),("#248A84","d"),("#20B2AA","e"),("#3FBDB6","f"),("#5EC8C2","g"),("#7DD3CE","i"),("#9CDEDA","j"),("#BBE9E6","k")};Console.WriteLine(string.Join("",spectrum.Select(s=>s.letter.Pastel(s.color))));

Example 2

Example 3

Using aColor argument pairs very well with ReSharper as the extension automatically underlines the argument list and colors it accordingly:

ReSharper color object underlining

Background colors

Pastel also supports background colors. The syntax is exactly the same except that the method is calledPastelBg.
Both foreground and background colors can be combined by chaining the methods:

"Colorize me".Pastel(Color.Black).PastelBg("FFD000");

Example 4

Disabling / enabling color output

If you for some reason want to disable any future color output produced by Pastel for the duration of your app, simply callConsoleExtensions.Disable(). To re-enable color output, callConsoleExtensions.Enable().

NO_COLOR

Pastel will honor systems where console color output has explicitly been requested to be turned off. See more information about this initiative athttps://no-color.org.

About

Snazz up your console output!

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors3

  •  
  •  
  •  

Languages


[8]ページ先頭

©2009-2025 Movatter.jp