Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mgutz/ansi
Small, fast library to create ANSI colored strings and codes. [go, golang]
https://github.com/mgutz/ansi
ansi-colors go terminal
Last synced: 23 days ago
JSON representation
Small, fast library to create ANSI colored strings and codes. [go, golang]
- Host: GitHub
- URL: https://github.com/mgutz/ansi
- Owner: mgutz
- License: mit
- Created: 2013-05-12T17:53:32.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2024-04-15T23:23:11.000Z (9 months ago)
- Last Synced: 2024-12-13T17:16:21.296Z (25 days ago)
- Topics: ansi-colors, go, terminal
- Language: Go
- Size: 18.6 KB
- Stars: 418
- Watchers: 6
- Forks: 40
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ansi
Package ansi is a small, fast library to create ANSI colored strings and codes.
## Install
Get it
```sh
go get -u github.com/mgutz/ansi
```## Example
```go
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
```go
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.
```sh
go test
```## Style format
```go
"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 = underlineBackground 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](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors)
General [tips and formatting](http://misc.flogisoft.com/bash/tip_colors_and_formatting)
What about support on Windows? Use [colorable by mattn](https://github.com/mattn/go-colorable).
Ansi and colorable are used by [logxi](https://github.com/mgutz/logxi) to support logging in
color on Windows.## MIT License
Copyright (c) 2013 Mario Gutierrez [email protected]
See the file LICENSE for copying permission.