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
Perlganezdragon/tree-sitter-perl
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
Swiftalex-pinkus/tree-sitter-swift
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
HCLMichaHoffmann/tree-sitter-hcl
JSONtree-sitter/tree-sitter-json
TOMLikatyang/tree-sitter-toml
YAMLikatyang/tree-sitter-yaml