Commit 59bd805d authored by Matt Bell's avatar Matt Bell Committed by Juan Batiz-Benet

commands: Added 'Description' fields to Command, Argument, Option

parent 9f671852
......@@ -8,8 +8,9 @@ const (
)
type Argument struct {
Name string
Type ArgumentType
Required bool
Variadic bool
Name string
Type ArgumentType
Required bool
Variadic bool
Description string
}
......@@ -28,7 +28,9 @@ type Marshaller func(Response) ([]byte, error)
// Command is a runnable command, with input arguments and options (flags).
// It can also have Subcommands, to group units of work into sets.
type Command struct {
Description string
Help string
Options []Option
Arguments []Argument
Run Function
......
......@@ -14,8 +14,9 @@ const (
// Option is used to specify a field that will be provided by a consumer
type Option struct {
Names []string // a list of unique names to
Type reflect.Kind // value must be this type
Names []string // a list of unique names to
Type reflect.Kind // value must be this type
Description string // a short string to describe this option
// TODO: add more features(?):
//Default interface{} // the default value (ignored if `Required` is true)
......@@ -30,7 +31,8 @@ const (
// options that are used by this package
var globalOptions = []Option{
Option{[]string{EncShort, EncLong}, String},
Option{[]string{EncShort, EncLong}, String,
"The encoding type the output should be encoded with (json, xml, or text)"},
}
// the above array of Options, wrapped in a Command
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment