add color viewer; refactor to use bytes.Buffer
6 files changed
tree: b0fd35e084f96c5d2c26364fa69feec01d36fe3a
  1. cmd/
  2. .gitignore
  3. ansi.go
  4. ansi_test.go
  5. doc.go
  6. LICENSE
  7. print.go
  8. README.md
README.md

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

To view color combinations, from terminal.

ansi-mgutz

Style format

"foregroundColor+attributes:backgroundColor+attributes"

Colors

  • black
  • red
  • green
  • yellow
  • blue
  • magenta
  • cyan
  • white

Attributes

  • b = bold foreground
  • B = Blink foreground
  • u = underline foreground
  • h = high intensity (bright) foreground, background
  • i = inverse

References

Wikipedia ANSI escape codes Colors

MIT License

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

See the file LICENSE for copying permission.