FabCH
Joined 1 year ago
Joined 1 year ago
If I understand your goal correctly, you are looking to especially focus on the visual part of the diff and provide a nice UI for it, and you would like to use OmniDiff as a library?
If so, then let's talk. I have been delaying the design of the API because nobody has a use for it yet, so it is mostly driven by the needs of the CLI/TUI at the moment.
Ping me on my email if you want.
An extremely thorough comparison against difftastic is in the research/ directory. I don't recommend reading it, unless you are really into diffs. Even describing the dataset takes a good half an hour.
Multi-file support is on the roadmap. Subscribe here: https://github.com/ivankovic/omnidiff/issues/63
I actually don’t know how to do that and stay under a bounded edit distance.
Alternatively, you can crash it if you just encode the entire “Star Trek - In the pale moonlight” episode as a sequence of bytes in a const int array in C++.
Fair warning: the true comparison is fairly complex and doesn’t really lend itself to “quick comparison”.
Also, the research is NOT complete.
Press ? for the help menu.
Note that you do need a terminal with image support, like kitty, alacritty.
If you do not have image support, it does its best with image2ascii, but it is obviously severely limited.
Difftastic only diffs code, which is only 2/3 of all diffs.
When only measured on stuff difftastic supports:
Difftastic is perfect on 64% of diffs and near-perfect on 17% more.
Omnidiff is perfect on 90% of diffs and near-perfect on 5% more.
Speed is
p50 - 35ms difftastic vs 4ms OmniDiff p99 - 637ms vs 420ms
Difftastic is MIT vs AGPL.
AGPL totally allows commercial use. You just have to give back.
… we don’t know what to do with AI copyright either. I assume a referendum will sort it out at some point.
If it’s a small company, it’s not worth it, but then again they are not causing a lot of damage either. If it’s a big company, they will find me unexpectedly resistant to usual legal bullying tactics. I have legal insurance, multiple lawyers as friends and don’t have a job so have loads of time for filing paperwork.
I actually do TWO solutions for each test case: a minimal diff and a maximal diff. Pressing 'm' in the TUI pops up a settings page where you can choose how the diff works.
I am actively researching how many ways there are to "paint" the same diff and user preferences and non-uniqueness of diffs is something I am super interested in.
If you would like to, it would be super useful for me to know what diff you don't like and why. It would help make the diff better for users with different visual preferences.
It will diff OpenOffice compatible files.