首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Codemirror差异

Codemirror差异
EN

Stack Overflow用户
提问于 2018-04-10 14:53:26
回答 1查看 224关注 0票数 1

我想使用codemirror (而不是合并工具)实现diff模式。类似于: git diff。我使用了Codemirror官方的diff模式,但是,当用户添加或更改了某些内容时,无法获取记号赋予器(+,-)。

EN

回答 1

Stack Overflow用户

发布于 2021-07-08 00:54:05

CodeMirror比较模式仅根据其格式突出显示一行(例如,如果行以"+“开头,它将以绿色突出显示;如果以”-“开头,它将以红色突出显示行)。您需要自己生成diff文本。有几个库可供您使用,例如jsdiff

你可以像这样得到两个文本之间的差异:

代码语言:javascript
复制
import * as Diff from 'diff';

var text1=`
line1
line2
line3
`;

var text2=`
line0

line3

line4
line5
`;

var diff = Diff.createTwoFilesPatch('old', 'new', text1, text2, { context: 1 });
console.log('diff', diff);

它将产生以下差异:

代码语言:javascript
复制
diff ===================================================================
--- old [object Object]
+++ new
@@ -1,4 +1,7 @@
 
-line1
-line2
+line0
+
 line3
+
+line4
+line5

之后,您可以将此文本插入到CodeMirror中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49747205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档