Documentation ¶
Index ¶
- func JSONParser(r io.Reader, set func(name, value string) error) error
- func Parse(fs *flag.FlagSet, args []string, options ...Option) error
- func PlainParser(r io.Reader, set func(name, value string) error) error
- type ConfigFileParser
- type Context
- type JSONParseError
- type Option
- func WithAllowMissingConfigFile(allow bool) Option
- func WithConfigFile(filename string) Option
- func WithConfigFileFlag(flagname string) Option
- func WithConfigFileParser(p ConfigFileParser) Option
- func WithEnvVarIgnoreCommas(ignore bool) Option
- func WithEnvVarNoPrefix() Option
- func WithEnvVarPrefix(prefix string) Option
- func WithIgnoreUndefined(ignore bool) Option
- type StringConversionError
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func JSONParser ¶
JSONParser is a parser for config files in JSON format. Input should be an object. The object's keys are treated as flag names, and the object's values as flag values. If the value is an array, the flag will be set multiple times.
func Parse ¶
Parse the flags in the flag set from the provided (presumably commandline) args. Additional options may be provided to parse from a config file and/or environment variables in that priority order.
func PlainParser ¶
PlainParser is a parser for config files in an extremely simple format. Each line is tokenized as a single key/value pair. The first whitespace-delimited token in the line is interpreted as the flag name, and all remaining tokens are interpreted as the value. Any leading hyphens on the flag name are ignored.
Types ¶
type ConfigFileParser ¶
ConfigFileParser interprets the config file represented by the reader and calls the set function for each parsed flag pair.
type Context ¶
type Context struct {
// contains filtered or unexported fields
}
Context contains private fields used during parsing.
type JSONParseError ¶
type JSONParseError struct {
Inner error
}
JSONParseError wraps all errors originating from the JSONParser.
func (JSONParseError) Error ¶
func (e JSONParseError) Error() string
Error implenents the error interface.
func (JSONParseError) Unwrap ¶
func (e JSONParseError) Unwrap() error
Unwrap implements the xerrors.Wrapper interface, allowing xerrors.Is and xerrors.As to work with JSONParseErrors.
type Option ¶
type Option func(*Context)
Option controls some aspect of parse behavior.
func WithAllowMissingConfigFile ¶
WithAllowMissingConfigFile will permit parse to succeed, even if a provided config file doesn't exist.
func WithConfigFile ¶
WithConfigFile tells parse to read the provided filename as a config file. Requires WithConfigFileParser, and overrides WithConfigFileFlag.
func WithConfigFileFlag ¶
WithConfigFileFlag tells parse to treat the flag with the given name as a config file. Requires WithConfigFileParser, and is overridden by WithConfigFile.
func WithConfigFileParser ¶
func WithConfigFileParser(p ConfigFileParser) Option
WithConfigFileParser tells parse how to interpret the config file provided via WithConfigFile or WithConfigFileFlag.
func WithEnvVarIgnoreCommas ¶ added in v1.7.0
WithEnvVarIgnoreCommas tells parse to ignore commas in environment variable values, treating the complete value as a single string passed to the associated flag. By default, if an environment variable's value contains commas, each comma-delimited token is treated as a separate instance of the associated flag.
func WithEnvVarNoPrefix ¶
func WithEnvVarNoPrefix() Option
WithEnvVarNoPrefix tells parse to look in the environment for variables with no prefix. See WithEnvVarPrefix for an explanation of how flag names are converted to environment variables names.
func WithEnvVarPrefix ¶
WithEnvVarPrefix tells parse to look in the environment for variables with the given prefix. Flag names are converted to environment variables by capitalizing them, and replacing separator characters like periods or hyphens with underscores.
func WithIgnoreUndefined ¶
WithIgnoreUndefined tells parse to ignore undefined flags that it encounters, which would normally throw an error.
type StringConversionError ¶
type StringConversionError struct {
Value interface{}
}
StringConversionError is returned when a value in a config file can't be converted to a string, to be provided to a flag.
func (StringConversionError) Error ¶
func (e StringConversionError) Error() string
Error implements the error interface.
Directories ¶
Path | Synopsis |
---|---|
Package ffcli is for building declarative commandline applications.
|
Package ffcli is for building declarative commandline applications. |
Package fftest provides helpers for parser testing.
|
Package fftest provides helpers for parser testing. |
Package fftoml provides a TOML config file paser.
|
Package fftoml provides a TOML config file paser. |
Package ffyaml provides a YAML config file paser.
|
Package ffyaml provides a YAML config file paser. |