Commit Graph

14 Commits

Author SHA1 Message Date
Dave Collins f0ba95e184 Fix a few style issues pointed out by golint. 2013-11-14 21:19:56 -06:00
Patrick Mezard 8e1b34364f dump: make SortKeys default to string representation instead of nothing
The previous version of SortKeys was sorting only native types. Now, if
the type is unknown it defaults to its reflect.Value.String()
representation which at least guarantees display stability.
2013-10-28 14:35:33 +01:00
Patrick Mezard 1fdf49f1b9 config: add SortKeys option to sort native map keys before display
If ConfigState.SortKeys is true, then dump and format will sort map keys
before displaying them. Only native types (bool, ints, uint, uintptr,
string) are supported, other slices are left unchanged.

The motivation is to have more diffable output, mostly for test purpose.
2013-10-27 23:44:49 +01:00
Dave Collins 691853c424 Update docs for new Sdump function. 2013-03-11 18:37:09 -05:00
Dave Collins 3a62f585a7 Add support for Sdump.
This commit adds a function named Sdump which works exactly like Dump and
Fdump except it returns the formatted output as a string.  This serves the
same purpose as the the Sprint* family of functions.
2013-03-11 18:15:28 -05:00
Dave Collins 096da7a702 Update docs for new byte array and slice behavior. 2013-03-08 22:45:02 -06:00
Dave Collins 9dfc238865 Cleanup documentation on new ContinueOnMethod code.
This commit expands on TShadwell's work attached to issue #8.  It
rounds out the documentation for the new option.
2013-03-03 12:59:13 -06:00
Thomas NJ Shadwell 6d6046a9de Re-added accidentally removed lines 2013-02-26 19:48:56 +00:00
Thomas NJ Shadwell f948516369 revert previous mis-commits, add ability to allow deeper pretty-printing after an error or Stringer interface is encountered. 2013-02-26 19:43:45 +00:00
Dave Collins ce74710920 Add support Sprint* family of functions.
This commit implements wrappers for the fmt.Sprint, fmt.Sprintf, and
fmt.Sprintln functions as requested in issue #7.
2013-02-23 21:33:01 -06:00
Dave Collins 13fc9b8d2f Move SpewState methods to ConfigState.
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-19 19:00:25 -06:00
Dave Collins 1dd6d991eb Update ConfigState documentation.
There is now support for concurrent configuration through the use of
SpewState instances.  Update the documenation to properly reflect this.
2013-01-12 12:35:23 -06:00
Dave Collins 034a2a5a5e Implement support for unqiue config instances.
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-12 12:06:59 -06:00
Dave Collins 1a599b7b25 Initial implementation. 2013-01-08 23:38:16 -06:00