Documentation ¶
Overview ¶
Package util has some CLI related utility code.
Index ¶
- Constants
- func CliParseError(err error) error
- func Hello(program, version string, flags Flags)
- func LogSetup(debug bool)
- func LookupSubcommand(obj interface{}, st interface{}) string
- func SafeProgram(program string) string
- type Data
- type EmptyArgs
- type Error
- type Flags
- type LangArgs
- type LangPuppetArgs
- type PuppetArgs
- type YamlArgs
Constants ¶
const ( // MissingEquals means we probably hit the parsing bug. // XXX: see: https://github.com/alexflint/go-arg/issues/239 MissingEquals = Error("missing equals sign for list element") )
Variables ¶
This section is empty.
Functions ¶
func CliParseError ¶
CliParseError returns a consistent error if we have a CLI parsing issue.
func LogSetup ¶
func LogSetup(debug bool)
LogSetup changes some of the core logger package settings.
func LookupSubcommand ¶
func LookupSubcommand(obj interface{}, st interface{}) string
LookupSubcommand returns the name of the subcommand in the obj, of a struct. This is useful for determining the name of the subcommand that was activated. It returns an empty string if a specific name was not found.
func SafeProgram ¶
SafeProgram returns the correct program string when given a buggy variant.
Types ¶
type Data ¶
type Data struct { Program string Version string Copying string Tagline string Flags Flags Args []string // os.Args usually }
Data is a struct of values that we usually pass to the main CLI function.
type EmptyArgs ¶
type EmptyArgs struct{}
EmptyArgs is the empty CLI parsing structure and type of the parsed result.
type Flags ¶
type Flags struct { Debug bool // add additional log messages Logf func(format string, v ...interface{}) }
Flags are some constant flags which are used throughout the program.
type LangArgs ¶
type LangArgs struct { // Input is the input mcl code or file path or any input specification. Input string `arg:"positional,required"` Download bool `arg:"--download" help:"download any missing imports"` OnlyDownload bool `arg:"--only-download" help:"stop after downloading any missing imports"` Update bool `arg:"--update" help:"update all dependencies to the latest versions"` OnlyUnify bool `arg:"--only-unify" help:"stop after type unification"` SkipUnify bool `arg:"--skip-unify" help:"skip type unification"` UnifySolver *string `arg:"--unify-name" help:"pick a specific unification solver"` UnifyOptimizations []string `arg:"--unify-optimizations" help:"list of unification optimizations to request (experts only)"` Depth int `arg:"--depth" default:"-1" help:"max recursion depth limit (-1 is unlimited)"` // The default of 0 means any error is a failure by default. Retry int `arg:"--depth" help:"max number of retries (-1 is unlimited)"` ModulePath string `arg:"--module-path,env:MGMT_MODULE_PATH" help:"choose the modules path (absolute)"` }
LangArgs is the lang CLI parsing structure and type of the parsed result.
type LangPuppetArgs ¶
type LangPuppetArgs struct { // LangInput is the input mcl code or file path or any input specification. LangInput string `arg:"--lang,required" help:"the input parameter for the lang module"` // PuppetInput is the input puppet code or file path or just "agent". PuppetInput string `arg:"--puppet,required" help:"the input parameter for the puppet module"` // PuppetConf is the optional path to a puppet.conf config file. PuppetConf string `arg:"--puppet-conf" help:"full path to the puppet.conf file to use"` Download bool `arg:"--download" help:"download any missing imports"` OnlyDownload bool `arg:"--only-download" help:"stop after downloading any missing imports"` Update bool `arg:"--update" help:"update all dependencies to the latest versions"` OnlyUnify bool `arg:"--only-unify" help:"stop after type unification"` SkipUnify bool `arg:"--skip-unify" help:"skip type unification"` Depth int `arg:"--depth" default:"-1" help:"max recursion depth limit (-1 is unlimited)"` // The default of 0 means any error is a failure by default. Retry int `arg:"--depth" help:"max number of retries (-1 is unlimited)"` ModulePath string `arg:"--module-path,env:MGMT_MODULE_PATH" help:"choose the modules path (absolute)"` }
LangPuppetArgs is the langpuppet CLI parsing structure and type of the parsed result.
type PuppetArgs ¶
type PuppetArgs struct { // Input is the input puppet code or file path or just "agent". Input string `arg:"positional,required"` // PuppetConf is the optional path to a puppet.conf config file. PuppetConf string `arg:"--puppet-conf" help:"full path to the puppet.conf file to use"` }
PuppetArgs is the puppet CLI parsing structure and type of the parsed result.