ansi

package
v7.1.0 Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2021 License: BSD-2-Clause, MIT Imports: 4 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 [email protected]

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 (

	// Colors maps common color names to their ANSI color code.
	Colors = map[string]int{}/* 265 elements not displayed */

	Black        = ColorCode("black")
	Red          = ColorCode("red")
	Green        = ColorCode("green")
	Yellow       = ColorCode("yellow")
	Blue         = ColorCode("blue")
	Magenta      = ColorCode("magenta")
	Cyan         = ColorCode("cyan")
	White        = ColorCode("white")
	LightBlack   = ColorCode("black+h")
	LightRed     = ColorCode("red+h")
	LightGreen   = ColorCode("green+h")
	LightYellow  = ColorCode("yellow+h")
	LightBlue    = ColorCode("blue+h")
	LightMagenta = ColorCode("magenta+h")
	LightCyan    = ColorCode("cyan+h")
	LightWhite   = ColorCode("white+h")
)

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).

Types

This section is empty.

Jump to

Keyboard shortcuts

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