12 Commits
Author SHA1 Message Date
Stephen Celis be44c34910 Support ordered dictionaries/sets (#80)
We currently auto-sort the children of any mirror with a display style
of dictionary or set alphabetically. This is important for consistent
dumps (good for snapshot tests, too), but affects types that don't need
the sorting, like ordered dictionaries and sets.

This PR introduces an `_UnorderedCollection` protocol to control this
behavior, and conforms `Dictionary`, `Set`, and their `NS`-
predecessors, but leaves other types open to dumping and diffing in an
ordered way by default.
2023-03-22 11:08:42 -07:00
stephencelis 2bb5551b6c Run swift-format 2023-03-08 21:43:51 +00:00
Stephen Celis 79cb03ef21 Abbreviate optional, array, and dictionary types (#78)
We try our best to pretty-print in a Swift-y fashion, so let's extend
that to the shorthand syntaxes for optionals, arrays, and dictionaries.
2023-03-08 13:27:39 -08:00
Stephen Celis de8ba65649 Fix regression in typeName output (#77)
* Fix regression in `typeName` output

The regular expression that strips excessive info from type names was
refactored in #73 to fix some bugs that were discovered, but this change
caused a regression in some nested types.

* fix

* wip
2023-03-07 17:37:57 -08:00
Stephen Celis adef407be3 Use AnyKeyPath.customDebugDescription when possible (#73)
* Use `AnyKeyPath.customDebugDescription` when possible

New in Swift 5.8 with implementation of
[SE-0369](https://github.com/apple/swift-evolution/blob/main/proposals/0369-add-customdebugdescription-conformance-to-anykeypath.md).

* Linux support.

* Linux tests

* Fix warning

* Fix

* wip

* wip

* wip
2023-02-22 15:05:06 -08:00
Stephen Celis 3860d0beee Abbreviate enums in diffs (#72)
* Abbreviate enums in diffs

We added the ability to abbreviate nested dumps in #71, but this didn't
transfer to diffs.

* wip

* Fix for old Swift runtime
2023-02-03 11:08:14 -08:00
Stephen Celis 11ccf4ca40 Use _typeName instead of String.init(reflecting:) (#52) 2022-06-20 14:54:55 -04:00
Stephen Celis 1c384565cf Revert removal of platform requirements (#42)
* Partially revert "f8c70309e75569964669af8a068fb0d0312c323f"

* Revert "Remove platform requirements (#37)"

This reverts commit fa2eb2572b.
2022-02-18 18:02:48 -05:00
stephencelis e9205f1599 Run swift-format 2022-02-14 17:26:38 +00:00
Stephen Celis fa2eb2572b Remove platform requirements (#37)
* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip
2022-02-14 12:17:32 -05:00
Stephen Celis c2dd2c64b7 Don't show "(unknown context)" (#26)
* Don't show "(unknown context)"

It's probably not super useful to preserve this info.

* break out foundation tests

* wip
2021-09-22 14:24:16 -04:00
Stephen CelisandBrandon Williams d6c3b5fcc1 ➕➖
Co-authored-by: Brandon Williams <mbrandonw@hey.com>
2021-08-22 22:30:09 -04:00