OmniDiff - Content-aware Git difftool на Rust
Show HN: OmniDiff – Opensource, super fast, content aware Git difftool, in Rust

OmniDiff — это открытый и сверхбыстрый инструмент для сравнения файлов, который понимает содержимое. Вместо того чтобы просто помечать целые строки как изменённые, он анализирует код, изображения, шрифты, PDF и архивы, показывая только реальные различия. Поддерживает 25 языков программирования через tree-sitter, работает как бэкенд для git difftool и jj, имеет интерактивный TUI и режим JSON. Установка через cargo, Homebrew, apt или Nix. Идеально подходит для код-ревью и анализа изменений в бинарных файлах, где обычный diff бессилен.
OmniDiff раскрашивает только те части, которые действительно изменились, а не целые строки — например, sum(numbers) и len(numbers) вместо всего выражения.
- bita_nidir
Ого, я часто мечтал о таком инструменте. Спасибо!
Поскольку большинство людей в большинстве случаев просто кликают и запускают (согласно многолетним исследованиям, n=1), я просто добавлю ссылку на дополнительные примеры: https://ivankovic.github.io/omnidiff/showcase/content.html
- nickjj
В Delta есть действительно отличный способ показывать диффы в режиме diff-so-fancy — он больше похож на интерфейс GitHub, где не только строка выделяется цветом по-другому, но и используется другой оттенок цвета для подсветки символов.
Там есть скриншот и видео, которые я написал некоторое время назад: https://nickjanetakis.com/blog/awesome-git-diffs-with-delta-...
В readme и веб-версии OmniDiff я не увидел способа сделать это.
В другом комментарии вы упомянули, что OmniDiff намного лучше Delta, и сказали: «Примерно треть диффов значительно лучше». Можете привести примеры таких? Я никогда не видел, чтобы Delta не справлялась с диффом.
Кроме того, у Delta есть пакет для Arch в официальных репозиториях. Для людей, которым нужен просто опыт «оно работает», это довольно большое преимущество. С Delta один и тот же пакет можно установить одинаковым способом на Debian, Arch и macOS с Brew, используя стандартные менеджеры пакетов. С OmniDiff есть 3 разных способа установки (ручной deb-пакет на Debian, ручная компиляция пакета на Arch и brew install на Mac). Просто пища для размышлений: как человек, у которого есть публичные dotfiles, работающие в этих трёх средах, я бы только из-за этого пропустил OmniDiff.
- arkenflame
Очень хорошо сделано, мне это очень нравится. Он создаёт гораздо более минималистичные диффы, чем другие инструменты, которые я пробовал.
Одна функция, которой мне не хватает из difftastic, — это показ диффов бок о бок на широких терминалах и объединённо на узких.