go-rainbow

Golang Helper for beautiful CLI Applications

MIT License

Stars
89

go-rainbow Build Status

Extremely inspired by chalk.js

go-rainbow allows you to:

  • Iterate modifiers and colors on a String.
  • Use HEX as you wish.
  • Use from Int as you wish.
  • Use RGB as you wish (work in progress).
  • Bring magical Rainbow on a String (work in progress).

Available animations

Name Preview
rainbow on going...
pulse on going...
glitch on going...
radar on going...
neon rainbow

Summary

  • Install
  • Example
  • Hex
  • FromInt32
  • Iterables
  • Modifiers
    • Bold
    • Dim
    • Italic
    • Underline
    • Reverse
    • Hidden
  • Colors
    • Black
    • Red
    • Green
    • Yellow
    • Blue
    • Magenta
    • Cyan
    • White
    • RedBright
    • GreenBright
    • YellowBright
    • BlueBright
    • MagentaBright
    • CyanBright
    • WhiteBright
  • Background Colors
    • BgBlack
    • BgRed
    • BgGreen
    • BgYellow
    • BgBlue
    • BgMagenta
    • BgCyan
    • BgWhite
    • BgBlackBright
    • BgRedBright
    • BgGreenBright
    • BgYellowBright
    • BgBlueBright
    • BgMagentaBright
    • BgCyanBright
    • BgWhiteBright
  • Animations
    • Neon

Install

go get github.com/raphamorim/go-rainbow

Example

main.go

package main
import (
    "fmt"

    "github.com/raphamorim/go-rainbow"
)

func main() {
    fmt.Println(rainbow.Bold(rainbow.Hex("#8E44AD", "raphael")))
}

Hex

ftm.Printf("%s", rainbow.Hex("#000080", "String from HEX")) // should be index 4 (navy blue)

FromInt32

32-bit unsigned integer equivalent (uint32)

fmt.Printf("%s", rainbow.FromInt32(0xCC66FFFF, "String from Int32"))

Modifiers

Usage

rainbow.Bold("String in Bold")
  • Bold
  • Dim
  • Italic (Not widely supported)
  • Underline
  • Reverse
  • Hidden
  • Strikethrough (Not widely supported)

Colors

Usage

rainbow.Blue("String in Blue")

List

  • Black
  • Red
  • Green
  • Yellow
  • Blue
  • Magenta
  • Cyan
  • White
  • RedBright
  • GreenBright
  • YellowBright
  • BlueBright
  • MagentaBright
  • CyanBright
  • WhiteBright

Soon (send a PR to help us!):

  • Gray

Background Colors

rainbow.BgBlue("String in Blue Background")

List

  • BgBlack
  • BgRed
  • BgGreen
  • BgYellow
  • BgBlue
  • BgMagenta
  • BgCyan
  • BgWhite
  • BgBlackBright
  • BgRedBright
  • BgGreenBright
  • BgYellowBright
  • BgBlueBright
  • BgMagentaBright
  • BgCyanBright
  • BgWhiteBright

Iterables

abc := Bold(BgYellow(Blue("Bold+BgYellow+Blue")))
xyz := Dim(Underscore("Dim+Underscore"))

Animations

Animations have a different behavior of all methods, they realize the act of print, instead of only returning string.

Neon

code

rainbow.Animation("AWESOME NEON ANIMATION", "neon")

sample

RGB (working on it)

rainbow.RGB(100, 110, 100)

License

The MIT License (MIT) - see LICENSE.md for more details