首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在浏览器中为diff2html创建统一的比较文本

在浏览器中为diff2html创建统一的比较文本
EN

Stack Overflow用户
提问于 2019-02-22 19:48:44
回答 1查看 2.8K关注 0票数 3

有没有一个库可以从diff2html可以使用的两个字符串中生成统一的diff?我尝试过difflib,但输出似乎不符合diff2html所需的要求。我需要一个.js库,我可以在网页中导入,以在JSON之间产生差异。

尝试使用lineterm参数,但无法使该工具正常工作。如果我使用文档中的字符串作为示例,那么它可以工作:

代码语言:javascript
运行
复制
--- a/server/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go\n+++ b/server/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go\n@@ -1035,6 +1035,17 @@ func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (\n \n // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n \n+func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n+\tr0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))\n+\tn = int(r0)\n+\tif e1 != 0 {\n+\t\terr = errnoErr(e1)\n+\t}\n+\treturn\n+}\n+\n+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n+\n func read(fd int, p []byte) (n int, err error) {\n \tvar _p0 unsafe.Pointer\n \tif len(p) > 0 {\n

但无法获得difflib的任何输出以在diff2html中生成任何内容。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-25 17:33:39

最终使用了jsdiff

代码语言:javascript
运行
复制
var diff = Diff.createTwoFilesPatch("file", "file", oldText, newText);

这样,它就可以像下面这样与diff2html一起使用:

代码语言:javascript
运行
复制
Diff2Html.getPrettyHtml(diff,
    {inputFormat: 'diff', showFiles: false, matching: 'lines', outputFormat: 'side-by-side'}
);
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54826435

复制
相关文章

相似问题

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