Limit max block nesting depth
Error out on anonymous struct field
These are not supported at the moment. Make this clear by failing
early instead of silently ignoring such fields.
Error out on duplicate scfg struct tag key
Include line numbers in unmarshal errors
Fix directiveMapSlice test
We want to test unmarshaling slices of maps, not maps of slices.
Add support for unmarshaling directives to slices of structs/maps
Rename unmarshalDirectiveParams to unmarshalParamList
We'll have a similar unmarshalDirectiveList function soon.
Add support for encoding.TextUnmarshaler
Add support for arrays in Decoder
Add Decoder
This adds unmarshaling support to go-scfg, inspired by the Go json
library.
Co-authored-by: Simon Ser <contact@emersion.fr>
Fold marshal.go into writer.go
For symmetry with reader.go.
Move Block and Directive to scfg.go
This is shared between readers and writers.
scfg: add Write
Signed-off-by: Sebastien Binet <s@sbinet.org>
Allow to set empty strings
Something like this in the config file
test ""
would currently fail with the following error:
directive "test": want 1 params, got 0
By allowing go-scfg to read empty strings, it would be possible to set
default values, but still allow users to unset those.
Include line number in error messages
Use own word splitting function
scfg word splitting is a bit different than shlex'. Let's just
implement our own parser.
readme: switch to godocs.io
readme: add link to mailing list