#diff #patience #line #algorithm #tool #level #token

bin+lib pratdiff

基于耐心 diff 算法的彩色 diff 工具

6 个版本

0.1.5 2024年6月26日
0.1.4 2024年6月20日

#562 in 文件系统

Apache-2.0

30KB
961

一个提供行和标记级别彩色化的 diff 工具。

Sample Code Diff

基于 Bram Cohen 描述并由 James Coglan 在两篇博客文章中扩展的 耐心 diff 算法算法实现)。

常见问题解答

如何安装 pratdiff

使用 cargo install pratdiff。你可能需要从 rustupbrew 安装 cargo

如何启用自动完成?

--completions 标志接受一个 shell 并输出一个完成脚本。

eval "$(pratdiff --completions=bash)"
pratdiff --completions=fish | source

你为什么要做这个?

因为我想要一个学习项目,这似乎是一个合理的项目。

你为什么把它命名为 pratdiff

我想在 patdiff 中插入一个 "r",我有点喜欢 "prat" 这个奇怪过时的侮辱。

你学到了什么有趣的东西?

在 my mind 中,标记级别 diffing 使用与行级别 diffing 相同的算法非常酷。我没有想到会以那种方式构建它,它所有东西都自然而然地出现了。

此外,我了解到我对耐心 diff 做的微小扩展,即如果无法找到唯一的行,则使用非唯一行,这是一种称为 "直方图 diff" 的已知算法。

依赖项

~4–12MB
~134K SLoC