# Languages Supported

This page lists all the languages supported by difftastic. You can
also view the languages supported in your current installed version
with `difft --list-languages`.

## Programming Languages

| Language        | Parser Used                                                                                       |
|-----------------|---------------------------------------------------------------------------------------------------|
| Ada             | [briot/tree-sitter-ada](https://github.com/briot/tree-sitter-ada)                                 |
| Apex            | [aheber/tree-sitter-sfapex](https://github.com/aheber/tree-sitter-sfapex)                         |
| Assembly        | [RubixDev/tree-sitter-asm](https://github.com/RubixDev/tree-sitter-asm)                   |
| Bash            | [tree-sitter/tree-sitter-bash](https://github.com/tree-sitter/tree-sitter-bash)                   |
| C               | [tree-sitter/tree-sitter-c](https://github.com/tree-sitter/tree-sitter-c)                         |
| C++             | [tree-sitter/tree-sitter-cpp](https://github.com/tree-sitter/tree-sitter-cpp)                     |
| C#              | [tree-sitter/tree-sitter-c-sharp](https://github.com/tree-sitter/tree-sitter-c-sharp)             |
| Clojure         | [grammar-orchard/tree-sitter-clojure-orchard](https://codeberg.org/grammar-orchard/tree-sitter-clojure-orchard) |
| CMake           | [uyha/tree-sitter-cmake](https://github.com/uyha/tree-sitter-cmake)                               |
| Common Lisp     | [theHamsta/tree-sitter-commonlisp](https://github.com/theHamsta/tree-sitter-commonlisp)           |
| Dart            | [grammar-orchard/tree-sitter-dart-orchard](https://codeberg.org/grammar-orchard/tree-sitter-dart-orchard) |
| Device Tree     | [joelspadin/tree-sitter-devicetree](https://github.com/joelspadin/tree-sitter-devicetree)         |
| Elixir          | [elixir-lang/tree-sitter-elixir](https://github.com/elixir-lang/tree-sitter-elixir)               |
| Elm             | [elm-tooling/tree-sitter-elm](https://github.com/elm-tooling/tree-sitter-elm)                     |
| Erlang          | [WhatsApp/tree-sitter-erlang](https://github.com/WhatsApp/tree-sitter-erlang)                     |
| Emacs Lisp      | [wilfred/tree-sitter-elisp](https://github.com/Wilfred/tree-sitter-elisp)                         |
| Fish            | [ram02z/tree-sitter-fish](https://github.com/ram02z/tree-sitter-fish)                             |
| F#              | [ionide/tree-sitter-fsharp](https://github.com/ionide/tree-sitter-fsharp)                         |
| Fortran         | [stadelmanma/tree-sitter-fortran](https://github.com/stadelmanma/tree-sitter-fortran)             |
| Gleam           | [gleam-lang/tree-sitter-gleam](https://github.com/gleam-lang/tree-sitter-gleam)                   |
| Go              | [tree-sitter/tree-sitter-go](https://github.com/tree-sitter/tree-sitter-go)                       |
| Hare            | [ecmma/tree-sitter-hare](https://git.sr.ht/~ecmma/tree-sitter-hare)                               |
| Haskell         | [tree-sitter/tree-sitter-haskell](https://github.com/tree-sitter/tree-sitter-haskell)             |
| Janet           | [sogaiu/tree-sitter-janet-simple](https://github.com/sogaiu/tree-sitter-janet-simple)             |
| Java            | [tree-sitter/tree-sitter-java](https://github.com/tree-sitter/tree-sitter-java)                   |
| JavaScript, JSX | [tree-sitter/tree-sitter-javascript](https://github.com/tree-sitter/tree-sitter-javascript)       |
| Julia           | [tree-sitter/tree-sitter-julia](https://github.com/tree-sitter/tree-sitter-julia)                 |
| Kotlin          | [fwcd/tree-sitter-kotlin](https://github.com/fwcd/tree-sitter-kotlin)                             |
| Lua             | [tree-sitter-grammars/tree-sitter-lua](https://github.com/tree-sitter-grammars/tree-sitter-lua)   |
| Make            | [tree-sitter-grammars/tree-sitter-make](https://github.com/tree-sitter-grammars/tree-sitter-make) |
| Nix             | [nix-community/tree-sitter-nix](https://github.com/nix-community/tree-sitter-nix)                 |
| Objective-C     | [amaanq/tree-sitter-objc](https://github.com/amaanq/tree-sitter-objc)                             |
| OCaml           | [tree-sitter/tree-sitter-ocaml](https://github.com/tree-sitter/tree-sitter-ocaml)                 |
| Pascal          | [Isopod/tree-sitter-pascal](https://github.com/Isopod/tree-sitter-pascal)                         |
| Perl            | [tree-sitter-perl/tree-sitter-perl](https://github.com/tree-sitter-perl/tree-sitter-perl)         |
| PHP             | [tree-sitter/tree-sitter-php](https://github.com/tree-sitter/tree-sitter-php)                     |
| Python          | [tree-sitter/tree-sitter-python](https://github.com/tree-sitter/tree-sitter-python)               |
| QML             | [yuja/tree-sitter-qmljs](https://github.com/yuja/tree-sitter-qmljs)                               |
| R               | [r-lib/tree-sitter-r](https://github.com/r-lib/tree-sitter-r)                                     |
| Racket          | [6cdh/tree-sitter-racket](https://github.com/6cdh/tree-sitter-racket)                             |
| Ruby            | [tree-sitter/tree-sitter-ruby](https://github.com/tree-sitter/tree-sitter-ruby)                   |
| Rust            | [grammar-orchard/tree-sitter-rust-orchard](https://codeberg.org/grammar-orchard/tree-sitter-rust-orchard) |
| Scala           | [tree-sitter/tree-sitter-scala](https://github.com/tree-sitter/tree-sitter-scala)                 |
| Scheme          | [6cdh/tree-sitter-scheme](https://github.com/6cdh/tree-sitter-scheme)                             |
| Smali           | [amaanq/tree-sitter-smali](https://github.com/amaanq/tree-sitter-smali)                           |
| Solidity        | [JoranHonig/tree-sitter-solidity](https://github.com/JoranHonig/tree-sitter-solidity)             |
| SQL             | [derekstride/tree-sitter-sql](https://github.com/derekstride/tree-sitter-sql)                     |
| Swift           | [alex-pinkus/tree-sitter-swift](https://github.com/alex-pinkus/tree-sitter-swift)                 |
| TypeScript, TSX | [tree-sitter/tree-sitter-typescript](https://github.com/tree-sitter/tree-sitter-typescript)       |
| Verilog         | [tree-sitter/tree-sitter-verilog](https://github.com/tree-sitter/tree-sitter-verilog)             |
| VHDL            | [JLeemaster/tree-sitter-vhdl](https://github.com/JLeemaster/tree-sitter-vhdl)                     |
| Zig             | [tree-sitter-grammars/tree-sitter-zig](https://github.com/tree-sitter-grammars/tree-sitter-zig)   |

## Structured Text Formats

| Language | Parser Used                                                                                       |
|----------|---------------------------------------------------------------------------------------------------|
| CSS      | [tree-sitter/tree-sitter-css](https://github.com/tree-sitter/tree-sitter-css)                     |
| HCL      | [tree-sitter-grammars/tree-sitter-hcl](https://github.com/tree-sitter-grammars/tree-sitter-hcl)                 |
| HTML     | [tree-sitter/tree-sitter-html](https://github.com/tree-sitter/tree-sitter-html)                   |
| JSON     | [tree-sitter/tree-sitter-json](https://github.com/tree-sitter/tree-sitter-json)                   |
| LaTeX    | [latex-lsp/tree-sitter-latex](https://github.com/latex-lsp/tree-sitter-latex)                     |
| Newick   | [delehef/tree-sitter-newick](https://github.com/delehef/tree-sitter-newick)                       |
| Proto    | [coder3101/tree-sitter-proto](https://github.com/coder3101/tree-sitter-proto)                     |
| TOML     | [tree-sitter-grammars/tree-sitter-toml](https://github.com/tree-sitter-grammars/tree-sitter-toml) |
| XML      | [tree-sitter-grammars/tree-sitter-xml](https://github.com/tree-sitter-grammars/tree-sitter-xml)   |
| YAML     | [tree-sitter-grammars/tree-sitter-yaml](https://github.com/tree-sitter-grammars/tree-sitter-yaml) |
