Diffsitter – A Tree-sitter based AST difftool to get meaningful semantic diffs
10 months ago
- #code-diff
- #tree-sitter
- #developer-tools
- diffsitter是一个正在开发中的工具,它通过比较抽象语法树(AST)而非文本内容来生成具有语义意义的差异报告。
- 该工具基于tree-sitter解析器,支持Bash、C#、C++、CSS、Go、Java、OCaml、PHP、Python、Ruby、Rust、Typescript/TSX和HCL等多种语言。
- diffsitter会忽略格式差异,专注于代码结构的实质性变更。
- 核心功能包括可配置的节点过滤、详尽的日志记录以及终端感知的格式化输出。
- 提供多种安装方式:可通过cargo从源码构建、使用Homebrew、Alpine Linux软件包或Docker镜像。
- 采用JSON5格式配置文件,支持动态覆盖tree-sitter语法库路径。
- 可为Bash、Zsh、Fish、Elvish和Powershell生成自动补全脚本。
- 欢迎开发者贡献代码,具体指南参见CONTRIBUTING.md文件。