簡體   English   中英

使 CodeMirror 合並視圖插件顯示找到的差異計數

[英]Make the CodeMirror merge view addon display a count of differences found

在使用 CodeMirror 的merge插件時,我很想知道分別在 LHS 和 RHS textarea發現的差異計數

有沒有辦法顯示計數?

您可以通過使用merge插件所依賴的diff-match-patch庫來自己實現它。 編寫一個使用以下算法的updateDiffCount函數:

  1. 獲取您作為字符串比較的兩個文本版本。
  2. 呼叫diff_main的字符串和diff_cleanupSemantic的結果,因為在此代碼示例
  3. 循環遍歷結果並計算第一個元素不是0的結果數組。
  4. 將頁面上某個元素的文本內容設置為該計數。

每當編輯textarea中的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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM