Skip to content

imbecility/colorgo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

colorgo

библиотека Go для стилизации вывода в командной строке с помощью цветов и стилей текста, а также для создания форматированных справочных сообщений для CLI-приложений.

cтруктура проекта

.
├── clih/
│   └── usage.go
├── colors/
│   └── colors.go
└── main.go

пример использования

package main

import (
	"flag"
	"fmt"
	"github.com/imbecility/colorgo/clih"
	"github.com/imbecility/colorgo/colors"
	"os"
	"time"
)

func main() {
	flag.Duration("flag4", time.Hour, "Задача организации, в особенности же курс на социально-ориентированный национальный проект способствует повышению актуальности новых предложений.")
	flag.Int("flag3", 3, "Практический опыт показывает, что реализация намеченного плана развития способствует повышению актуальности системы обучения кадров, соответствующей насущным потребностям? Дорогие друзья, консультация с профессионалами из IT влечет за собой процесс внедрения и модернизации ключевых компонентов планируемого обновления. Разнообразный и богатый опыт социально-экономическое развитие требует от нас анализа модели развития.")
	flag.String("flag1", "строка", "Практический опыт показывает, что дальнейшее развитие различных форм деятельности требует определения и уточнения дальнейших направлений развития проекта.")
	flag.Uint64("flag5", 18446744073709551615, "флаг для unit64")
	flag.Bool("flag2", false, "Равным образом выбранный нами инновационный путь требует от нас анализа позиций, занимаемых участниками в отношении поставленных задач. ")
	flag.Float64("flag0", 3.1415926535, "флаг числа с плавающей точкой")

	flag.Usage = func() {
		cliName := os.Args[0]
		description := "Значимость этих проблем настолько очевидна, что реализация намеченного плана развития требует от нас системного анализа существующих финансовых и административных условий. Разнообразный и богатый опыт курс на социально-ориентированный национальный проект требует определения и уточнения дальнейших направлений развития проекта."
		usage := fmt.Sprintf("Usage:\n\t%s [options] <command> [arguments]\n\n", cliName)

		cliHelp := clih.GetFlagDescriptions(clih.FlagDescriptionsConfig{
			CliName:     &cliName,
			Usage:       &usage,
			Description: &description,
		})

		fmt.Println(cliHelp)
	}

	flag.Usage()

	fmt.Println("---")

	fmt.Println(colors.Default("это обычный текст (с доп. стилями)", colors.Italic))
	fmt.Println(colors.CCyan("это голубой текст (без доп. стилей)"))
	fmt.Println(colors.CRed("это красный жирный текст", colors.Bold))
	fmt.Println(colors.CPurple("фиолетовый, жирный и курсив", colors.Bold, colors.Italic))

	fmt.Println("---")

	var extraStyles []string

	fmt.Println(colors.CGreen("зеленый текст с потенциально пустыми стилями", extraStyles...))

	extraStyles = []string{colors.Bold, colors.Underline}
	fmt.Println(colors.CYellow("желтый текст со стилями из переменной", extraStyles...))
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages