Skip to content
/ ansi Public
forked from mgutz/ansi

Small, fast library to create ANSI colored strings and codes. [go, golang]

License

Notifications You must be signed in to change notification settings

samfoo/ansi

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ansi

Package ansi is a small, fast library to create ANSI colored strings and codes.

Install

This install the color viewer and the package itself

go get -u github.com/mgutz/ansi/cmd/ansi-mgutz

Example

import "github.com/mgutz/ansi"

// colorize a string, SLOW
msg := ansi.Color("foo", "red+b:white")

// create a closure to avoid recalculating ANSI code compilation
phosphorize := ansi.ColorFunc("green+h:black")
msg = phosphorize("Bring back the 80s!")
msg2 := phospohorize("Look, I'm a CRT!")

// cache escape codes and build strings manually
lime := ansi.ColorCode("green+h:black")
reset := ansi.ColorCode("reset")

fmt.Println(lime, "Bring back the 80s!", reset)

Other examples

Color(s, "red")            // red
Color(s, "red+b")          // red bold
Color(s, "red+B")          // red blinking
Color(s, "red+u")          // red underline
Color(s, "red+bh")         // red bold bright
Color(s, "red:white")      // red on white
Color(s, "red+b:white+h")  // red bold on white bright
Color(s, "red+B:white+h")  // red blink on white bright
Color(s, "off")            // turn off ansi codes

To view color combinations, from terminal.

ansi-mgutz

Style format

"foregroundColor+attributes:backgroundColor+attributes"

Colors

  • black
  • red
  • green
  • yellow
  • blue
  • magenta
  • cyan
  • white
  • 0...255 (256 colors)

Attributes

  • b = bold foreground

  • B = Blink foreground

  • u = underline foreground

  • i = inverse

  • h = high intensity (bright) foreground, background

    does not work with 256 colors

Constants

  • ansi.Reset
  • ansi.DefaultBG
  • ansi.DefaultFG
  • ansi.Black
  • ansi.Red
  • ansi.Green
  • ansi.Yellow
  • ansi.Blue
  • ansi.Magenta
  • ansi.Cyan
  • ansi.White
  • ansi.LightBlack
  • ansi.LightRed
  • ansi.LightGreen
  • ansi.LightYellow
  • ansi.LightBlue
  • ansi.LightMagenta
  • ansi.LightCyan
  • ansi.LightWhite

References

Wikipedia ANSI escape codes Colors

General tips and formatting

What about support on Windows? Use colorable by mattn. Ansi and colorable are used by logxi to support logging in color on Windows.

MIT License

Copyright (c) 2013 Mario Gutierrez mario@mgutz.com

See the file LICENSE for copying permission.

About

Small, fast library to create ANSI colored strings and codes. [go, golang]

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%