There have been a number of feature requests for a side-by-side merge view similar to the one in version 5. It’d be nice if we had something like that for 6.x.
But this isn’t a trivial thing to build and maintain, so I’ve decided that if I’m going to implement it I’d like to be paid for that work. I’m in contact with companies willing to contribute 1000€3000€, but I did some planning and estimate that the basic implementation would be more of a 4000€ job. So I’m looking for additional companies that are interested in this feature.
This is what would be in scope:
A component that creates two editors, and efficiently maintains a diff between their content as it changes
Marking of that diff as deletions in one document and insertions in the other
Organize lines with changes into chunks and highlighted the entire chunk
Insert spacers below the smaller side of chunks to make the editor heights align
Optionally sync scrolling between the editors, with a UI toggle element
Optionally show merge buttons for moving changes from one editor into the other
Optionally collapse long ranges of unchanged text and show a control to expand them
Not in scope are 3-way merges and spacer-less scroll synchronization, which the old implementation did support. If someone has a need for those we can talk about including them.
Also not in scope is screen reader accessibility because I have not been able to come up with an approach that would make such an interface pleasant to use on a screen reader. If someone has ideas or knows of other products that do this well, I’d love to hear about it and we can consider adding it to the scope.
If your company might be interested in helping out here, please reply in this thread or send me an email.
Great. I have another company also talking about chipping in 1000€, bringing us to 3000 out of 4000€.
Something I should have clarified in advance: this package would be distributed and maintained just like the other editor packages, under an MIT license.
I just wanted to check in on the merge view. Is it still a work in progress? We’re working on an application and we’d like to implement this merge tool.
Initially, a 2-way merge tool would suffice for our needs. However, we have plans to transition to a 3-way merge tool. I understand that this is beyond the current scope, but we are willing to contribute if others are interested in this too.