Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
dms3
go-dms3
Commits
38b31c65
Commit
38b31c65
authored
10 years ago
by
Matt Bell
Committed by
Juan Batiz-Benet
10 years ago
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
commands: Added Option helper constructors
parent
3e30093c
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
33 additions
and
1 deletion
+33
-1
commands/option.go
commands/option.go
+33
-1
No files found.
commands/option.go
View file @
38b31c65
...
...
@@ -18,11 +18,43 @@ type Option struct {
Type
reflect
.
Kind
// value must be this type
Description
string
// a short string to describe this option
// TODO: add more features(?):
//
MAYBE_
TODO: add more features(?):
//Default interface{} // the default value (ignored if `Required` is true)
//Required bool // whether or not the option must be provided
}
// constructor helper functions
func
NewOption
(
kind
reflect
.
Kind
,
names
...
string
)
Option
{
if
len
(
names
)
<
2
{
panic
(
"Options require at least two string values (name and description)"
)
}
desc
:=
names
[
len
(
names
)
-
1
]
names
=
names
[
:
len
(
names
)
-
2
]
return
Option
{
Names
:
names
,
Type
:
kind
,
Description
:
desc
,
}
}
func
BoolOption
(
names
...
string
)
Option
{
return
NewOption
(
Bool
,
names
...
)
}
func
IntOption
(
names
...
string
)
Option
{
return
NewOption
(
Int
,
names
...
)
}
func
UintOption
(
names
...
string
)
Option
{
return
NewOption
(
Uint
,
names
...
)
}
func
FloatOption
(
names
...
string
)
Option
{
return
NewOption
(
Float
,
names
...
)
}
func
StringOption
(
names
...
string
)
Option
{
return
NewOption
(
String
,
names
...
)
}
// Flag names
const
(
EncShort
=
"enc"
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment