diffplex
diffplex copied to clipboard
Modernization
This PR is a significant change of core library DiffPlex.
- Add
ReadOnlySpan<char>supports to differ and its accessories. At the same time, update the TFM to enable this feature on the available targets. This type is always used for some high performance scenarios to decrease unnecessary memory costs. - Refactor the builder models to remove the write-accessor of their properties since they are originally designed as data view of result. This breaking change ensures it comes to what to expect now. The incidental changes include updating their constructors to pass parameters instead of properties assignment.
- Add full JSON serialization supports of builder models by implementing their bi-converters. But this also mean to add related package references like
System.Text.Jsonfor older TFM platforms, e.g. on .NET Frameworks. And please note this feature is disabled on .NET Strandard 1.0 because of not supported. - Suggest increase the major version (to v2.0) and please approach this PR with caution since the modification is wide-ranging. And of course, there is no change of the key logic and the overall mode. Additionally, the WPF components project and Windows App SDK (WinUI 3) components project are updated to adapt the new design.
Sounds it can also fix #119 and #128 (but still keep the legacy frameworks).
I will review soon. Thanks for the contribution
@kingcean are you still interested in moving this forward?
@kingcean are you still interested in moving this forward?
Sorry for the late reply, I will find time to follow up later.