【发布时间】:2013-09-14 14:49:57
【问题描述】:
在使用 CodeMirror 的 merge addon 时,我有兴趣了解 L.H.S. 中的差异计数。和 R.H.S. textareas。
有没有办法显示计数?
【问题讨论】:
标签: javascript textarea diff codemirror
在使用 CodeMirror 的 merge addon 时,我有兴趣了解 L.H.S. 中的差异计数。和 R.H.S. textareas。
有没有办法显示计数?
【问题讨论】:
标签: javascript textarea diff codemirror
您可以自己实现它,通过使用 merge 插件所依赖的 diff-match-patch 库。编写一个使用以下算法的updateDiffCount 函数:
diff_main,在结果上调用diff_cleanupSemantic,如this code example。0的结果数组。每当textarea 中的文本被编辑时,在延迟之后运行这个updateDiffCount 函数。
【讨论】:
我在 Rory 的解决方案中添加了一些代码,使其更易于实施:
var text1 = document.getElementById('text1').value;
var text2 = document.getElementById('text2').value;
var d = dmp.diff_main(text1, text2);
// you can optionally add some cleanup
// dmp.diff_cleanupSemantic(d); or dmp.diff_cleanupEfficiency(d);
alert('Difference count: ' + d.filter(l => l[0] === -1).length);
【讨论】: