Documentation
¶
Overview ¶
Example (VersionRequested) ¶
cfg := EnableShowVersion{GoKitConfigShowVersionOption: true} SetApplicationVersion("app", "version") err := cfg.GoKitConfigShowVersionRequested() fmt.Println(err)
Output: app version version printed
Index ¶
- Constants
- Variables
- func Close(e error, exitFunc func(code int))
- func Open(cfg any, args ...string) (err error)
- func PrintConfig(obj any, format string)
- func PrintConfigM(defs []Def, onlyEnv bool, namePrefix, envPrefix, title string)
- func ProcessOptions(cfg any) error
- func SaveJSON(fileName string, data any) error
- func SetApplicationVersion(app, ver string)
- type Def
- type EnableConfigDefGen
- type EnableConfigDump
- type EnableShowVersion
- type ErrBadArgsContainer
- type GroupDef
- type IsDefGenRequested
- type IsDumpRequested
- type IsShowVersionRequested
- type ItemDef
Examples ¶
Constants ¶
View Source
const ( // ExitNormal means there is no errors ExitNormal = iota // ExitError returned on application error ExitError // ExitBadArgs returned on config parse error ExitBadArgs // ExitHelp returned when help was requested ExitHelp )
Variables ¶
View Source
var ( // ErrHelpRequest returned when help requested ErrHelpRequest = errors.New("help requested") // ErrPrinted returned after showing error message ErrPrinted = errors.New("error printed") // ErrVersion returned after showing app version ErrVersion = errors.New("version printed") // ErrConfGen returned after config generation ErrConfGen = errors.New("config printed") )
View Source
var ( // LineFormatMk - формат строк параметра для Makefile. LineFormatMk = "#- %s (%s) [%s]\n%-20s ?=%s\n" // HeaderFormatMk - формат строки названия группы параметров для Makefile. HeaderFormatMk = "\n# %s\n\n" // LineFormatMD - формат строки параметра для Markdown. LineFormatMD = "| %-20s | %-20s | %s | %s | %s |\n" // HeaderFormatMD - формат строки названия группы параметров для Markdown. HeaderFormatMD = "\n### %s%s\n\n" // TableHeaderMD - шапка таблицы группы параметров для Markdown. TableHeaderMD = `| Name | ENV | Type | Default | Description |` + "\n|------|-----|------|---------|-------------|" )
Functions ¶
func PrintConfig ¶ added in v0.4.0
PrintConfig fetches config tags from obj struct and prints them in given format.
func PrintConfigM ¶ added in v0.4.0
PrintConfigM выводит конфиг в формате Makefile (onlyEnv) или MarkDown.
func ProcessOptions ¶ added in v0.5.0
func SetApplicationVersion ¶ added in v0.5.0
func SetApplicationVersion(app, ver string)
Types ¶
type Def ¶ added in v0.5.0
type Def struct { Name string `json:"name"` Env string `json:"env,omitempty"` Description string `json:"description,omitempty"` IsGroup bool `json:"is_group,omitempty"` Group *GroupDef `json:"group,omitempty"` Item *ItemDef `json:"item,omitempty"` }
Def - атрибуты группы/параметра конфигурации.
type EnableConfigDefGen ¶ added in v0.5.0
type EnableConfigDefGen struct {
GoKitConfigDefGenOption string `` /* 184-byte string literal not displayed */
}
EnableConfigDefGen содержит настройки для поддержки `config_gen`.
func (EnableConfigDefGen) GoKitConfigDefGenRequested ¶ added in v0.5.0
func (opt EnableConfigDefGen) GoKitConfigDefGenRequested(cfg any) error
type EnableConfigDump ¶ added in v0.5.0
type EnableConfigDump struct { // GoKitConfigRequestForConfGen GoKitConfigDumpOption string `description:"Dump config dest filename" long:"config_dump" env:"CONFIG_DUMP"` }
Generate содержит настройки для поддержки `config_gen`.
func (EnableConfigDump) GoKitConfigDumpRequested ¶ added in v0.5.0
func (opt EnableConfigDump) GoKitConfigDumpRequested(cfg any) error
type EnableShowVersion ¶ added in v0.5.0
type EnableShowVersion struct { // GoKitConfigShowVersionOption - флаг для вывода версии приложения. GoKitConfigShowVersionOption bool `description:"Show version and exit" long:"version"` }
EnableShowVersion при включении в Config добавляет поддержку `--version`.
func (EnableShowVersion) GoKitConfigShowVersionRequested ¶ added in v0.5.0
func (opt EnableShowVersion) GoKitConfigShowVersionRequested() error
type ErrBadArgsContainer ¶ added in v0.2.0
type ErrBadArgsContainer struct {
// contains filtered or unexported fields
}
ErrBadArgsContainer holds config parse error
func (ErrBadArgsContainer) Error ¶ added in v0.2.0
func (e ErrBadArgsContainer) Error() string
Error returns inner Error()
type GroupDef ¶ added in v0.5.0
type GroupDef struct {
Items []Def `json:"items"`
}
GroupDef - атрибуты группы параметров.
type IsDefGenRequested ¶ added in v0.5.0
type IsDumpRequested ¶ added in v0.5.0
type IsShowVersionRequested ¶ added in v0.5.0
type IsShowVersionRequested interface {
GoKitConfigShowVersionRequested() error
}
IsShowVersionRequested доступен, если в структуру встроен `EnableShowVersion`.
Click to show internal directories.
Click to hide internal directories.