Skip to content
/ color Public
generated from atomicgo/template

🎨 Simple colors for your terminal in Go

License

Notifications You must be signed in to change notification settings

atomicgo/color

Repository files navigation

AtomicGo | color

Downloads Latest Release Tests Coverage Unit test count License: MIT Go report


Documentation | Contributing | Code of Conduct


AtomicGo

go get atomicgo.dev/color

color

import "atomicgo.dev/color"

Package color is used to generate new AtomicGo repositories.

Write the description of the module here. You can use **markdown**! This description should clearly explain what the package does.

Example description: https://golang.org/src/encoding/gob/doc.go

package main

import (
	"fmt"

	"atomicgo.dev/color"
)

func main() {
	// Simple coloring
	fmt.Println("Hello, " + color.Green("World") + "!")

	fmt.Println() // blank line

	// Theme colors - can be customized in init() function if needed
	fmt.Println(color.Success("Success message"))
	fmt.Println(color.Info("Info message"))
	fmt.Println(color.Warning("Warning message"))
	fmt.Println(color.Error("Error message"))
	fmt.Println(color.Fatal("Fatal message"))

	fmt.Println() // blank line

	// Supports ANSI colors
	ansiRed := color.NewStyle(color.ANSIRed, nil).Sprint
	fmt.Println(ansiRed("This is printed red using an ANSI color code"))

	// Supports ANSI256 colors
	ansi256Red := color.NewStyle(color.ANSI256Color(196), nil).Sprint
	fmt.Println(ansi256Red("This is printed red using an ANSI256 color code"))

	// Supports RGB colors
	redRGB := color.NewStyle(color.NewColorFromRGB(255, 0, 0), nil).Sprint
	fmt.Println(redRGB("This is printed red using a RGB color code"))

	// Supports hex colors
	redHex := color.NewStyle(color.NewColorFromHex("#ff0000"), nil).Sprint
	fmt.Println(redHex("This is printed red using a hex color code"))
}

Index

Variables

var (
    // ANSI colors
    Black       = NewStyle(ANSIBlack, nil).Sprint
    BrightBlack = NewStyle(ANSIBrightBlack, nil).Sprint

    Red       = NewStyle(ANSIRed, nil).Sprint
    BrightRed = NewStyle(ANSIBrightRed, nil).Sprint

    Green       = NewStyle(ANSIGreen, nil).Sprint
    BrightGreen = NewStyle(ANSIBrightGreen, nil).Sprint

    Yellow       = NewStyle(ANSIYellow, nil).Sprint
    BrightYellow = NewStyle(ANSIBrightYellow, nil).Sprint

    Blue       = NewStyle(ANSIBlue, nil).Sprint
    BrigthBlue = NewStyle(ANSIBrightBlue, nil).Sprint

    Magenta       = NewStyle(ANSIMagenta, nil).Sprint
    BrightMagenta = NewStyle(ANSIBrightMagenta, nil).Sprint

    Cyan       = NewStyle(ANSICyan, nil).Sprint
    BrightCyan = NewStyle(ANSIBrightCyan, nil).Sprint

    White       = NewStyle(ANSIWhite, nil).Sprint
    BrightWhite = NewStyle(ANSIBrightWhite, nil).Sprint

    // Special colors
    Success = NewStyle(ANSIBrightGreen, nil).Sprint
    Info    = NewStyle(ANSIBrightBlue, nil).Sprint
    Warning = NewStyle(ANSIBrightYellow, nil).Sprint
    Error   = NewStyle(ANSIBrightRed, nil).Sprint
    Fatal   = NewStyle(ANSIBrightRed, nil, Bold).Sprint
)

Writer is the writer to write colorized output to.

var Writer io.Writer = os.Stdout

ANSI256Color represents a color in the ANSI256 color palette.

type ANSI256Color uint8

func (ANSI256Color) Sequence

func (c ANSI256Color) Sequence(background bool) string

Sequence returns the ANSI escape sequence for the color.

func (ANSI256Color) String

