- Difftastic는 줄 단위가 아니라 코드의 구문 구조를 기준으로 파일을 비교하는 CLI diff 도구임
- 내부적으로 tree-sitter로 코드를 파싱해, 포매팅 때문에 줄이 바뀌어도 실제로 달라진 표현식을 더 잘 구분함
- 코드 포매터가 항목을 여러 줄로 나누거나 래퍼가 추가된 경우에도, 변경된 구조와 유지된 내부 내용을 분리해 보여줄 수 있음
- Git 설정 안내와 설치 문서가 제공되며, 여러 프로그래밍 언어와 JSON·YAML 같은 구조화 텍스트 형식을 지원함
- MIT 라이선스로 공개되어 다운로드, 수정, 공유가 가능하며 기존 diff 흐름에 구조적 비교를 더하는 용도로 적합함
줄이 아니라 구문 구조를 비교함
- Difftastic는 파일을 구문 기준으로 비교하는 CLI diff 도구임
- 일반적인 줄 단위 diff보다 코드 구조를 이해한 결과를 보여주는 데 초점을 둠
- 코드는 tree-sitter로 파싱함
- 줄 중심 diff에서는 바뀐 것처럼 보일 수 있는 내부 표현식도 실제 변경 여부를 구분할 수 있음
- 코드 포매터가 코드를 여러 줄로 나누는 경우에도 실제 변경 사항을 보여줄 수 있음
- 래퍼가 추가되면 구분자를 정확히 매칭함
- 내부 내용이 함께 바뀌어도 추가된 래퍼를 표시할 수 있음
@@ -5,6 +5,7 @@같은 diff hunk 문법 대신, 변경 전후 파일의 실제 줄 번호를 보여줌
지원 언어와 Git 연동
- 프로젝트 자료는 GitHub, Manual, Install에서 제공됨
- 지원 프로그래밍 언어 예시는 다음과 같음
- C++, C#, Clojure, Dart, Erlang, Go, Haskell, Java, JavaScript, Kotlin, Lisp, Lua, OCaml, PHP, Python, R, Ruby, Rust, Scala, TypeScript
- 전체 목록은 매뉴얼의 지원 언어 목록에서 확인 가능함
- 지원 파일 형식 예시는 다음과 같음
- HCL, HTML, JSON, YAML
- 전체 목록은 매뉴얼의 구조화 텍스트 형식 목록에서 볼 수 있음
- Git과 함께 사용할 수 있으며, 매뉴얼에 Git 설정 안내가 있음
- Difftastic은 MIT 라이선스로 공개되어 다운로드, 수정, 공유가 가능함