1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/gookit-color

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.zh-CN.md 12 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 27.11.2024 02:08 99ffcef
color.Bold.Println("bold message")
color.Black.Println("bold message")
color.White.Println("bold message")
color.Gray.Println("bold message")
color.Red.Println("yellow message")
color.Blue.Println("yellow message")
color.Cyan.Println("yellow message")
color.Yellow.Println("yellow message")
color.Magenta.Println("yellow message")

// Only use foreground color
color.FgCyan.Printf("Simple to use %s\n", "color")
// Only use background color
color.BgRed.Printf("Simple to use %s\n", "color")

Жирный шрифт сообщения.

Чёрный шрифт сообщения.

Белый шрифт сообщения.

Серый шрифт сообщения.

Красное сообщение.

Синее сообщение.

Циановый (сине-зелёный) шрифт сообщения.

Жёлтое сообщение.

Пурпурное сообщение.

Только использовать основной цвет.

Простой в использовании цвет.

Использовать только фоновый цвет.

Просто использовать цвет.

// 仅设置前景色
color.FgCyan.Printf("Simple to use %s\n", "color")
// 仅设置背景色
color.BgRed.Printf("Simple to use %s\n", "color")

// 完全自定义: 前景色 背景色 选项
style := color.New(color.FgWhite, color.BgBlack, color.OpBold)
style.Println("custom color style")

// 也可以:
color.Style{color.FgCyan, color.OpBold}.Println("custom color style")

Напрямую установить свойства консоли:

// 设置console颜色
color.Set(color.FgCyan)

// 输出信息
fmt.Print("message")

// 重置console颜色
color.Reset()

Конечно, у color уже есть богатая поддержка цветов.

Расширенные методы стиля

Предоставляет общий API-метод: Print, Printf, Println, Sprint, Sprintf.

Поддерживает использование в Windows cmd.exe, PowerShell и других терминалах.

Базовое использование:

// print message
color.Info.Println("Info message")
color.Note.Println("Note message")
color.Notice.Println("Notice message")
color.Error.Println("Error message")
color.Danger.Println("Danger message")
color.Warn.Println("Warn message")
color.Debug.Println("Debug message")
color.Primary.Println("Primary message")
color.Question.Println("Question message")
color.Secondary.Println("Secondary message")

Запустите демонстрацию: go run ./_examples/theme_basic.go

Упрощённый стиль подсказки

color.Info.Tips("Info tips message")
color.Note.Tips("Note tips message")
color.Notice.Tips("Notice tips message")
color.Error.Tips("Error tips message")
color.Danger.Tips("Danger tips message")
color.Warn.Tips("Warn tips message")
color.Debug.Tips("Debug tips message")
color.Primary.Tips("Primary tips message")
color.Question.Tips("Question tips message")
color.Secondary.Tips("Secondary tips message")

Запустите демонстрацию: go run ./_examples/theme_tips.go

Подчёркивающий стиль подсказки

color.Info.Prompt("Info prompt message")
color.Note.Prompt("Note prompt message")
color.Notice.Prompt("Notice prompt message")
color.Error.Prompt("Error prompt message")
color.Danger.Prompt("Danger prompt message")

Запустите демонстрацию: go run ./_examples/theme_prompt.go

Выделенный стиль подсказки

color.Warn.Block("Warn block message")
color.Debug.Block("Debug block message")
color.Primary.Block("Primary block message")
color.Question.Block("Question block message")
color.Secondary.Block("Secondary block message")

Запустите демонстрацию: go run ./_examples/theme_block.go

Использование 256 цветов

Поддержка 256-цветной палитры в версиях после v1.2.4 для среды Windows CMD, PowerShell.

Использование переднего или заднего плана:

  • color.C256(val uint8, isBg ...bool) Color256
c := color.C256(132) // fg color
c.Println("message")
c.Printf("format %s", "message")

c := color.C256(132, true) // bg color
c.Println("message")
c.Printf("format %s", "message")

Использование 256 цветовой палитры:

Можно одновременно установить передний план и фон.

  • color.S256(fgAndBg ...uint8) *Style256
s := color.S256(32, 203)
s.Println("message")
s.Printf("format %s", "message")

Можно добавить параметры настройки:

s := color.S256(32, 203)
s.SetOpts(color.Opts{color.OpBold})

s.Println("style with options")
s.Printf("style with %s\n", "options")

Запустите демонстрацию: go run ./_examples/color_256.go

Использование RGB/True цвета

Поддержка RGB/True цветов в версиях после v1.2.4 для среды Windows CMD, PowerShell.

Эффект предварительного просмотра:

Запустите демонстрацию: Run demo: go run ./_examples/color_rgb.go color.HEXStyle("eee", "D50000").Println("deep-purple color")

