Documentation ¶
Overview ¶
Package cmdline provides command line option handling.
Index ¶
- Variables
- func Copyright() string
- type Cmd
- type CmdLine
- func (cl *CmdLine) AddCommand(cmd Cmd)
- func (cl *CmdLine) DisplayUsage()
- func (cl *CmdLine) FatalError(err error)
- func (cl *CmdLine) FatalIfError(err error)
- func (cl *CmdLine) FatalMsg(msg string)
- func (cl *CmdLine) NewBoolArrayOption(val *[]bool) *Option
- func (cl *CmdLine) NewBoolOption(val *bool) *Option
- func (cl *CmdLine) NewDurationArrayOption(val *[]time.Duration) *Option
- func (cl *CmdLine) NewDurationOption(val *time.Duration) *Option
- func (cl *CmdLine) NewFloat32ArrayOption(val *[]float32) *Option
- func (cl *CmdLine) NewFloat32Option(val *float32) *Option
- func (cl *CmdLine) NewFloat64ArrayOption(val *[]float64) *Option
- func (cl *CmdLine) NewFloat64Option(val *float64) *Option
- func (cl *CmdLine) NewInt16ArrayOption(val *[]int16) *Option
- func (cl *CmdLine) NewInt16Option(val *int16) *Option
- func (cl *CmdLine) NewInt32ArrayOption(val *[]int32) *Option
- func (cl *CmdLine) NewInt32Option(val *int32) *Option
- func (cl *CmdLine) NewInt64ArrayOption(val *[]int64) *Option
- func (cl *CmdLine) NewInt64Option(val *int64) *Option
- func (cl *CmdLine) NewInt8ArrayOption(val *[]int8) *Option
- func (cl *CmdLine) NewInt8Option(val *int8) *Option
- func (cl *CmdLine) NewIntArrayOption(val *[]int) *Option
- func (cl *CmdLine) NewIntOption(val *int) *Option
- func (cl *CmdLine) NewOption(value Value) *Option
- func (cl *CmdLine) NewStringArrayOption(val *[]string) *Option
- func (cl *CmdLine) NewStringOption(val *string) *Option
- func (cl *CmdLine) NewUint16ArrayOption(val *[]uint16) *Option
- func (cl *CmdLine) NewUint16Option(val *uint16) *Option
- func (cl *CmdLine) NewUint32ArrayOption(val *[]uint32) *Option
- func (cl *CmdLine) NewUint32Option(val *uint32) *Option
- func (cl *CmdLine) NewUint64ArrayOption(val *[]uint64) *Option
- func (cl *CmdLine) NewUint64Option(val *uint64) *Option
- func (cl *CmdLine) NewUint8ArrayOption(val *[]uint8) *Option
- func (cl *CmdLine) NewUint8Option(val *uint8) *Option
- func (cl *CmdLine) NewUintArrayOption(val *[]uint) *Option
- func (cl *CmdLine) NewUintOption(val *uint) *Option
- func (cl *CmdLine) Parse(args []string) []string
- func (cl *CmdLine) RunCommand(args []string) error
- func (cl *CmdLine) SetWriter(w io.Writer)
- func (cl *CmdLine) Write(p []byte) (n int, err error)
- type Option
- type Options
- type Value
- type Version
- func (v Version) Day() int
- func (v Version) Format(includeVersionWord, includeBuildDateTime bool) string
- func (v Version) Hour() int
- func (v Version) IsDevelopment() bool
- func (v Version) IsWhenUnset() bool
- func (v Version) Major() int
- func (v Version) Minor() int
- func (v Version) Minute() int
- func (v Version) Month() int
- func (v Version) Patch() int
- func (v Version) Second() int
- func (v Version) String() string
- func (v Version) When() time.Time
- func (v Version) Year() int
Constants ¶
This section is empty.
Variables ¶
var ( // AppCmdName holds the application's name as specified on the command // line. AppCmdName string // AppName holds the name of the application. By default, this is the same // as AppCmdName. AppName string // CopyrightYears holds the years to place in the copyright banner. CopyrightYears string // CopyrightHolder holds the name of the copyright holder. CopyrightHolder string // License holds the license the software is being distributed under. This // is intended to be a simple one line description, such as "Mozilla // Public License 2.0" and not the full license itself. License string // AppVersion holds the application's version information. Typically set // by the build system. AppVersion string // GitVersion holds the git revision and clean/dirty status and should be // set by the build system. GitVersion string // BuildNumber holds the build number and should be set by the build // system. BuildNumber string // AppIdentifier holds the uniform type identifier (UTI) for the // application. This should contain only alphanumeric (A-Z,a-z,0-9), // hyphen (-), and period (.) characters. The string should also be in // reverse-DNS format. For example, if your company’s domain is Ajax.com // and you create an application named Hello, you could assign the string // com.Ajax.Hello as your AppIdentifier. AppIdentifier string )
Functions ¶
Types ¶
type Cmd ¶
type Cmd interface { // Name should return the name of the command as it needs to be entered on // the command line. Name() string // Usage should return a description of what the command does. Usage() string // Run will be called to run the command. It will be passed a fresh // command line created from the command line that was parsed to determine // this command would be run, along with the arguments that have not yet // been consumed. The first argument, much like an application called from // main, will be the name of the command. Run(cmdLine *CmdLine, args []string) error }
Cmd represents a sub-command available on the command-line.
type CmdLine ¶
type CmdLine struct { // UsageSuffix, if set, will be appended to the 'Usage: ' line of the // output. UsageSuffix string // Description, if set, will be inserted after the program identity // section, before the usage. Description string // contains filtered or unexported fields }
CmdLine holds information about the command line.
func New ¶
New creates a new CmdLine. If 'includeDefaultOptions' is true, help (-h, --help) and version (-v, --version, along with hidden -V, --Version for long variants) options will be added, otherwise, only the help options will be added, although they will be hidden.
func (*CmdLine) AddCommand ¶
AddCommand adds a command to the available commands.
func (*CmdLine) DisplayUsage ¶
func (cl *CmdLine) DisplayUsage()
DisplayUsage displays the program usage information.
func (*CmdLine) FatalError ¶
FatalError emits an error message and causes the program to exit.
func (*CmdLine) FatalIfError ¶
FatalIfError emits an error message and causes the program to exit if err != nil.
func (*CmdLine) NewBoolArrayOption ¶
NewBoolArrayOption creates a new []bool Option and attaches it to this CmdLine.
func (*CmdLine) NewBoolOption ¶
NewBoolOption creates a new bool Option and attaches it to this CmdLine.
func (*CmdLine) NewDurationArrayOption ¶
NewDurationArrayOption creates a new []time.Duration Option and attaches it to this CmdLine.
func (*CmdLine) NewDurationOption ¶
NewDurationOption creates a new time.Duration Option and attaches it to this CmdLine.
func (*CmdLine) NewFloat32ArrayOption ¶
NewFloat32ArrayOption creates a new []float32 Option and attaches it to this CmdLine.
func (*CmdLine) NewFloat32Option ¶
NewFloat32Option creates a new float32 Option and attaches it to this CmdLine.
func (*CmdLine) NewFloat64ArrayOption ¶
NewFloat64ArrayOption creates a new []float64 Option and attaches it to this CmdLine.
func (*CmdLine) NewFloat64Option ¶
NewFloat64Option creates a new float64 Option and attaches it to this CmdLine.
func (*CmdLine) NewInt16ArrayOption ¶
NewInt16ArrayOption creates a new []int16 Option and attaches it to this CmdLine.
func (*CmdLine) NewInt16Option ¶
NewInt16Option creates a new int16 Option and attaches it to this CmdLine.
func (*CmdLine) NewInt32ArrayOption ¶
NewInt32ArrayOption creates a new []int32 Option and attaches it to this CmdLine.
func (*CmdLine) NewInt32Option ¶
NewInt32Option creates a new int32 Option and attaches it to this CmdLine.
func (*CmdLine) NewInt64ArrayOption ¶
NewInt64ArrayOption creates a new []int64 Option and attaches it to this CmdLine.
func (*CmdLine) NewInt64Option ¶
NewInt64Option creates a new int64 Option and attaches it to this CmdLine.
func (*CmdLine) NewInt8ArrayOption ¶
NewInt8ArrayOption creates a new []int8 Option and attaches it to this CmdLine.
func (*CmdLine) NewInt8Option ¶
NewInt8Option creates a new int8 Option and attaches it to this CmdLine.
func (*CmdLine) NewIntArrayOption ¶
NewIntArrayOption creates a new []int Option and attaches it to this CmdLine.
func (*CmdLine) NewIntOption ¶
NewIntOption creates a new int Option and attaches it to this CmdLine.
func (*CmdLine) NewStringArrayOption ¶
NewStringArrayOption creates a new []string Option and attaches it to this CmdLine.
func (*CmdLine) NewStringOption ¶
NewStringOption creates a new string Option and attaches it to this CmdLine.
func (*CmdLine) NewUint16ArrayOption ¶
NewUint16ArrayOption creates a new []uint16 Option and attaches it to this CmdLine.
func (*CmdLine) NewUint16Option ¶
NewUint16Option creates a new uint16 Option and attaches it to this CmdLine.
func (*CmdLine) NewUint32ArrayOption ¶
NewUint32ArrayOption creates a new []uint32 Option and attaches it to this CmdLine.
func (*CmdLine) NewUint32Option ¶
NewUint32Option creates a new uint32 Option and attaches it to this CmdLine.
func (*CmdLine) NewUint64ArrayOption ¶
NewUint64ArrayOption creates a new []uint64 Option and attaches it to this CmdLine.
func (*CmdLine) NewUint64Option ¶
NewUint64Option creates a new uint64 Option and attaches it to this CmdLine.
func (*CmdLine) NewUint8ArrayOption ¶
NewUint8ArrayOption creates a new []uint8 Option and attaches it to this CmdLine.
func (*CmdLine) NewUint8Option ¶
NewUint8Option creates a new uint8 Option and attaches it to this CmdLine.
func (*CmdLine) NewUintArrayOption ¶
NewUintArrayOption creates a new []uint Option and attaches it to this CmdLine.
func (*CmdLine) NewUintOption ¶
NewUintOption creates a new uint Option and attaches it to this CmdLine.
func (*CmdLine) Parse ¶
Parse the 'args', filling in any options. Returns the remaining arguments that weren't used for option content.
func (*CmdLine) RunCommand ¶
RunCommand attempts to run a command. Pass in the command line arguments, usually the result from calling Parse().
type Option ¶
type Option struct {
// contains filtered or unexported fields
}
Option represents an option available on the command line.
func (*Option) SetArg ¶
SetArg sets the argument name for this option. Returns self for easy chaining.
func (*Option) SetDefault ¶
SetDefault sets the default value for this option. Returns self for easy chaining.
type Options ¶
type Options []*Option
Options represents a set of options.
type Value ¶
type Value interface { // Set the contents of this value. Set(value string) error // String implements the fmt.Stringer interface. String() string }
Value represents a value that can be set for an Option.
type Version ¶
type Version uint64
Version holds an encoded version number that contains fields for the major, minor, and patch release numbers as well as a build date and time.
func NewVersion ¶
NewVersion constructs a new version. If 'major', 'minor', or 'patch' are out of the permitted ranges, a value of 0 will be returned.
func NewVersionFromString ¶
NewVersionFromString constructs a new version from a string.
func (Version) Format ¶
Format the version. If 'includeVersionWord' is true, then the word "Version" will be included as needed. If 'includeBuildDateTime' is true, then the build date and time will be included.
func (Version) IsDevelopment ¶
IsDevelopment returns true if this version has not been initialized.
func (Version) IsWhenUnset ¶
IsWhenUnset returns true if the build time has not been initialized.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
cmd
|
|
genvalues
genvalues creates the values.go content for the args package.
|
genvalues creates the values.go content for the args package. |
genversion
genversion provides a simple way to generate a version with build date and time of 'now'.
|
genversion provides a simple way to generate a version with build date and time of 'now'. |