summaryrefslogtreecommitdiff
path: root/spew/format.go
AgeCommit message (Collapse)Author
2017-07-11travis: Use gometalinterDavid Hill
2016-10-29Update license copyright years.Dave Collins
Several files had been updated since the listed years. This updates them accordingly.
2015-04-10Enable methods to sort map keys and spew itself as last resortTim Hockin
If enabled by flags, try to use methods to stringify map keys and sort on that. If we can't use primitive sorting and we can't use methods, we can still fall back on spew itself. If SpewKeys is enabled, use Sprintf("%#v") to generate a string and sort by that.
2015-01-19make nil maps appear different than empty mapsdeads2k
2013-11-14Reorganize the new map key sorting functionality.Dave Collins
This commit moves the new code related to sorting reflect.Value items into common.go since it is accessed by both the formatter and the dumper. It also adds comments to the new functions and unexports SortValues since it should be an internal function only.
2013-10-27config: add SortKeys option to sort native map keys before displayPatrick Mezard
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-09-09Detect nil slices and print them as <nil>.Dave Collins
This commit modifies the code to detect nil slices and display them as <nil> (as opposed to simply empty slices). For most instances a nil slice can be treated the same as an empty slice, but there is a difference and things like reflect.DeepEqual notice. This change makes it clear whether the type in question is a nil slice or an empty slice.
2013-03-27Fix incorrect val display on packed nil interfaces.Dave Collins
This was reported by shurcooL as issue #12.
2013-03-08Modify printInt and printUint to accept base.Dave Collins
This paves the way to improve how byte arrays are output as well as increases the flexibily of the functions.
2013-02-07Fix a couple of comment typos.Dave Collins
2013-01-20Improve invalid reflect value handling.Dave Collins
It was previously possible for an invalid reflect value to lead to a panic in certain obscure cases. Rather than adding multiple checks for the invalid reflect value, handle invalid reflect values immediately.
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-14Use writer directly in formatter.Dave Collins
Write directly to the fmt.State output writer to avoid the overhead of a buffer in the formatter code.
2013-01-12Fix incorrect type display on nil pointers.Dave Collins
This was reported by korschak as issue #4 who also pinpointed the issue and provided a patch.
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-10Add config pointers to format and dump states.Dave Collins
This paves the way to support individual configuration options through a separate type while still providing the simple global config and package level methods.
2013-01-10Fix a couple of comment typos.Dave Collins
2013-01-08Initial implementation.Dave Collins