### Использование переднего плана или фона цвета 

- `color.RGB(r, g, b uint8, isBg ...bool) RGBColor`

```go
c := color.RGB(30,144,255) // fg color
c.Println("message")
c.Printf("format %s", "message")

c := color.RGB(30,144,255, true) // bg color
c.Println("message")
c.Printf("format %s", "message")
  • color.HEX(hex string, isBg ...bool) RGBColor из шестнадцатеричного цвета создать
c := color.HEX("ccc") // также можно записать как: "cccccc" "#cccccc"
c.Println("message")
c.Printf("format %s", "message")

c = color.HEX("aabbcc", true) // как цвет фона
c.Println("message")
c.Printf("format %s", "message")

Использование стиля RGB

Можно одновременно установить передний план и фон цвета

  • color.NewRGBStyle(fg RGBColor, bg ...RGBColor) *RGBStyle
s := color.NewRGBStyle(RGB(20, 144, 234), RGB(234, 78, 23))
s.Println("message")
s.Printf("format %s", "message")
  • color.HEXStyle(fg string, bg ...string) *RGBStyle из шестнадцатеричного цвета создать
s := color.HEXStyle("11aa23", "eee")
s.Println("message")
s.Printf("format %s", "message")
  • Можно одновременно добавить параметры настройки:
s := color.HEXStyle("11aa23", "eee")
s.SetOpts(color.Opts{color.OpBold})

s.Println("style with options")
s.Printf("style with %s\n", "options")

Использование цветовых тегов

Поддержка в windows cmd.exe PowerShell использовать

Использовать встроенные цветовые теги, можно очень удобно и просто создавать любой нужный формат

Одновременно поддерживает пользовательские атрибуты цвета: поддерживает использование шестнадцати цветов, 256 цветов, значений RGB и шестнадцатеричных значений цвета

// Использовать встроенные цветовые теги
color.Print("<suc>he</><comment>llo</>, <cyan>wel</><red>come</>")
color.Println("<suc>hello</>")
color.Println("<error>hello</>")
color.Println("<warning>hello</>")

// Пользовательские атрибуты цвета
color.Print("<fg=yellow;bg=black;op=underscore;>hello, welcome</>\n")

// Пользовательские атрибуты цвета: поддержка использования шестнадцати цветов, 256 цветов, значений RGB и шестнадцатеричных значений цвета
color.Println("<fg=11aa23>he</><bg=120,35,156>llo</>, <fg=167;bg=232>wel</><fg=red>come</>")
  • Использовать color.Tag

Добавить заданный стиль к последующему выводу текста

// Установить стиль тега
color.Tag("info").Print("text в стиле info")
color.Tag("info").Printf("%s text в стиле info", "info")
color.Tag("info").Println("text в стиле info")

Запустить демо: go run ./_examples/color_tag.go

color-tags

Преобразование цвета

Поддерживает Rgb, 256, шестнадцать цветов между взаимными преобразованиями Rgb <=> 256 <=> 16

basic := color.Red
basic.Println("basic color")

c256 := color.Red.C256()
c256.Println("256 color")
c256.C16().Println("basic color")

rgb := color.Red.RGB()
rgb.Println("rgb color")
rgb.C256().Println("256 color")

Дополнительные методы преобразования в RGBColor:

  • func RGBFromSlice(rgb []uint8, isBg ...bool) RGBColor
  • func RGBFromString(rgb string, isBg ...bool) RGBColor
  • func HEX(hex string, isBg ...bool) RGBColor
  • func HSL(h, s, l float64, isBg ...bool) RGBColor
  • func HSLInt(h, s, l int, isBg ...bool) RGBColor

Справочные методы

Некоторые полезные инструменты

  • Disable() отключить рендеринг цвета
  • SetOutput(io.Writer) настроить вывод цветного текста
  • ForceOpenColor() принудительно открыть рендеринг цвета
  • ClearCode(str string) string Использовать для очистки цветовых кодов
  • Colors2code(colors ...Color) string Преобразовать цвета в код. вернуть как «32;45;3»
  • ClearTag(s string) string очистить все цветовые HTML-теги для строки
  • IsConsole(w io.Writer) Определить, является ли w одним из stderr, stdout, stdin
  • HexToRgb(hex string) (rgb []int) Преобразовать шестнадцатеричную строку цвета в числа RGB
  • RgbToHex(rgb []int) string Преобразование RGB в шестнадцатеричный код
  • Подробнее см. документацию https://pkg.go.dev/github.com/gookit/color

Проекты с использованием Color

Посмотрите на эти проекты, использующие https://github.com/gookit/color:

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/gookit-color.git
git@api.gitlife.ru:oschina-mirror/gookit-color.git
oschina-mirror
gookit-color
gookit-color
master