3 个不稳定版本
0.2.0 | 2024年8月14日 |
---|---|
0.1.1 | 2024年8月12日 |
0.1.0 | 2024年4月14日 |
#612 in 文本处理
262 每月下载量
56KB
1.5K SLoC
Merge3
文本三路合并的 Rust 实现。
给定 BASE、OTHER、THIS,尝试生成一个合并文本,包含从 BASE->OTHER 和 BASE->THIS 的更改。所有三个通常都是行序列。
用法
从命令行:
$ echo foo > mine
$ echo bar > base
$ echo blah > other
$ merge3 mine base other > merged
$ cat merged
或从 rust
use merge3::Merge3;
fn main() {
let base = vec!["common\n", "base\n"];
let this = vec!["common\n", "a\n"];
let other = vec!["common\n", "b\n"];
let m3 = Merge3::new(&base, &this, &other);
for line in m3.merge_lines() {
println!("{}", line);
}
}
lib.rs
:
Merge3
文本三路合并的 Rust 实现。
给定 BASE、OTHER、THIS,尝试生成一个合并文本,包含从 BASE->OTHER 和 BASE->THIS 的更改。所有三个通常都是行序列。
示例
use merge3::Merge3;
let base = vec!["common\n", "base\n"];
let this = vec!["common\n", "a\n"];
let other = vec!["common\n", "b\n"];
let m3 = Merge3::new(&base, &this, &other);
for line in m3.merge_lines(false, &merge3::StandardMarkers::default()) {
println!("{}", line);
}
依赖项
~31–320KB