1. 1. Introduction
  2. 2. Installation
  3. 3. Usage
    1. 3.1. Git
    2. 3.2. Mercurial
  4. 4. Languages Supported
  5. 5. Internals: Parsing
  6. 6. Internals: Diffing
    1. 6.1. Tricky Cases
  7. 7. Contributing
    1. 7.1. Parser Vendoring
    2. 7.2. Adding A Parser
  8. 8. Glossary
  9. 9. Alternative Projects
    1. 9.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
Elvishckafi/tree-sitter-elvish
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