summaryrefslogtreecommitdiff
path: root/spew/spew.go
AgeCommit message (Collapse)Author
2013-01-19Move SpewState methods to ConfigState.Dave Collins
Rather than stuffing a ConfigState instance into a separate SpewState, just add the functionality directly to the ConfigState. This provides simpler syntax for the consumer. One side effect of this change is that, unlike a zero value SpewState, a zero value ConfigState doesn't provide default values which means the Indent field is set to provide no indentation. The consumer is now expected to set the indent to their desired value when declaring an instance of ConfigState. Alternatively, the consumer can call a new function, NewDefaultConfig, which returns a ConfigState with default values, including a default indentation of a single space. For example, to change the indent to a tab, the previous syntax was: ss := new(spew.SpewState) // or var ss spew.SpewState scs := ss.Config() scs.Indent = "\t" scs.Dump(whatever) The new syntax is simply: scs := spew.ConfigState{Indent: "\t"} scs.Dump(whatever)
2013-01-17Implement support for %#v and %#+v in Formatter.Dave Collins
This commit implements feature request #3. In particular, it allows the formatter to respond to %#v and %#+v. The # flag (%#v) adds type information to the output and the combination of the # and + flags (%#+v) adds both type information and pointer information. This allows the consumer a choice between displaying types, pointer information, or both.
2013-01-16Fix a comment and a apply few gofmt changes.Dave Collins
2013-01-13Fix a few comment typos and improve consistency.Dave Collins
2013-01-12Implement support for unqiue config instances.Dave Collins
This commit adds a new type, SpewState, which can be used to create instances with unique configuration options. The methods of SpewState are equivalent to the top-level functions. Full documentation and examples are included.
2013-01-08Initial implementation.Dave Collins