文本 Diff 查看器:行级/词级差异、左右对照、统一补丁导出,附 CLI 与 Web GUI。

ui/dist/index.htmlmoon build ui --target js --release
cp _build/js/release/build/ui/ui.js ui/dist/app.js# 左右对照文本
moon run cmd/main -- examples/old.txt examples/new.txt
# JSON 输出
moon run cmd/main -- --format json examples/old.txt examples/new.txt
# 导出独立 HTML
moon run cmd/main -- --format html --output diff.html examples/old.txt examples/new.txt
# 使用 Patience 算法、关闭词级高亮
moon run cmd/main -- --algorithm patience --no-word-level examples/old.txt examples/new.txtlet options = @Mr-Houjie/mbt-diffview.DiffOptions::new()
let result = @Mr-Houjie/mbt-diffview.diff_text(old_text, new_text, options)
println(result.stats.added)
println(result.stats.removed)
println(result.stats.changed)
println(result.stats.unchanged)
println(result.patch) // 标准 unified diff
let text = @Mr-Houjie/mbt-diffview.render_text(result)
let json = @Mr-Houjie/mbt-diffview.render_json(result)
let html = @Mr-Houjie/mbt-diffview.render_html(result, "old.txt", "new.txt")types.mbt 公共类型(Row / DiffResult / DiffOptions)
split.mbt 文本切行(统一 LF / CRLF)
worddiff.mbt 字符级 diff 片段
diffcore.mbt 行级 diff 引擎(core/diff -> 左右对照行)
render.mbt text / json / html 渲染
conformance.mbt 22 条一致性语料(测试与自检共用)
cmd/main CLI
cmd/verify 独立自检入口
ui/ Rabbita Web GUI(薄层)# 标准测试(Linux / macOS)
moon test
# 独立自检(Windows 下 moon test 可能受嵌套进程限制)
moon run cmd/verifymoon run cmd/goldenInstall
Download zip文本 Diff 查看器:行级/词级差异、左右对照、统一补丁导出,附 CLI 与 Web GUI。