在浏览器中为 diff2html 创建统一的差异文本
Create unified diff text for diff2html in browser
是否有库可以从 diff2html can use? I've tried difflib 的两个字符串生成统一差异,但输出似乎不符合 diff2html 所需的要求。我需要一个可以在网页中导入的 .js 库,以在 JSON 之间产生差异。
尝试使用 lineterm
参数,但未能使该工具正常工作。如果我使用文档中的字符串作为示例,那么它有效:
--- 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 中生成任何内容。
最终使用 jsdiff。
var diff = Diff.createTwoFilesPatch("file", "file", oldText, newText);
这样它就可以像这样与 diff2html 一起使用:
Diff2Html.getPrettyHtml(diff,
{inputFormat: 'diff', showFiles: false, matching: 'lines', outputFormat: 'side-by-side'}
);
是否有库可以从 diff2html can use? I've tried difflib 的两个字符串生成统一差异,但输出似乎不符合 diff2html 所需的要求。我需要一个可以在网页中导入的 .js 库,以在 JSON 之间产生差异。
尝试使用 lineterm
参数,但未能使该工具正常工作。如果我使用文档中的字符串作为示例,那么它有效:
--- 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 中生成任何内容。
最终使用 jsdiff。
var diff = Diff.createTwoFilesPatch("file", "file", oldText, newText);
这样它就可以像这样与 diff2html 一起使用:
Diff2Html.getPrettyHtml(diff,
{inputFormat: 'diff', showFiles: false, matching: 'lines', outputFormat: 'side-by-side'}
);