gitea-tea/vendor/github.com/mgutz/ansi/README.md
6543 d5058b3b20 Update Vendors (#250)
update go min version

Update Vendors:
 * code.gitea.io/gitea-vet v0.2.0 -> v0.2.1
 * code.gitea.io/sdk/gitea v0.13.0 -> v0.13.1
 * github.com/AlecAivazis/survey v2.1.1 -> v2.2.2
 * github.com/adrg/xdg v0.2.1 -> v0.2.2
 * github.com/araddon/dateparse d820a6159ab1 -> 8aadafed4dc4
 * github.com/go-git/go-git v5.1.0 -> v5.2.0
 * github.com/muesli/termenv v0.7.2 -> v0.7.4
 * github.com/stretchr/testify v1.5.1 -> v1.6.1
 * github.com/urfave/cli v2.2.0 -> v2.3.0

Co-authored-by: 6543 <6543@obermui.de>
Reviewed-on: https://gitea.com/gitea/tea/pulls/250
Reviewed-by: Andrew Thornton <art27@cantab.net>
Reviewed-by: mrsdizzie <info@mrsdizzie.com>
Co-Authored-By: 6543 <6543@noreply.gitea.io>
Co-Committed-By: 6543 <6543@noreply.gitea.io>
2020-11-09 23:25:54 +08:00

2.3 KiB

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+d")          // red dim
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)
  • d = dim
  • 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.