1个不稳定版本
0.0.0 | 2023年12月17日 |
---|
#81 in #cfg
4KB
syn-merge
通过添加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