Bar*_*vds 5 javascript diff node.js
我需要以人类可读的格式(例如:非机器优化)打印文本(代码)的内联差异。
我的平台是 Javascript(主要的 node.js,浏览器)。我有自己的打印机/造型器,但在生成正确的差异更改时遇到问题。
重要的是人类直觉的变化:因此对每行变化的强烈偏见,以及非常低的随机碎片字母。
看起来不错的非 JS diff 渲染器的例子是 Tortoise SVN/GIT 中的那个和 github.com 上的 diff 渲染器。我相信 github 上的那个读取了“标准”补丁格式,但我确信需要更多的逻辑才能将其转换为漂亮的内联差异。
我试过的一些模块:
diff( https://npmjs.org/package/diff ) 经典,但它具有不自然的行和单词或字符差异的混合。(这用于mocha但它是有缺陷的)
chardiff( https://npmjs.org/package/chardiff ) 基于diff,但它有一个为人类可读性设计的语义过滤器:它看起来更好,但仍然提供碎片化的单字母更改(经典 diff 不会)。
diff-match-patch(http://code.google.com/p/google-diff-match-patch),这是有希望的,但仍然不是 100%(仍然有一些违反直觉的差异)。
我想我需要使用这些模块之一作为组件(每行等)自己组装一些东西,但我不确定如何去做。
这是一个已解决的问题吗?
| 归档时间: |
|
| 查看次数: |
1217 次 |
| 最近记录: |