summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorWlazlo, Matt <[email protected]>2018-04-13 14:46:24 +1000
committerWlazlo, Matt <[email protected]>2018-04-13 14:46:24 +1000
commitd4cc703210ff08d7bc4f73bfbec1e51eda29a5a4 (patch)
tree3e554efc7cbda3dd03ae15a73bb4a54782fc23fb /README.md
parent0cc8e30fd64c8c71d094be299ad424da93ef9aed (diff)
Custom parsers implementing encoding.TextMarshaler() can have default values printed via --help
Diffstat (limited to 'README.md')
-rw-r--r--README.md18
1 files changed, 18 insertions, 0 deletions
diff --git a/README.md b/README.md
index 18dc556..f3d1bfc 100644
--- a/README.md
+++ b/README.md
@@ -265,15 +265,33 @@ func (n *NameDotName) UnmarshalText(b []byte) error {
return nil
}
+// optional, implement in case you want to use defaults
+func (n *NameDotName) MarshalText() (text []byte, err error) {
+ text = []byte(fmt.Sprintf("%s.%s", n.Head, n.Tail))
+ return
+}
+
func main() {
var args struct {
Name *NameDotName
}
+ // set default
+ args.Name = &NameDotName{"file", "txt"}
arg.MustParse(&args)
fmt.Printf("%#v\n", args.Name)
}
```
```shell
+$ ./example --help
+Usage: test [--name NAME]
+
+Options:
+ --name NAME [default: file.txt]
+ --help, -h display this help and exit
+
+$ ./example
+&main.NameDotName{Head:"file", Tail:"txt"}
+
$ ./example --name=foo.bar
&main.NameDotName{Head:"foo", Tail:"bar"}