ansi

package module
v0.0.0-...-7f64183 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 18, 2018 License: MIT Imports: 6 Imported by: 0

README

ansi

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

Install

Get it

go get -u github.com/mgutz/ansi

Example

import "github.com/mgutz/ansi"

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

// create a FAST closure function to avoid computation of ANSI code
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 project directory in terminal.

go test

Style format

"foregroundColor+attributes:backgroundColor+attributes"

Colors

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

Foreground Attributes

  • B = Blink
  • b = bold
  • h = high intensity (bright)
  • i = inverse
  • s = strikethrough
  • u = underline

Background Attributes

  • h = high intensity (bright)

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.

Documentation

Overview

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

Installation

# this installs the color viewer and the package
go get -u github.com/mgutz/ansi/cmd/ansi-mgutz

Example

// 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

Wikipedia ANSI escape codes Colors(http://en.wikipedia.org/wiki/ANSI_escape_code#Colors)

Index

Constants

View Source
const (

	// Reset is the ANSI reset escape sequence
	Reset = "\033[0m"
	// DefaultBG is the default background
	DefaultBG = "\033[49m"
	// DefaultFG is the default foreground
	DefaultFG = "\033[39m"
)

Variables

View Source
var Black string

Black FG

View Source
var Blue string

Blue FG

View Source
var (

	// Colors maps common color names to their ANSI color code.
	Colors = map[string]int{
		"black":   black,
		"red":     red,
		"green":   green,
		"yellow":  yellow,
		"blue":    blue,
		"magenta": magenta,
		"cyan":    cyan,
		"white":   white,
		"default": defaultt,
	}
)
View Source
var Cyan string

Cyan FG

View Source
var Green string

Green FG

View Source
var LightBlack string

LightBlack FG

View Source
var LightBlue string

LightBlue FG

View Source
var LightCyan string

LightCyan FG

View Source
var LightGreen string

LightGreen FG

View Source
var LightMagenta string

LightMagenta FG

View Source
var LightRed string

LightRed FG

View Source
var LightWhite string

LightWhite FG

View Source
var LightYellow string

LightYellow FG

View Source
var Magenta string

Magenta FG

Red FG

View Source
var White string

White FG

View Source
var Yellow string

Yellow FG

Functions

func Color

func Color(s, style string) string

Color colors a string based on the ANSI color code for style.

func ColorCode

func ColorCode(style string) string

ColorCode returns the ANSI color color code for style.

func ColorFunc

func ColorFunc(style string) func(string) string

ColorFunc creates a closure to avoid computation ANSI color code.

func DisableColors

func DisableColors(disable bool)

DisableColors disables ANSI color codes. The default is false (colors are on).

func PrintStyles

func PrintStyles()

PrintStyles prints all style combinations to the terminal.

Types

This section is empty.

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL