OmniDiff parses both sides of a diff with tree-sitter and matches their syntax trees, so a change is reported as what it structurally is - an insertion, deletion, update, or move - rather than as whichever lines happened to align. It also compares pictures, fonts, PDFs and archives by their content. It runs as an interactive terminal UI, a plain-text batch formatter, or a JSON emitter, and works as a git difftool and a Jujutsu (jj) diff formatter.
OmniDiff parses both sides of a diff with tree-sitter and matches their syntax trees, so a change is reported as what it structurally is - an insertion, deletion, update, or move - rather than as whichever lines happened to align. It also compares pictures, fonts, PDFs and archives by their content. It runs as an interactive terminal UI, a plain-text batch formatter, or a JSON emitter, and works as a git difftool and a Jujutsu (jj) diff formatter.
To install omnidiff, run the following command in macOS terminal (Applications->Utilities->Terminal)
sudo port install omnidiff
To see what files were installed by omnidiff, run:
port contents omnidiff
To later upgrade omnidiff, run:
sudo port selfupdate && sudo port upgrade omnidiff
Reporting an issue on MacPorts Trac
The MacPorts Project uses a system called Trac to file tickets to report bugs and enhancement requests.
Though anyone may search Trac for tickets, you must have a GitHub account in order to login to Trac to create tickets.