Hasty Briefsbeta

双语

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文件。