#merge #syn #cfg #diff #cfg-merge

无需std syn-merge

通过添加cfg来合并syn结构

1个不稳定版本

0.0.0 2023年12月17日

#81 in #cfg

Zlib OR Apache-2.0 OR MIT

4KB

syn-merge

Latest version Documentation CI

通过添加cfg来合并syn结构。

关于diff的思考

应直接在Rust源代码上操作(而不是在某种自定义AST上)。

能够处理多个文件(与大多数diff不同)。

最长公共子序列算法?

我们如何处理平局?某种权重?

基本上

let contents = vec![...];
let files = contents.iter().map(syn::parse_file).flatten()?;
let merged = syn_merge::merge(files)?;
file.write(prettyplease::unparse(merged))?;

lib.rs:

通过添加cfg来合并syn结构

依赖项

~0.4–0.9MB
~20K SLoC