{"repo":"mitsuhiko/similar","free":true,"listed":false,"github":"https://github.com/mitsuhiko/similar","clone":"git clone https://github.com/mitsuhiko/similar.git","description":"A high level diffing library for rust based on diffs","language":"Rust","stars":1310,"topics":["diff","unified-diff","patch","rust"],"license":"Apache-2.0","category":"dev-tools","readme_excerpt":"Similar: A Diffing Library Similar is a dependency free crate for Rust that implements different diffing algorithms and high level interfaces for it. It was originally inspired by pijul's diff library but has since changed significantly. This library was built for the insta snapshot testing library. Screenshot What's in the box? Practical heuristic Myers diff and raw Myers diff Patience diff Hunt-style diff Histogram diff Classic LCS table diff Diffing on arbitrary comparable sequences Line, word, character and grapheme level diffing Text and Byte diffing Unified diff generation Structured three-way line merging with merge and diff3 conflict output no std Support similar now enables std by default. For no std + alloc usage: Backend selection in no std mode: - default ( default-features = false ): alloc::collections::BTreeMap - default-features = false, features = [\"hashbrown\"] : hashbrown::HashMap Performance Testing The repository includes Criterion and allocation benchmarks and a generative performance fuzzer that isolates every diff algorithm, captures stacks on timeouts, and saves reproducible input pairs. Related Projects insta snapshot testing library similar-asserts assertion library License and Links Documentation Upgrading Guide (2.7 to 3.0) Issue Tracker Examples License: Apache-2.0","default_branch":null,"files":null,"tree":[],"storefront":"/r/mitsuhiko","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/mitsuhiko/similar/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}