Estilize seus terminais usando Go-Palette
Go-Palette fornece definições de estilo elegantes e convenientes usando cores ANSI. É totalmente compatível e envolve a biblioteca fmt para layouts de terminal agradáveis.
Cores e formatos suportados
cores padrão
As seguintes cores são suportadas para serem usadas por seus nomes para primeiro e segundo plano, conforme mostrado no exemplo abaixo.
+----------------+------------+
| Color Name | Color Code |
+----------------+------------+
| Black | 0 |
| Red | 1 |
| Green | 2 |
| Yellow | 3 |
| Blue | 4 |
| Magenta | 5 |
| Cyan | 6 |
| White | 7 |
| BrightBlack | 8 |
| BrightRed | 9 |
| BrightGreen | 10 |
| BrightYellow | 11 |
| BrightBlue | 12 |
| BrightMagenta | 13 |
| BrightCyan | 14 |
| BrightWhite | 15 |
+----------------+------------+
Paleta de primeiro plano suportada
A paleta a seguir é suportada como cores de primeiro plano/texto. Os números representam os códigos de cores que podem ser usados conforme mostrado no exemplo abaixo.
Paleta de plano de fundo compatível
A paleta a seguir é suportada como cores de fundo. Os números representam os códigos de cores que podem ser usados conforme mostrado no exemplo abaixo.
Formatos de texto suportados
Os seguintes formatos de texto são suportados.
- Reiniciar
- Audacioso
- Dim
- itálico
- Sublinhado
- SlowBlink
- Escondido
- Tachado
go get github.com/abusomani/go-palette
Depois de instalar o pacote go-palette , começamos a usá-lo da seguinte maneira.
Importar
Um recurso muito útil da declaração de importação do Go são os aliases. Um caso de uso comum para aliases de importação é fornecer uma alternativa mais curta para o nome do pacote de uma biblioteca.
Neste exemplo, evitamos ter que digitar paleta toda vez que queremos chamar uma das funções da biblioteca, apenas usamos pal .
import (
pal "github.com/abusomani/go-palette/palette"
)
package main
import (
pal "github.com/abusomani/go-palette/palette"
)
func main() {
p := pal.New()
p.Println("This text is going to be in default color.")
p.SetOptions(pal.WithBackground(pal.Color(pal.BrightYellow)), pal.WithForeground(pal.Black))
p.Println("This text is going to be in black color with a yellow background.")
}
Exemplo usando códigos de cores
package main
import (
pal "github.com/abusomani/go-palette/palette"
)
func main() {
p := pal.New()
p.Println("This text is going to be in default color.")
// We can use color codes from the palette to set as foreground and background colors
p.SetOptions(pal.WithBackground(pal.Color(11)), pal.WithForeground(0))
p.Println("This text is going to be in black color with a yellow background.")
}
Exemplo usando efeitos especiais
package main
import (
pal "github.com/abusomani/go-palette/palette"
)
func main() {
p := pal.New(pal.WithSpecialEffects([]pal.Special{pal.Bold}))
p.Println("Bold")
p.SetOptions(pal.WithSpecialEffects([]pal.Special{pal.Dim}))
p.Println("Dim")
p.SetOptions(pal.WithSpecialEffects([]pal.Special{pal.Italic}))
p.Println("Italic")
p.SetOptions(pal.WithSpecialEffects([]pal.Special{pal.Underline}))
p.Println("Underline")
p.SetOptions(pal.WithSpecialEffects([]pal.Special{pal.SlowBlink}))
p.Println("SlowBlink")
p.SetOptions(pal.WithSpecialEffects([]pal.Special{pal.Hidden}))
p.Print("Hidden")
p.SetOptions(pal.WithDefaults())
p.Println("<-Hidden")
p.SetOptions(pal.WithSpecialEffects([]pal.Special{pal.Strikethrough}))
p.Println("Strikethrough")
}
Flush redefine as opções da Paleta com os valores padrão e desativa a Paleta.
package main
import (
pal "github.com/abusomani/go-palette/palette"
)
func main() {
p := pal.New()
p.Println("This text is going to be in default color.")
// We can use color codes from the palette to set as foreground and background colors
p.SetOptions(pal.WithBackground(pal.BrightMagenta), pal.WithForeground(pal.Black))
p.Println("This text is going to be in black color with a bright magenta background.")
p.Flush()
p.Println("This text is going to be in default color.")
}
Exemplo criado usando Go-palette
Limitações
janelas
Go-Palette fornece apenas cores ANSI. O Windows não suporta ANSI pronto para uso. Para alternar o suporte a cores ANSI, siga as etapas listadas neste tópico de superusuário .
Diferentes comportamentos em efeitos especiais
Go-Palette fornece suporte estilizado usando códigos ANSI Color por meio de sequências de escape. Isso varia entre diferentes terminais com base em sua configuração. Consulte Códigos de escape ANSI para obter mais detalhes.
❤️ Confira mais sobre o pacote aqui .





































![O que é uma lista vinculada, afinal? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)