An open API service indexing awesome lists of open source software.

https://github.com/tomnomnom/xtermcolor

Golang package and command to convert color.Colour to the nearest xterm/bash/shell color
https://github.com/tomnomnom/xtermcolor

Last synced: about 2 months ago
JSON representation

Golang package and command to convert color.Colour to the nearest xterm/bash/shell color

Awesome Lists containing this project

README

        

# XtermColor

Find the closest xterm color to anything implementing [color.Color](https://golang.org/pkg/image/color/#Color).

Provides a [color.Palette](https://golang.org/pkg/image/color/#Palette) as `xtermcolor.Colors` so you can use `.Convert` and `.Index`,
but also provides convenience functions to get the index as a `uint8` from a `color.Color`, a 32 bit integer, or a 24 bit hex string.

[![Build Status](https://travis-ci.org/tomnomnom/xtermcolor.svg?branch=master)](https://travis-ci.org/tomnomnom/xtermcolor)

Full documentation can be found on [GoDoc](https://godoc.org/github.com/tomnomnom/xtermcolor).

Basic usage (examples/basic.go):

```go
package main

import (
"fmt"
"image/color"

"github.com/tomnomnom/xtermcolor"
)

func main() {
fmt.Println(xtermcolor.Colors.Convert(color.RGBA{128, 64, 32, 255}))

fmt.Println(xtermcolor.FromColor(color.RGBA{120, 210, 120, 255}))

fmt.Println(xtermcolor.FromInt(0xCC66FFFF))

code, err := xtermcolor.FromHexStr("#FEFEFE")
if err != nil {
fmt.Println(err)
}
fmt.Println(code)
}
```

```
▶ go run examples/basic.go
{135 95 0 255}
114
171
15
```

## xtermcolor command

There's also an `xtermcolor` command you can install by running:

```
▶ go get github.com/tomnomnom/xtermcolor/cmd/xtermcolor
```

Or you can download a binary from the [releases page](https://github.com/tomnomnom/xtermcolor/releases).

The command returns the color code for a 24 bit hex number:

```
▶ xtermcolor cc66ff
171
```

...or for seperate 8 bit red, green and blue components:

```
▶ xtermcolor 210 128 0
172
```