Technology1 min read

Show HN: OmniDiff – Opensource, super fast, content aware Git difftool, in Rust

By · Published by Everything Blog

In short

OmniDiff operates through an interactive terminal interface offering 24-bit color or via a headless batch mode tailored for automation pipelines. The software aids code navigation by prepending diff hunks with enclosing structural elements such as classes or functions, while adhering to standard Unix exit codes. It can also analyze specialized assets including fonts, animated pictures, and PDF diagrams alongside traditional source code. Developers can access the tool across major platforms via prebuilt binaries or packages for Homebrew, APT, Nix, Arch, and Gentoo.

Key points

  • The software integrates smoothly into existing developer setups through Neovim, Visual St…: The software integrates smoothly into existing developer setups through Neovim, Visual Studio Code, and headless continuous integration pipelines.
  • Code readability is enhanced by displaying enclosing structural definitions such as class…: Code readability is enhanced by displaying enclosing structural definitions such as classes or structs alongside three lines of surrounding context.
  • Cross-platform availability is supported through multiple packaging channels, prebuilt bi…: Cross-platform availability is supported through multiple packaging channels, prebuilt binaries, and manual compilation using Rust toolchain 1.92 or later.

Sources checked by our analysis pipeline: 1

Fast, robust, accurate content-aware diffing.

- Robust: can diff 99.95% of code changes

- Content-aware: 98.8% of changes diffed using content-specific algorithms

Content | Fast: under 100ms | Accurate: perfect | Accurate: near-perfect |

---|---|---|---|

Code | 98% | 70% | 92% |

Pictures | 96% | 69% | 91% |

Cursors | 100% | 85% | 100% |

Fonts | 95% | 82% | 100% |

Archives | 88% | 87% | 87% |

Message catalogs | 100% | 83% | 83% |

PDFs | 57% | 100% | 100% |

Speed measured on a T14s, Intel Core i7-1370P with 32 GB RAM (see Fast). PDFs have fewer than ten judged test cases (see Accurate).

See it in the browser: twenty real code

changes, recorded from the command-line tool and compared side by side in Unix diff

and in

OmniDiff, and content examples: an

OpenDocument file, a compiled translation catalog, and pictures, still and animated.

Various light and dark themes are available:

Files are diffed based on type. A PDF diagram with one box renamed, and a web font…

Technology