diff --git a/docs/index.md b/docs/index.md index 8949aa09..ba09c10c 100644 --- a/docs/index.md +++ b/docs/index.md @@ -15,165 +15,39 @@ Tree-sitter is a parser generator tool and an incremental parsing library. It ca There are currently bindings that allow Tree-sitter to be used from the following languages: +#### Official + * [C#](https://github.com/tree-sitter/csharp-tree-sitter) -* [Go](https://github.com/smacker/go-tree-sitter) -* [Guile](https://github.com/Z572/guile-ts) * [Haskell](https://github.com/tree-sitter/haskell-tree-sitter) -* [Java](https://github.com/serenadeai/java-tree-sitter) -* [Java](https://github.com/bonede/tree-sitter-ng) -* [Java (Android)](https://github.com/AndroidIDEOfficial/android-tree-sitter) +* [Java (JDK 22)](https://github.com/tree-sitter/java-tree-sitter) * [JavaScript (Node.js)](https://github.com/tree-sitter/node-tree-sitter) * [JavaScript (Wasm)](https://github.com/tree-sitter/tree-sitter/tree/master/lib/binding_web) -* [Kotlin](https://github.com/oxisto/kotlintree) +* [Kotlin](https://github.com/tree-sitter/kotlin-tree-sitter) +* [Python](https://github.com/tree-sitter/py-tree-sitter) +* [Rust](https://github.com/tree-sitter/tree-sitter/tree/master/lib/binding_rust) + +#### Third-party + +* [Delphi](https://github.com/modersohn/delphi-tree-sitter) +* [ELisp](https://github.com/emacs-tree-sitter/elisp-tree-sitter) +* [Go](https://github.com/smacker/go-tree-sitter) +* [Guile](https://github.com/Z572/guile-ts) +* [Java (Android)](https://github.com/AndroidIDEOfficial/android-tree-sitter) +* [Java (JDK 8+)](https://github.com/bonede/tree-sitter-ng) +* [Java (JDK 11+)](https://github.com/seart-group/java-tree-sitter) +* [Julia](https://github.com/MichaelHatherly/TreeSitter.jl) * [Lua](https://github.com/euclidianAce/ltreesitter) -* [OCaml](https://github.com/returntocorp/ocaml-tree-sitter-core) +* [Lua](https://github.com/xcb-xwii/lua-tree-sitter) +* [OCaml](https://github.com/semgrep/ocaml-tree-sitter-core) * [Odin](https://github.com/laytan/odin-tree-sitter) * [Perl](https://metacpan.org/pod/Text::Treesitter) -* [Python](https://github.com/tree-sitter/py-tree-sitter) +* [R](https://github.com/DavisVaughan/r-tree-sitter) * [Ruby](https://github.com/Faveod/ruby-tree-sitter) -* [Ruby](https://github.com/calicoday/ruby-tree-sitter-ffi) -* [Rust](https://github.com/tree-sitter/tree-sitter/tree/master/lib/binding_rust) * [Swift](https://github.com/ChimeHQ/SwiftTreeSitter) ### Parsers -* [Ada](https://github.com/briot/tree-sitter-ada) -* [Agda](https://github.com/tree-sitter/tree-sitter-agda) -* [Apex](https://github.com/aheber/tree-sitter-sfapex) -* [ApexCode](https://github.com/jsuarez-chipiron/tree-sitter-apex) -* [AWS Event Rule](https://github.com/3p3r/tree-sitter-eventrule) -* [Bash](https://github.com/tree-sitter/tree-sitter-bash) -* [Beancount](https://github.com/zwpaper/tree-sitter-beancount) -* [Cap'n Proto](https://github.com/amaanq/tree-sitter-capnp) -* [C](https://github.com/tree-sitter/tree-sitter-c) -* [C++](https://github.com/tree-sitter/tree-sitter-cpp) -* [C#](https://github.com/tree-sitter/tree-sitter-c-sharp) -* [CEL](https://github.com/bufbuild/tree-sitter-cel) -* [Clojure](https://github.com/sogaiu/tree-sitter-clojure) -* [CMake](https://github.com/uyha/tree-sitter-cmake) -* [COBOL](https://github.com/yutaro-sakamoto/tree-sitter-cobol) -* [Common Lisp](https://github.com/theHamsta/tree-sitter-commonlisp) -* [CSS](https://github.com/tree-sitter/tree-sitter-css) -* [CUDA](https://github.com/theHamsta/tree-sitter-cuda) -* [Dart](https://github.com/UserNobody14/tree-sitter-dart) -* [D](https://github.com/gdamore/tree-sitter-d) -* [Dockerfile](https://github.com/camdencheek/tree-sitter-dockerfile) -* [DOT](https://github.com/rydesun/tree-sitter-dot) -* [Elixir](https://github.com/elixir-lang/tree-sitter-elixir) -* [Elm](https://github.com/elm-tooling/tree-sitter-elm) -* [Emacs Lisp](https://github.com/Wilfred/tree-sitter-elisp) -* [Eno](https://github.com/eno-lang/tree-sitter-eno) -* [ERB / EJS](https://github.com/tree-sitter/tree-sitter-embedded-template) -* [Erlang](https://github.com/WhatsApp/tree-sitter-erlang/) -* [Fennel](https://github.com/travonted/tree-sitter-fennel) -* [Fish](https://github.com/ram02z/tree-sitter-fish) -* [Formula](https://github.com/siraben/tree-sitter-formula) -* [Fortran](https://github.com/stadelmanma/tree-sitter-fortran) -* [gitattributes](https://github.com/ObserverOfTime/tree-sitter-gitattributes) -* [gitignore](https://github.com/shunsambongi/tree-sitter-gitignore) -* [Gleam](https://github.com/gleam-lang/tree-sitter-gleam) -* [GLSL (OpenGL Shading Language)](https://github.com/theHamsta/tree-sitter-glsl) -* [Go](https://github.com/tree-sitter/tree-sitter-go) -* [Go mod](https://github.com/camdencheek/tree-sitter-go-mod) -* [Go work](https://github.com/omertuc/tree-sitter-go-work) -* [GraphQL](https://github.com/bkegley/tree-sitter-graphql) -* [Hack](https://github.com/slackhq/tree-sitter-hack) -* [Haskell](https://github.com/tree-sitter/tree-sitter-haskell) -* [HCL](https://github.com/MichaHoffmann/tree-sitter-hcl) -* [HTML](https://github.com/tree-sitter/tree-sitter-html) -* [ISPC](https://github.com/fab4100/tree-sitter-ispc) -* [Java](https://github.com/tree-sitter/tree-sitter-java) -* [JavaScript](https://github.com/tree-sitter/tree-sitter-javascript) -* [jq](https://github.com/flurie/tree-sitter-jq) -* [JSON](https://github.com/tree-sitter/tree-sitter-json) -* [JSON5](https://github.com/Joakker/tree-sitter-json5) -* [Julia](https://github.com/tree-sitter/tree-sitter-julia) -* [Just](https://github.com/IndianBoy42/tree-sitter-just) -* [Kotlin](https://github.com/fwcd/tree-sitter-kotlin) -* [LALRPOP](https://github.com/traxys/tree-sitter-lalrpop) -* [LaTeX](https://github.com/latex-lsp/tree-sitter-latex) -* [Lean](https://github.com/Julian/tree-sitter-lean) -* [LLVM](https://github.com/benwilliamgraham/tree-sitter-llvm) -* [LLVM MachineIR](https://github.com/Flakebi/tree-sitter-llvm-mir) -* [LLVM MLIR](https://github.com/artagnon/tree-sitter-mlir) -* [LLVM TableGen](https://github.com/Flakebi/tree-sitter-tablegen) -* [Lua](https://github.com/MunifTanjim/tree-sitter-lua) -* [Magik](https://github.com/krn-robin/tree-sitter-magik) -* [Make](https://github.com/alemuller/tree-sitter-make) -* [Markdown](https://github.com/ikatyang/tree-sitter-markdown) -* [Markdown](https://github.com/MDeiml/tree-sitter-markdown) -* [Meson](https://github.com/Decodetalkers/tree-sitter-meson) -* [Meson](https://github.com/staysail/tree-sitter-meson) -* [Motorola 68000 assembly](https://github.com/grahambates/tree-sitter-m68k) -* [NGINX](https://gitlab.com/joncoole/tree-sitter-nginx) -* [Nim](https://github.com/alaviss/tree-sitter-nim) -* [Nix](https://github.com/cstrahan/tree-sitter-nix) -* [Noir](https://github.com/hhamud/tree-sitter-noir) -* [Objective-C](https://github.com/jiyee/tree-sitter-objc) -* [OCaml](https://github.com/tree-sitter/tree-sitter-ocaml) -* [Odin](https://github.com/amaanq/tree-sitter-odin) -* [Ohm](https://github.com/novusnota/tree-sitter-ohm) -* [Org](https://github.com/milisims/tree-sitter-org) -* [P4](https://github.com/ace-design/tree-sitter-p4) -* [Pascal](https://github.com/Isopod/tree-sitter-pascal) -* [Perl](https://github.com/ganezdragon/tree-sitter-perl) -* [Perl](https://github.com/tree-sitter-perl/tree-sitter-perl) -* [Perl POD](https://github.com/tree-sitter-perl/tree-sitter-pod) -* [PHP](https://github.com/tree-sitter/tree-sitter-php) -* [Portable Game Notation](https://github.com/rolandwalker/tree-sitter-pgn) -* [PowerShell](https://github.com/airbus-cert/tree-sitter-powershell) -* [Protocol Buffers](https://github.com/mitchellh/tree-sitter-proto) -* [Python](https://github.com/tree-sitter/tree-sitter-python) -* [QML](https://github.com/yuja/tree-sitter-qmljs) -* [QuakeC](https://github.com/vkazanov/tree-sitter-quakec) -* [Racket](https://github.com/6cdh/tree-sitter-racket) -* [Rasi](https://github.com/Fymyte/tree-sitter-rasi) -* [re2c](https://github.com/alemuller/tree-sitter-re2c) -* [Regex](https://github.com/tree-sitter/tree-sitter-regex) -* [Rego](https://github.com/FallenAngel97/tree-sitter-rego) -* [reStructuredText](https://github.com/stsewd/tree-sitter-rst) -* [R](https://github.com/r-lib/tree-sitter-r) -* [Robot](https://github.com/Hubro/tree-sitter-robot) -* [Ruby](https://github.com/tree-sitter/tree-sitter-ruby) -* [Rust](https://github.com/tree-sitter/tree-sitter-rust) -* [Scala](https://github.com/tree-sitter/tree-sitter-scala) -* [Scheme](https://github.com/6cdh/tree-sitter-scheme) -* [SCSS](https://github.com/serenadeai/tree-sitter-scss) -* [S-expressions](https://github.com/AbstractMachinesLab/tree-sitter-sexp) -* [Smali](https://github.com/amaanq/tree-sitter-smali) -* [Smali](https://git.sr.ht/~yotam/tree-sitter-smali) -* [SourcePawn](https://github.com/nilshelmig/tree-sitter-sourcepawn) -* [SPARQL](https://github.com/BonaBeavis/tree-sitter-sparql) -* [SQL - BigQuery](https://github.com/takegue/tree-sitter-sql-bigquery) -* [SQL - General](https://github.com/DerekStride/tree-sitter-sql) -* [SQL - PostgreSQL](https://github.com/m-novikov/tree-sitter-sql) -* [SQL - SQLite](https://github.com/dhcmrlchtdj/tree-sitter-sqlite) -* [SSH](https://github.com/metio/tree-sitter-ssh-client-config) -* [Supercollider](https://github.com/madskjeldgaard/tree-sitter-supercollider) -* [Svelte](https://github.com/Himujjal/tree-sitter-svelte) -* [Swift](https://github.com/alex-pinkus/tree-sitter-swift) -* [SystemRDL](https://github.com/SystemRDL/tree-sitter-systemrdl) -* [Tact](https://github.com/tact-lang/tree-sitter-tact) -* [Thrift](https://github.com/duskmoon314/tree-sitter-thrift) -* ["TODO:" comments](https://github.com/stsewd/tree-sitter-comment) -* [TOML](https://github.com/ikatyang/tree-sitter-toml) -* [Tree-sitter Query](https://github.com/nvim-treesitter/tree-sitter-query) -* [Turtle](https://github.com/BonaBeavis/tree-sitter-turtle) -* [Twig](https://github.com/kaermorchen/tree-sitter-twig) -* [Twig](https://github.com/gbprod/tree-sitter-twig) -* [TypeScript](https://github.com/tree-sitter/tree-sitter-typescript) -* [Ungrammar](https://github.com/Philipp-M/tree-sitter-ungrammar) -* [USD](https://github.com/ColinKennedy/tree-sitter-usd) -* [Verilog](https://github.com/tree-sitter/tree-sitter-verilog) -* [VHDL](https://github.com/alemuller/tree-sitter-vhdl) -* [Vue](https://github.com/ikatyang/tree-sitter-vue) -* [Wasm](https://github.com/wasm-lsp/tree-sitter-wasm) -* [WDL](https://github.com/jdidion/tree-sitter-wdl) -* [WGSL (WebGPU Shading Language)](https://github.com/mehmetoguzderin/tree-sitter-wgsl) -* [YAML](https://github.com/ikatyang/tree-sitter-yaml) -* [YANG](https://github.com/Hubro/tree-sitter-yang) -* [Yuck](https://github.com/Philipp-M/tree-sitter-yuck) -* [Zig](https://github.com/maxxnino/tree-sitter-zig) +A list of known parsers can be found in the [wiki](https://github.com/tree-sitter/tree-sitter/wiki/List-of-parsers). ### Talks on Tree-sitter