func (c ANSI256Color) String() string

String returns the hex code of the color.

ANSIColor represents an ANSI color code.

type ANSIColor int

const (
    ANSIBlack ANSIColor = iota
    ANSIRed
    ANSIGreen
    ANSIYellow
    ANSIBlue
    ANSIMagenta
    ANSICyan
    ANSIWhite
    ANSIBrightBlack
    ANSIBrightRed
    ANSIBrightGreen
    ANSIBrightYellow
    ANSIBrightBlue
    ANSIBrightMagenta
    ANSIBrightCyan
    ANSIBrightWhite
)

func (ANSIColor) Sequence

func (c ANSIColor) Sequence(background bool) string

Sequence represents the ANSI escape sequence for the color.

type Color

Color is an interface for colors.

type Color interface {
    Sequence(background bool) string
}

var NoColor Color = noColor{}

func NewColorFromHex(hex string) Color

NewColorFromHex creates a new Color from a hex string. If the hex string is invalid, NoColor is returned.

func NewColorFromRGB(r, g, b uint8) Color

NewColorFromRGB creates a new Color from RGB values.

type Mode

Mode represents the color mode used by the terminal.

type Mode int

const (
    TrueColor Mode = iota
    ANSI256
    ANSI

    Disabled
)

func (Mode) String

func (m Mode) String() string

Modifier type for text modifiers.

type Modifier int

Modifiers

const (
    Reset Modifier = iota
    Bold
    Italic
    Underline
)

func (Modifier) Sequence

func (m Modifier) Sequence() string

Sequence returns the ANSI escape sequence for the modifier.

RGBColor represents a color in the RGB color space.

type RGBColor struct {
    R, G, B uint8
}

func (RGBColor) Hex

func (c RGBColor) Hex() string

Hex returns the hex representation of the color.

func (RGBColor) Sequence

func (c RGBColor) Sequence(background bool) string

Sequence returns the ANSI escape sequence for the color.

type Style

Style represents a text style with a foreground and background color and modifiers.

type Style struct {
    Foreground Color
    Background Color

    Modifiers []Modifier
}

func NewStyle(foregroundColor, backgroundColor Color, modifiers ...Modifier) Style

NewStyle creates a new Style with the given foreground and background colors and modifiers.

func (Style) Fprint

func (s Style) Fprint(w io.Writer, a ...any) (n int, err error)

Fprint formats using the default formats for its operands and writes to w.

func (Style) Fprintf

func (s Style) Fprintf(w io.Writer, format string, a ...any) (n int, err error)

Fprintf formats according to a format specifier and writes to w.

func (Style) Fprintfln

func (s Style) Fprintfln(w io.Writer, format string, a ...any) (n int, err error)

Fprintfln formats according to a format specifier and writes to w.

func (Style) Fprintln

func (s Style) Fprintln(w io.Writer, a ...any) (n int, err error)

Fprintln formats using the default formats for its operands and writes to w.

func (Style) Print

func (s Style) Print(a ...any)

Print formats using the default formats for its operands and writes to standard output.

func (Style) Printf

func (s Style) Printf(format string, a ...any)

Printf formats according to a format specifier and writes to standard output.

func (Style) Printfln

func (s Style) Printfln(format string, a ...any)

Printfln formats according to a format specifier and writes to standard output.

func (Style) Println

func (s Style) Println(a ...any)

Println formats using the default formats for its operands and writes to standard output.

func (Style) Sequence

func (s Style) Sequence() string

Sequence returns the ANSI escape sequence for the style.

func (Style) Sprint

func (s Style) Sprint(a ...any) string

Sprint formats using the default formats for its operands and returns the resulting string.

func (Style) Sprintf

func (s Style) Sprintf(format string, a ...any) string

Sprintf formats according to a format specifier and returns the resulting string.

Generated by gomarkdoc


AtomicGo.dev  ·  with ❀️ by @MarvinJWendt | MarvinJWendt.com

Releases

No releases published

Sponsor this project

 

Packages

No packages published