1. 1. Introduction
  2. 2. Installation
  3. 3. Usage
    1. 3.1. Git
    2. 3.2. Mercurial
  4. 4. Parsing
    1. 4.1. Languages Supported
    2. 4.2. Vendoring
    3. 4.3. Adding A Parser
  5. 5. Diffing
    1. 5.1. Tricky Cases
  6. 6. Contributing
  7. 7. Glossary
  8. 8. Alternative Projects
    1. 8.1. Tree Diffing

Difftastic Manual

Languages Supported

Difftastic supports the following programming languages.

LanguageParser Used
Bashtree-sitter/tree-sitter-bash
Ctree-sitter/tree-sitter-c
C++tree-sitter/tree-sitter-cpp
C#tree-sitter/tree-sitter-c-sharp
Clojuresogaiu/tree-sitter-clojure (branched)
Common LisptheHamsta/tree-sitter-commonlisp
DartUserNobody14/tree-sitter-dart
Elixirelixir-lang/tree-sitter-elixir
Emacs Lispwilfred/tree-sitter-elisp
Gleamgleam-lang/tree-sitter-gleam
Gotree-sitter/tree-sitter-go
Haskelltree-sitter/tree-sitter-haskell
Janetsogaiu/tree-sitter-janet-simple
Javatree-sitter/tree-sitter-java
JavaScript, JSXtree-sitter/tree-sitter-javascript
Kotlinfwcd/tree-sitter-kotlin
Luanvim-treesitter/tree-sitter-lua
Nixcstrahan/tree-sitter-nix
OCamltree-sitter/tree-sitter-ocaml
PHPtree-sitter/tree-sitter-php
Pythontree-sitter/tree-sitter-python
Rubytree-sitter/tree-sitter-ruby
Rusttree-sitter/tree-sitter-rust (forked)
Scalatree-sitter/tree-sitter-scala
TypeScript, TSXtree-sitter/tree-sitter-typescript
Zigmaxxnino/tree-sitter-zig

Difftastic also supports the following structured text formats.

LanguageParser Used
CSStree-sitter/tree-sitter-css
JSONtree-sitter/tree-sitter-json
TOMLikatyang/tree-sitter-toml
YAMLikatyang/tree-sitter-yaml