diff options
| author | Christian Clason <c.clason@uni-graz.at> | 2025-04-27 14:00:40 +0200 |
|---|---|---|
| committer | Christian Clason <c.clason@uni-graz.at> | 2025-05-12 18:43:40 +0200 |
| commit | bdc2e01958209dea64fc1a8b7dbf34d0dd96930e (patch) | |
| tree | 695eda52875ea765c6ed3558862167bdcfeb6731 | |
| parent | feat(setup)!: remove ensure_install field (diff) | |
| download | nvim-treesitter-bdc2e01958209dea64fc1a8b7dbf34d0dd96930e.tar nvim-treesitter-bdc2e01958209dea64fc1a8b7dbf34d0dd96930e.tar.gz nvim-treesitter-bdc2e01958209dea64fc1a8b7dbf34d0dd96930e.tar.bz2 nvim-treesitter-bdc2e01958209dea64fc1a8b7dbf34d0dd96930e.tar.lz nvim-treesitter-bdc2e01958209dea64fc1a8b7dbf34d0dd96930e.tar.xz nvim-treesitter-bdc2e01958209dea64fc1a8b7dbf34d0dd96930e.tar.zst nvim-treesitter-bdc2e01958209dea64fc1a8b7dbf34d0dd96930e.zip | |
feat(install)!: always generate from json if possible
| -rw-r--r-- | README.md | 9 | ||||
| -rw-r--r-- | SUPPORTED_LANGUAGES.md | 647 | ||||
| -rw-r--r-- | lua/nvim-treesitter/_meta/parsers.lua | 2 | ||||
| -rw-r--r-- | lua/nvim-treesitter/install.lua | 12 | ||||
| -rw-r--r-- | lua/nvim-treesitter/parsers.lua | 42 | ||||
| -rwxr-xr-x | scripts/update-readme.lua | 9 |
6 files changed, 347 insertions, 374 deletions
@@ -28,9 +28,10 @@ The `nvim-treesitter` plugin provides ## Requirements - Neovim 0.11.0 or later (nightly) -- `tar` and `curl` in your path (or alternatively `git`) -- [`tree-sitter`](https://github.com/tree-sitter/tree-sitter) CLI (0.24.0 or later) +- `tar` and `curl` in your path +- [`tree-sitter`](https://github.com/tree-sitter/tree-sitter) CLI (0.25.0 or later) - a C compiler in your path (see <https://docs.rs/cc/latest/cc/#compile-time-requirements>) +- `Node` (23.0.0 or later) for some parsers (see the [list of supported languages](SUPPORTED_LANGUAGES.md)) ## Installation @@ -74,9 +75,7 @@ Check [`:h nvim-treesitter-commands`](doc/nvim-treesitter.txt) for a list of all For `nvim-treesitter` to support a specific feature for a specific language requires both a parser for that language and an appropriate language-specific query file for that feature. -A list of the currently supported languages can be found [on this page](SUPPORTED_LANGUAGES.md). - -We are looking for maintainers to add more parsers and to write query files for their languages. Check our [tracking issue](https://github.com/nvim-treesitter/nvim-treesitter/issues/2282) for open language requests. +A list of the currently supported languages can be found [on this page](SUPPORTED_LANGUAGES.md). If you wish to add a new language or improve the queries for the an existing one, please see our [contributing guide](CONTRIBUTING.md). For related information on the supported languages, including related plugins, see [this wiki page](https://github.com/nvim-treesitter/nvim-treesitter/wiki/Supported-Languages-Information). diff --git a/SUPPORTED_LANGUAGES.md b/SUPPORTED_LANGUAGES.md index dbb2934bf..94e105085 100644 --- a/SUPPORTED_LANGUAGES.md +++ b/SUPPORTED_LANGUAGES.md @@ -5,333 +5,334 @@ The following is a list of languages for which a parser can be installed through Legend: - **Tier:** _stable_ (updates follow semver releases), _unstable_ (updates follow HEAD), _unmaintained_ (no automatic updates), or _unsupported_ (known to be broken, cannot be installed) - **Queries** available for **H**ighlights, **I**ndents, **F**olds, In**J**ections, **L**ocals +- **Node:** Parser requires `node` for installation - **Maintainer** of queries in nvim-treesitter (may be different from parser maintainer!) <!--This section of the README is automatically updated by a CI job--> <!--parserinfo--> -Language | Tier | Queries | Maintainer --------- |:----:|:-------:| ---------- -[ada](https://github.com/briot/tree-sitter-ada) | unstable | `HF JL` | @briot -[agda](https://github.com/tree-sitter/tree-sitter-agda) | unstable | `HF J ` | @Decodetalkers -[angular](https://github.com/dlvandenberg/tree-sitter-angular) | unstable | `HFIJL` | @dlvandenberg -[apex](https://github.com/aheber/tree-sitter-sfapex) | unstable | `HF JL` | @aheber, @xixiafinland -[arduino](https://github.com/tree-sitter-grammars/tree-sitter-arduino) | unstable | `HFIJL` | @ObserverOfTime -[asm](https://github.com/RubixDev/tree-sitter-asm) | unstable | `H J ` | @RubixDev -[astro](https://github.com/virchau13/tree-sitter-astro) | unstable | `HFIJL` | @virchau13 -[authzed](https://github.com/mleonidas/tree-sitter-authzed) | unstable | `H J ` | @mattpolzin -[awk](https://github.com/Beaglefoot/tree-sitter-awk) | unstable | `H J ` | -[bash](https://github.com/tree-sitter/tree-sitter-bash) | unstable | `HF JL` | @TravonteD -[bass](https://github.com/vito/tree-sitter-bass) | unstable | `HFIJL` | @amaanq -[beancount](https://github.com/polarmutex/tree-sitter-beancount) | unstable | `HF J ` | @polarmutex -[bibtex](https://github.com/latex-lsp/tree-sitter-bibtex) | unstable | `HFIJ ` | @theHamsta, @clason -[bicep](https://github.com/tree-sitter-grammars/tree-sitter-bicep) | unstable | `HFIJL` | @amaanq -[bitbake](https://github.com/tree-sitter-grammars/tree-sitter-bitbake) | unstable | `HFIJL` | @amaanq -[blade](https://github.com/EmranMR/tree-sitter-blade) | unstable | `HFIJ ` | @calebdw -[blueprint](https://gitlab.com/gabmus/tree-sitter-blueprint) | unstable | `H J ` | @gabmus -[bp](https://github.com/ambroisie/tree-sitter-bp)[^bp] | unstable | `HFIJL` | @ambroisie -[brightscript](https://github.com/ajdelcimmuto/tree-sitter-brightscript) | unstable | `HFIJ ` | @ajdelcimmuto -[c](https://github.com/tree-sitter/tree-sitter-c) | unstable | `HFIJL` | @amaanq -[c_sharp](https://github.com/tree-sitter/tree-sitter-c-sharp) | unstable | `HF JL` | @amaanq -[caddy](https://github.com/opa-oz/tree-sitter-caddy) | unmaintained | `HFIJ ` | @opa-oz -[cairo](https://github.com/tree-sitter-grammars/tree-sitter-cairo) | unstable | `HFIJL` | @amaanq -[capnp](https://github.com/tree-sitter-grammars/tree-sitter-capnp) | unstable | `HFIJL` | @amaanq -[chatito](https://github.com/tree-sitter-grammars/tree-sitter-chatito) | unstable | `HFIJL` | @ObserverOfTime -[circom](https://github.com/Decurity/tree-sitter-circom) | unstable | `HF JL` | @alexandr-martirosyan -[clojure](https://github.com/sogaiu/tree-sitter-clojure) | unstable | `HF JL` | @NoahTheDuke -[cmake](https://github.com/uyha/tree-sitter-cmake) | unstable | `HFIJ ` | @uyha -[comment](https://github.com/stsewd/tree-sitter-comment) | unstable | `H ` | @stsewd -[commonlisp](https://github.com/tree-sitter-grammars/tree-sitter-commonlisp) | unstable | `HF JL` | @theHamsta -[cooklang](https://github.com/addcninblue/tree-sitter-cooklang) | unstable | `H J ` | @addcninblue -[corn](https://github.com/jakestanger/tree-sitter-corn) | unstable | `HFIJL` | @jakestanger -[cpon](https://github.com/tree-sitter-grammars/tree-sitter-cpon) | unstable | `HFIJL` | @amaanq -[cpp](https://github.com/tree-sitter/tree-sitter-cpp) | unstable | `HFIJL` | @theHamsta -[css](https://github.com/tree-sitter/tree-sitter-css) | unstable | `HFIJ ` | @TravonteD -[csv](https://github.com/tree-sitter-grammars/tree-sitter-csv) | unstable | `H ` | @amaanq -[cuda](https://github.com/tree-sitter-grammars/tree-sitter-cuda) | unstable | `HFIJL` | @theHamsta -[cue](https://github.com/eonpatapon/tree-sitter-cue) | unstable | `HFIJL` | @amaanq -[cylc](https://github.com/elliotfontaine/tree-sitter-cylc) | unstable | `HFIJ ` | @elliotfontaine -[d](https://github.com/gdamore/tree-sitter-d) | unstable | `HFIJL` | @amaanq -[dart](https://github.com/UserNobody14/tree-sitter-dart) | unstable | `HFIJL` | @akinsho -[desktop](https://github.com/ValdezFOmar/tree-sitter-desktop) | unstable | `HF J ` | @ValdezFOmar -[devicetree](https://github.com/joelspadin/tree-sitter-devicetree) | unstable | `HFIJL` | @jedrzejboczar -[dhall](https://github.com/jbellerb/tree-sitter-dhall) | unstable | `HF J ` | @amaanq -[diff](https://github.com/the-mikedavis/tree-sitter-diff) | unstable | `HF J ` | @gbprod -[disassembly](https://github.com/ColinKennedy/tree-sitter-disassembly) | unstable | `H J ` | @ColinKennedy -[djot](https://github.com/treeman/tree-sitter-djot) | unstable | `HFIJL` | @NoahTheDuke -[dockerfile](https://github.com/camdencheek/tree-sitter-dockerfile) | unstable | `H J ` | @camdencheek -[dot](https://github.com/rydesun/tree-sitter-dot) | unstable | `H IJ ` | @rydesun -[doxygen](https://github.com/tree-sitter-grammars/tree-sitter-doxygen) | unstable | `H IJ ` | @amaanq -[dtd](https://github.com/tree-sitter-grammars/tree-sitter-xml) | unstable | `HF JL` | @ObserverOfTime -[earthfile](https://github.com/glehmann/tree-sitter-earthfile) | unstable | `H J ` | @glehmann -[ebnf](https://github.com/RubixDev/ebnf) | unstable | `H J ` | @RubixDev -ecma (queries only)[^ecma] | unstable | `HFIJL` | @steelsojka -[editorconfig](https://github.com/ValdezFOmar/tree-sitter-editorconfig) | unstable | `HF J ` | @ValdezFOmar -[eds](https://github.com/uyha/tree-sitter-eds) | unstable | `HF ` | @uyha -[eex](https://github.com/connorlay/tree-sitter-eex) | unstable | `H J ` | @connorlay -[elixir](https://github.com/elixir-lang/tree-sitter-elixir) | unstable | `HFIJL` | @connorlay -[elm](https://github.com/elm-tooling/tree-sitter-elm) | unstable | `HF J ` | @zweimach -[elsa](https://github.com/glapa-grossklag/tree-sitter-elsa) | unstable | `HFIJL` | @glapa-grossklag, @amaanq -[elvish](https://github.com/elves/tree-sitter-elvish) | unstable | `H J ` | @elves -[embedded_template](https://github.com/tree-sitter/tree-sitter-embedded-template) | unstable | `H J ` | -[enforce](https://github.com/simonvic/tree-sitter-enforce) | unstable | `HFIJL` | @simonvic -[erlang](https://github.com/WhatsApp/tree-sitter-erlang) | unstable | `HF J ` | @filmor -[facility](https://github.com/FacilityApi/tree-sitter-facility) | unstable | `HFIJ ` | @bryankenote -[faust](https://github.com/khiner/tree-sitter-faust) | unstable | `H J ` | @khiner -[fennel](https://github.com/alexmozaidze/tree-sitter-fennel) | unstable | `HF JL` | @alexmozaidze -[fidl](https://github.com/google/tree-sitter-fidl) | unstable | `HF J ` | @chaopeng -[firrtl](https://github.com/tree-sitter-grammars/tree-sitter-firrtl) | unstable | `HFIJL` | @amaanq -[fish](https://github.com/ram02z/tree-sitter-fish) | unstable | `HFIJL` | @ram02z -[foam](https://github.com/FoamScience/tree-sitter-foam) | unstable | `HFIJL` | @FoamScience -[forth](https://github.com/AlexanderBrevig/tree-sitter-forth) | unstable | `HFIJL` | @amaanq -[fortran](https://github.com/stadelmanma/tree-sitter-fortran) | unstable | `HFIJ ` | @amaanq -[fsh](https://github.com/mgramigna/tree-sitter-fsh) | unstable | `H J ` | @mgramigna -[fsharp](https://github.com/ionide/tree-sitter-fsharp) | unstable | `H J ` | @nsidorenco -[func](https://github.com/tree-sitter-grammars/tree-sitter-func) | unstable | `H J ` | @amaanq -[fusion](https://gitlab.com/jirgn/tree-sitter-fusion) | unstable | `HFIJL` | @jirgn -[gap](https://github.com/gap-system/tree-sitter-gap)[^gap] | unstable | `HF JL` | @reiniscirpons -[gaptst](https://github.com/gap-system/tree-sitter-gaptst)[^gaptst] | unstable | `HF J ` | @reiniscirpons -[gdscript](https://github.com/PrestonKnopp/tree-sitter-gdscript)[^gdscript] | unstable | `HFIJL` | @PrestonKnopp -[gdshader](https://github.com/GodOfAvacyn/tree-sitter-gdshader) | unstable | `H J ` | @godofavacyn -[git_config](https://github.com/the-mikedavis/tree-sitter-git-config) | unstable | `HF J ` | @amaanq -[git_rebase](https://github.com/the-mikedavis/tree-sitter-git-rebase) | unstable | `H J ` | @gbprod -[gitattributes](https://github.com/tree-sitter-grammars/tree-sitter-gitattributes) | unstable | `H JL` | @ObserverOfTime -[gitcommit](https://github.com/gbprod/tree-sitter-gitcommit) | unstable | `H J ` | @gbprod -[gitignore](https://github.com/shunsambongi/tree-sitter-gitignore) | unstable | `H J ` | @theHamsta -[gleam](https://github.com/gleam-lang/tree-sitter-gleam) | unstable | `HFIJL` | @amaanq -[glimmer](https://github.com/ember-tooling/tree-sitter-glimmer)[^glimmer] | unstable | `HFIJL` | @NullVoxPopuli -[glimmer_javascript](https://github.com/NullVoxPopuli/tree-sitter-glimmer-javascript) | unstable | `H IJL` | @NullVoxPopuli -[glimmer_typescript](https://github.com/NullVoxPopuli/tree-sitter-glimmer-typescript) | unstable | `H IJ ` | @NullVoxPopuli -[glsl](https://github.com/tree-sitter-grammars/tree-sitter-glsl) | unstable | `HFIJL` | @theHamsta -[gn](https://github.com/tree-sitter-grammars/tree-sitter-gn) | unstable | `HFIJL` | @amaanq -[gnuplot](https://github.com/dpezto/tree-sitter-gnuplot) | unstable | `H J ` | @dpezto -[go](https://github.com/tree-sitter/tree-sitter-go) | unstable | `HFIJL` | @theHamsta, @WinWisely268 -[goctl](https://github.com/chaozwn/tree-sitter-goctl) | unstable | `HFIJ ` | @chaozwn -[godot_resource](https://github.com/PrestonKnopp/tree-sitter-godot-resource)[^godot_resource] | unstable | `HF JL` | @pierpo -[gomod](https://github.com/camdencheek/tree-sitter-go-mod) | unstable | `H J ` | @camdencheek -[gosum](https://github.com/tree-sitter-grammars/tree-sitter-go-sum) | unstable | `H ` | @amaanq -[gotmpl](https://github.com/ngalaiko/tree-sitter-go-template) | unstable | `HF JL` | @qvalentin -[gowork](https://github.com/omertuc/tree-sitter-go-work) | unstable | `H J ` | @omertuc -[gpg](https://github.com/tree-sitter-grammars/tree-sitter-gpg-config) | unstable | `H J ` | @ObserverOfTime -[graphql](https://github.com/bkegley/tree-sitter-graphql) | unstable | `H IJ ` | @bkegley -[gren](https://github.com/MaeBrooks/tree-sitter-gren) | unstable | `H J ` | @MaeBrooks -[groovy](https://github.com/murtaza64/tree-sitter-groovy) | unstable | `HFIJL` | @murtaza64 -[gstlaunch](https://github.com/tree-sitter-grammars/tree-sitter-gstlaunch) | unstable | `H ` | @theHamsta -[hack](https://github.com/slackhq/tree-sitter-hack) | unstable | `H J ` | -[hare](https://github.com/tree-sitter-grammars/tree-sitter-hare) | unstable | `HFIJL` | @amaanq -[haskell](https://github.com/tree-sitter/tree-sitter-haskell) | unstable | `HF JL` | @mrcjkb -[haskell_persistent](https://github.com/MercuryTechnologies/tree-sitter-haskell-persistent) | unstable | `HF ` | @lykahb -[hcl](https://github.com/tree-sitter-grammars/tree-sitter-hcl) | unstable | `HFIJ ` | @MichaHoffmann -[heex](https://github.com/connorlay/tree-sitter-heex) | unstable | `HFIJL` | @connorlay -[helm](https://github.com/ngalaiko/tree-sitter-go-template) | unstable | `HF JL` | @qvalentin -[hjson](https://github.com/winston0410/tree-sitter-hjson) | unstable | `HFIJL` | @winston0410 -[hlsl](https://github.com/tree-sitter-grammars/tree-sitter-hlsl) | unstable | `HFIJL` | @theHamsta -[hlsplaylist](https://github.com/Freed-Wu/tree-sitter-hlsplaylist) | unstable | `H J ` | @Freed-Wu -[hocon](https://github.com/antosha417/tree-sitter-hocon) | unstable | `HF J ` | @antosha417 -[hoon](https://github.com/urbit-pilled/tree-sitter-hoon) | unstable | `HF JL` | @urbit-pilled -[html](https://github.com/tree-sitter/tree-sitter-html) | unstable | `HFIJL` | @TravonteD -html_tags (queries only)[^html_tags] | unstable | `H IJ ` | @TravonteD -[htmldjango](https://github.com/interdependence/tree-sitter-htmldjango) | unstable | `HFIJ ` | @ObserverOfTime -[http](https://github.com/rest-nvim/tree-sitter-http) | unstable | `HF J ` | @amaanq, @NTBBloodbath -[hurl](https://github.com/pfeiferj/tree-sitter-hurl) | unstable | `HFIJ ` | @pfeiferj -[hyprlang](https://github.com/tree-sitter-grammars/tree-sitter-hyprlang) | unstable | `HFIJ ` | @luckasRanarison -[idl](https://github.com/cathaysia/tree-sitter-idl) | unstable | `H IJ ` | @cathaysia -[idris](https://github.com/kayhide/tree-sitter-idris) | unstable | `HF JL` | @srghma -[ini](https://github.com/justinmk/tree-sitter-ini) | unstable | `HF J ` | @theHamsta -[inko](https://github.com/inko-lang/tree-sitter-inko) | unstable | `HFIJL` | @yorickpeterse -[ipkg](https://github.com/srghma/tree-sitter-ipkg) | unstable | `HFIJL` | @srghma -[ispc](https://github.com/tree-sitter-grammars/tree-sitter-ispc) | unstable | `HFIJL` | @fab4100 -[janet_simple](https://github.com/sogaiu/tree-sitter-janet-simple) | unstable | `HF JL` | @sogaiu -[java](https://github.com/tree-sitter/tree-sitter-java) | unstable | `HFIJL` | @p00f -[javadoc](https://github.com/rmuir/tree-sitter-javadoc) | unstable | `H IJ ` | @rmuir -[javascript](https://github.com/tree-sitter/tree-sitter-javascript) | unstable | `HFIJL` | @steelsojka -[jinja](https://github.com/cathaysia/tree-sitter-jinja)[^jinja] | unstable | `H J ` | @cathaysia -[jinja_inline](https://github.com/cathaysia/tree-sitter-jinja)[^jinja_inline] | unstable | `H J ` | @cathaysia -[jq](https://github.com/flurie/tree-sitter-jq) | unstable | `H JL` | @ObserverOfTime -[jsdoc](https://github.com/tree-sitter/tree-sitter-jsdoc) | unstable | `H ` | @steelsojka -[json](https://github.com/tree-sitter/tree-sitter-json) | unstable | `HFI L` | @steelsojka -[json5](https://github.com/Joakker/tree-sitter-json5) | unstable | `H J ` | @Joakker -[jsonc](https://gitlab.com/WhyNotHugo/tree-sitter-jsonc) | unstable | `HFIJL` | @WhyNotHugo -[jsonnet](https://github.com/sourcegraph/tree-sitter-jsonnet) | unstable | `HF JL` | @nawordar -jsx (queries only)[^jsx] | unstable | `HFIJ ` | @steelsojka -[julia](https://github.com/tree-sitter/tree-sitter-julia) | unstable | `HFIJL` | @fredrikekre -[just](https://github.com/IndianBoy42/tree-sitter-just) | unstable | `HFIJL` | @Hubro -[kcl](https://github.com/kcl-lang/tree-sitter-kcl) | unstable | `HF J ` | @bertbaron -[kconfig](https://github.com/tree-sitter-grammars/tree-sitter-kconfig) | unstable | `HFIJL` | @amaanq -[kdl](https://github.com/tree-sitter-grammars/tree-sitter-kdl) | unstable | `HFIJL` | @amaanq -[kotlin](https://github.com/fwcd/tree-sitter-kotlin) | unstable | `HF JL` | @SalBakraa -[koto](https://github.com/koto-lang/tree-sitter-koto) | unstable | `HF JL` | @irh -[kusto](https://github.com/Willem-J-an/tree-sitter-kusto) | unstable | `H J ` | @Willem-J-an -[lalrpop](https://github.com/traxys/tree-sitter-lalrpop) | unstable | `HF JL` | @traxys -[latex](https://github.com/latex-lsp/tree-sitter-latex) | unstable | `HF J ` | @theHamsta, @clason -[ledger](https://github.com/cbarrete/tree-sitter-ledger) | unstable | `HFIJ ` | @cbarrete -[leo](https://github.com/r001/tree-sitter-leo) | unstable | `H IJ ` | @r001 -[linkerscript](https://github.com/tree-sitter-grammars/tree-sitter-linkerscript) | unstable | `HFIJL` | @amaanq -[liquid](https://github.com/hankthetank27/tree-sitter-liquid) | unstable | `H J ` | @hankthetank27 -[liquidsoap](https://github.com/savonet/tree-sitter-liquidsoap) | unstable | `HFIJL` | @toots -[llvm](https://github.com/benwilliamgraham/tree-sitter-llvm) | unstable | `H J ` | @benwilliamgraham -[lua](https://github.com/tree-sitter-grammars/tree-sitter-lua) | unstable | `HFIJL` | @muniftanjim -[luadoc](https://github.com/tree-sitter-grammars/tree-sitter-luadoc) | unstable | `H ` | @amaanq -[luap](https://github.com/tree-sitter-grammars/tree-sitter-luap)[^luap] | unstable | `H ` | @amaanq -[luau](https://github.com/tree-sitter-grammars/tree-sitter-luau) | unstable | `HFIJL` | @amaanq -[m68k](https://github.com/grahambates/tree-sitter-m68k) | unstable | `HF JL` | @grahambates -[make](https://github.com/alemuller/tree-sitter-make) | unstable | `HF J ` | @lewis6991 -[markdown](https://github.com/tree-sitter-grammars/tree-sitter-markdown)[^markdown] | unstable | `HFIJ ` | @MDeiml -[markdown_inline](https://github.com/tree-sitter-grammars/tree-sitter-markdown)[^markdown_inline] | unstable | `H J ` | @MDeiml -[matlab](https://github.com/acristoffers/tree-sitter-matlab) | unstable | `HFIJL` | @acristoffers -[menhir](https://github.com/Kerl13/tree-sitter-menhir) | unstable | `H J ` | @Kerl13 -[mermaid](https://github.com/monaqa/tree-sitter-mermaid) | unstable | `HFIJ ` | -[meson](https://github.com/tree-sitter-grammars/tree-sitter-meson) | unstable | `HFIJ ` | @Decodetalkers -[mlir](https://github.com/artagnon/tree-sitter-mlir) | unstable | `H JL` | @artagnon -[muttrc](https://github.com/neomutt/tree-sitter-muttrc) | unstable | `H J ` | @Freed-Wu -[nasm](https://github.com/naclsn/tree-sitter-nasm) | unstable | `H J ` | @ObserverOfTime -[nginx](https://github.com/opa-oz/tree-sitter-nginx) | unstable | `HF J ` | @opa-oz -[nickel](https://github.com/nickel-lang/tree-sitter-nickel) | unstable | `H IJ ` | -[nim](https://github.com/alaviss/tree-sitter-nim) | unstable | `HF JL` | @aMOPel -[nim_format_string](https://github.com/aMOPel/tree-sitter-nim-format-string) | unstable | `H J ` | @aMOPel -[ninja](https://github.com/alemuller/tree-sitter-ninja) | unstable | `HFIJ ` | @alemuller -[nix](https://github.com/cstrahan/tree-sitter-nix) | unstable | `HFIJL` | @leo60228 -[nqc](https://github.com/tree-sitter-grammars/tree-sitter-nqc) | unstable | `HFIJL` | @amaanq -[nu](https://github.com/nushell/tree-sitter-nu) | unstable | `HFIJ ` | @abhisheksingh0x558 -[objc](https://github.com/tree-sitter-grammars/tree-sitter-objc) | unstable | `HFIJL` | @amaanq -[objdump](https://github.com/ColinKennedy/tree-sitter-objdump) | unstable | `H J ` | @ColinKennedy -[ocaml](https://github.com/tree-sitter/tree-sitter-ocaml) | unstable | `HFIJL` | @undu -[ocaml_interface](https://github.com/tree-sitter/tree-sitter-ocaml) | unstable | `HFIJL` | @undu -[ocamllex](https://github.com/atom-ocaml/tree-sitter-ocamllex) | unstable | `H J ` | @undu -[odin](https://github.com/tree-sitter-grammars/tree-sitter-odin) | unstable | `HFIJL` | @amaanq -[pascal](https://github.com/Isopod/tree-sitter-pascal) | unstable | `HFIJL` | @Isopod -[passwd](https://github.com/ath3/tree-sitter-passwd) | unstable | `H ` | @amaanq -[pem](https://github.com/tree-sitter-grammars/tree-sitter-pem) | unstable | `HF J ` | @ObserverOfTime -[perl](https://github.com/tree-sitter-perl/tree-sitter-perl) | unstable | `HF J ` | @RabbiVeesh, @LeoNerd -[php](https://github.com/tree-sitter/tree-sitter-php)[^php] | unstable | `HFIJL` | @tk-shirasaka, @calebdw -[php_only](https://github.com/tree-sitter/tree-sitter-php)[^php_only] | unstable | `HFIJL` | @tk-shirasaka, @calebdw -[phpdoc](https://github.com/claytonrcarter/tree-sitter-phpdoc) | unstable | `H ` | @mikehaertl -[pioasm](https://github.com/leo60228/tree-sitter-pioasm) | unstable | `H J ` | @leo60228 -[po](https://github.com/tree-sitter-grammars/tree-sitter-po) | unstable | `HF J ` | @amaanq -[pod](https://github.com/tree-sitter-perl/tree-sitter-pod) | unstable | `H ` | @RabbiVeesh, @LeoNerd -[poe_filter](https://github.com/tree-sitter-grammars/tree-sitter-poe-filter)[^poe_filter] | unstable | `HFIJ ` | @ObserverOfTime -[pony](https://github.com/tree-sitter-grammars/tree-sitter-pony) | unstable | `HFIJL` | @amaanq, @mfelsche -[powershell](https://github.com/airbus-cert/tree-sitter-powershell) | unstable | `HFIJL` | @L2jLiga -[printf](https://github.com/tree-sitter-grammars/tree-sitter-printf) | unstable | `H ` | @ObserverOfTime -[prisma](https://github.com/victorhqc/tree-sitter-prisma) | unstable | `HF J ` | @elianiva -[problog](https://github.com/foxyseta/tree-sitter-prolog) | unstable | `HFIJ ` | @foxyseta -[prolog](https://github.com/foxyseta/tree-sitter-prolog) | unstable | `HFIJ ` | @foxyseta -[promql](https://github.com/MichaHoffmann/tree-sitter-promql) | unstable | `H J ` | @MichaHoffmann -[properties](https://github.com/tree-sitter-grammars/tree-sitter-properties)[^properties] | unstable | `H JL` | @ObserverOfTime -[proto](https://github.com/treywood/tree-sitter-proto) | unstable | `HFIJ ` | @treywood -[prql](https://github.com/PRQL/tree-sitter-prql) | unstable | `H J ` | @matthias-Q -[psv](https://github.com/tree-sitter-grammars/tree-sitter-csv) | unstable | `H ` | @amaanq -[pug](https://github.com/zealot128/tree-sitter-pug) | unstable | `H J ` | @zealot128 -[puppet](https://github.com/tree-sitter-grammars/tree-sitter-puppet) | unstable | `HFIJL` | @amaanq -[purescript](https://github.com/postsolar/tree-sitter-purescript) | unstable | `H JL` | @postsolar -[pymanifest](https://github.com/tree-sitter-grammars/tree-sitter-pymanifest) | unstable | `H J ` | @ObserverOfTime -[python](https://github.com/tree-sitter/tree-sitter-python) | unstable | `HFIJL` | @stsewd, @theHamsta -[ql](https://github.com/tree-sitter/tree-sitter-ql) | unstable | `HFIJL` | @pwntester -[qmldir](https://github.com/tree-sitter-grammars/tree-sitter-qmldir) | unstable | `H J ` | @amaanq -[qmljs](https://github.com/yuja/tree-sitter-qmljs) | unstable | `HF J ` | @Decodetalkers -[query](https://github.com/tree-sitter-grammars/tree-sitter-query)[^query] | unstable | `HFIJL` | @steelsojka -[r](https://github.com/r-lib/tree-sitter-r) | unstable | `H IJL` | @ribru17 -[racket](https://github.com/6cdh/tree-sitter-racket) | unstable | `HF J ` | -[ralph](https://github.com/alephium/tree-sitter-ralph) | unstable | `H J ` | @tdroxler -[rasi](https://github.com/Fymyte/tree-sitter-rasi) | unstable | `HFIJL` | @Fymyte -[razor](https://github.com/tris203/tree-sitter-razor) | unstable | `HF J ` | @tris203 -[rbs](https://github.com/joker1007/tree-sitter-rbs) | unstable | `HFIJ ` | @joker1007 -[re2c](https://github.com/tree-sitter-grammars/tree-sitter-re2c) | unstable | `HFIJL` | @amaanq -[readline](https://github.com/tree-sitter-grammars/tree-sitter-readline) | unstable | `HFIJ ` | @ribru17 -[regex](https://github.com/tree-sitter/tree-sitter-regex) | unstable | `H ` | @theHamsta -[rego](https://github.com/FallenAngel97/tree-sitter-rego) | unstable | `H J ` | @FallenAngel97 -[requirements](https://github.com/tree-sitter-grammars/tree-sitter-requirements) | unstable | `H J ` | @ObserverOfTime -[rescript](https://github.com/rescript-lang/tree-sitter-rescript) | unstable | `HFIJL` | @ribru17 -[rnoweb](https://github.com/bamonroe/tree-sitter-rnoweb) | unstable | `HF J ` | @bamonroe -[robot](https://github.com/Hubro/tree-sitter-robot) | unstable | `HFIJ ` | @Hubro -[robots](https://github.com/opa-oz/tree-sitter-robots-txt) | unstable | `H J ` | @opa-oz -[roc](https://github.com/faldor20/tree-sitter-roc) | unstable | `H IJL` | @nat-418 -[ron](https://github.com/tree-sitter-grammars/tree-sitter-ron) | unstable | `HFIJL` | @amaanq -[rst](https://github.com/stsewd/tree-sitter-rst) | unstable | `H JL` | @stsewd -[ruby](https://github.com/tree-sitter/tree-sitter-ruby) | unstable | `HFIJL` | @TravonteD -[runescript](https://github.com/2004Scape/tree-sitter-runescript) | unstable | `H J ` | @2004Scape -[rust](https://github.com/tree-sitter/tree-sitter-rust) | unstable | `HFIJL` | @amaanq -[scala](https://github.com/tree-sitter/tree-sitter-scala) | unstable | `HF JL` | @stevanmilic -[scfg](https://github.com/rockorager/tree-sitter-scfg) | unstable | `H J ` | @WhyNotHugo -[scheme](https://github.com/6cdh/tree-sitter-scheme) | unstable | `HF J ` | -[scss](https://github.com/serenadeai/tree-sitter-scss) | unstable | `HFIJ ` | @elianiva -[sflog](https://github.com/aheber/tree-sitter-sfapex)[^sflog] | unstable | `H ` | @aheber, @xixiaofinland -[slang](https://github.com/tree-sitter-grammars/tree-sitter-slang)[^slang] | unstable | `HFIJL` | @theHamsta -[slim](https://github.com/theoo/tree-sitter-slim) | unstable | `HFIJL` | @theoo -[slint](https://github.com/slint-ui/tree-sitter-slint) | unstable | `HFIJL` | @hunger -[smali](https://github.com/tree-sitter-grammars/tree-sitter-smali) | unstable | `HFIJL` | @amaanq -[smithy](https://github.com/indoorvivants/tree-sitter-smithy) | unstable | `H J ` | @amaanq, @keynmol -[snakemake](https://github.com/osthomas/tree-sitter-snakemake) | unstable | `HFIJL` | @osthomas -[solidity](https://github.com/JoranHonig/tree-sitter-solidity) | unstable | `HF J ` | @amaanq -[soql](https://github.com/aheber/tree-sitter-sfapex) | unstable | `H ` | @aheber, @xixiafinland -[sosl](https://github.com/aheber/tree-sitter-sfapex) | unstable | `H ` | @aheber, @xixiafinland -[sourcepawn](https://github.com/nilshelmig/tree-sitter-sourcepawn) | unstable | `H JL` | @Sarrus1 -[sparql](https://github.com/GordianDziwis/tree-sitter-sparql) | unstable | `HFIJL` | @GordianDziwis -[sql](https://github.com/derekstride/tree-sitter-sql) | unstable | `HFIJ ` | @derekstride -[squirrel](https://github.com/tree-sitter-grammars/tree-sitter-squirrel) | unstable | `HFIJL` | @amaanq -[ssh_config](https://github.com/tree-sitter-grammars/tree-sitter-ssh-config) | unstable | `HFIJL` | @ObserverOfTime -[starlark](https://github.com/tree-sitter-grammars/tree-sitter-starlark) | unstable | `HFIJL` | @amaanq -[strace](https://github.com/sigmaSd/tree-sitter-strace) | unstable | `H J ` | @amaanq -[styled](https://github.com/mskelton/tree-sitter-styled) | unstable | `HFIJ ` | @mskelton -[supercollider](https://github.com/madskjeldgaard/tree-sitter-supercollider) | unstable | `HFIJL` | @madskjeldgaard -[superhtml](https://github.com/kristoff-it/superhtml) | unstable | `H J ` | @rockorager -[surface](https://github.com/connorlay/tree-sitter-surface) | unstable | `HFIJ ` | @connorlay -[svelte](https://github.com/tree-sitter-grammars/tree-sitter-svelte) | unstable | `HFIJL` | @amaanq -[sway](https://github.com/FuelLabs/tree-sitter-sway.git) | unstable | `HFIJL` | @ribru17 -[swift](https://github.com/alex-pinkus/tree-sitter-swift) | unstable | `HFIJL` | @alex-pinkus -[sxhkdrc](https://github.com/RaafatTurki/tree-sitter-sxhkdrc) | unstable | `HF J ` | @RaafatTurki -[systemtap](https://github.com/ok-ryoko/tree-sitter-systemtap) | unstable | `HF JL` | @ok-ryoko -[t32](https://gitlab.com/xasc/tree-sitter-t32) | unstable | `HFIJL` | @xasc -[tablegen](https://github.com/tree-sitter-grammars/tree-sitter-tablegen) | unstable | `HFIJL` | @amaanq -[tact](https://github.com/tact-lang/tree-sitter-tact) | unstable | `HFIJL` | @novusnota -[tcl](https://github.com/tree-sitter-grammars/tree-sitter-tcl) | unstable | `HFIJ ` | @lewis6991 -[teal](https://github.com/euclidianAce/tree-sitter-teal) | unstable | `HFIJL` | @euclidianAce -[templ](https://github.com/vrischmann/tree-sitter-templ) | unstable | `HF J ` | @vrischmann -[tera](https://github.com/uncenter/tree-sitter-tera) | unstable | `H J ` | @uncenter -[terraform](https://github.com/MichaHoffmann/tree-sitter-hcl) | unstable | `HFIJ ` | @MichaHoffmann -[textproto](https://github.com/PorterAtGoogle/tree-sitter-textproto) | unstable | `HFIJ ` | @Porter -[thrift](https://github.com/tree-sitter-grammars/tree-sitter-thrift) | unstable | `HFIJL` | @amaanq, @duskmoon314 -[tiger](https://github.com/ambroisie/tree-sitter-tiger) | unstable | `HFIJL` | @ambroisie -[tlaplus](https://github.com/tlaplus-community/tree-sitter-tlaplus) | unstable | `HF JL` | @ahelwer, @susliko -[tmux](https://github.com/Freed-Wu/tree-sitter-tmux) | unstable | `H J ` | @Freed-Wu -[todotxt](https://github.com/arnarg/tree-sitter-todotxt) | unstable | `H ` | @arnarg -[toml](https://github.com/tree-sitter-grammars/tree-sitter-toml) | unstable | `HFIJL` | @tk-shirasaka -[tsv](https://github.com/tree-sitter-grammars/tree-sitter-csv) | unstable | `H ` | @amaanq -[tsx](https://github.com/tree-sitter/tree-sitter-typescript) | unstable | `HFIJL` | @steelsojka -[turtle](https://github.com/GordianDziwis/tree-sitter-turtle) | unstable | `HFIJL` | @GordianDziwis -[twig](https://github.com/gbprod/tree-sitter-twig) | unstable | `H J ` | @gbprod -[typescript](https://github.com/tree-sitter/tree-sitter-typescript) | unstable | `HFIJL` | @steelsojka -[typespec](https://github.com/happenslol/tree-sitter-typespec) | unstable | `H IJ ` | @happenslol -[typoscript](https://github.com/Teddytrombone/tree-sitter-typoscript) | unstable | `HFIJ ` | @Teddytrombone -[typst](https://github.com/uben0/tree-sitter-typst) | unstable | `HFIJ ` | @uben0, @RaafatTurki -[udev](https://github.com/tree-sitter-grammars/tree-sitter-udev) | unstable | `H JL` | @ObserverOfTime -[ungrammar](https://github.com/tree-sitter-grammars/tree-sitter-ungrammar) | unstable | `HFIJL` | @Philipp-M, @amaanq -[unison](https://github.com/kylegoetz/tree-sitter-unison) | unstable | `HF J ` | @tapegram -[usd](https://github.com/ColinKennedy/tree-sitter-usd) | unstable | `HFIJL` | @ColinKennedy -[uxntal](https://github.com/tree-sitter-grammars/tree-sitter-uxntal) | unstable | `HFIJL` | @amaanq -[v](https://github.com/vlang/v-analyzer) | unstable | `HFIJL` | @kkharji, @amaanq -[vala](https://github.com/vala-lang/tree-sitter-vala) | unstable | `HF J ` | @Prince781 -[vento](https://github.com/ventojs/tree-sitter-vento) | unstable | `H J ` | @wrapperup, @oscarotero -[verilog](https://github.com/gmlarumbe/tree-sitter-systemverilog) | unstable | `HF J ` | @zhangwwpeng -[vhdl](https://github.com/jpt13653903/tree-sitter-vhdl) | unstable | `HF J ` | @jpt13653903 -[vhs](https://github.com/charmbracelet/tree-sitter-vhs) | unstable | `H J ` | @caarlos0 -[vim](https://github.com/tree-sitter-grammars/tree-sitter-vim) | unstable | `HF JL` | @clason -[vimdoc](https://github.com/neovim/tree-sitter-vimdoc) | unstable | `H J ` | @clason -[vrl](https://github.com/belltoy/tree-sitter-vrl) | unstable | `HFIJL` | @belltoy -[vue](https://github.com/tree-sitter-grammars/tree-sitter-vue) | unstable | `HFIJ ` | @WhyNotHugo, @lucario387 -[wgsl](https://github.com/szebniok/tree-sitter-wgsl) | unstable | `HFIJ ` | @szebniok -[wgsl_bevy](https://github.com/tree-sitter-grammars/tree-sitter-wgsl-bevy) | unstable | `HFI ` | @theHamsta -[wing](https://github.com/winglang/tree-sitter-wing) | unstable | `HF JL` | @gshpychka, @MarkMcCulloh -[wit](https://github.com/liamwh/tree-sitter-wit) | unstable | `HF J ` | @liamwh -[xcompose](https://github.com/tree-sitter-grammars/tree-sitter-xcompose) | unstable | `H JL` | @ObserverOfTime -[xml](https://github.com/tree-sitter-grammars/tree-sitter-xml) | unstable | `HFIJL` | @ObserverOfTime -[xresources](https://github.com/ValdezFOmar/tree-sitter-xresources) | unstable | `HF JL` | @ValdezFOmar -[yaml](https://github.com/tree-sitter-grammars/tree-sitter-yaml) | unstable | `HFIJL` | @amaanq -[yang](https://github.com/Hubro/tree-sitter-yang) | unstable | `HFIJ ` | @Hubro -[yuck](https://github.com/tree-sitter-grammars/tree-sitter-yuck) | unstable | `HFIJL` | @Philipp-M, @amaanq -[zathurarc](https://github.com/Freed-Wu/tree-sitter-zathurarc) | unstable | `H J ` | @Freed-Wu -[zig](https://github.com/tree-sitter-grammars/tree-sitter-zig) | unstable | `HFIJL` | @amaanq -[ziggy](https://github.com/kristoff-it/ziggy) | unstable | `H I ` | @rockorager -[ziggy_schema](https://github.com/kristoff-it/ziggy) | unstable | `H I ` | @rockorager +Language | Tier | Queries | Node | Maintainer +-------- |:----:|:-------:|:----:| ---------- +[ada](https://github.com/briot/tree-sitter-ada) | unstable | `HF JL` | | @briot +[agda](https://github.com/tree-sitter/tree-sitter-agda) | unstable | `HF J ` | | @Decodetalkers +[angular](https://github.com/dlvandenberg/tree-sitter-angular) | unstable | `HFIJL` | | @dlvandenberg +[apex](https://github.com/aheber/tree-sitter-sfapex) | unstable | `HF JL` | | @aheber, @xixiafinland +[arduino](https://github.com/tree-sitter-grammars/tree-sitter-arduino) | unstable | `HFIJL` | | @ObserverOfTime +[asm](https://github.com/RubixDev/tree-sitter-asm) | unstable | `H J ` | | @RubixDev +[astro](https://github.com/virchau13/tree-sitter-astro) | unstable | `HFIJL` | | @virchau13 +[authzed](https://github.com/mleonidas/tree-sitter-authzed) | unstable | `H J ` | | @mattpolzin +[awk](https://github.com/Beaglefoot/tree-sitter-awk) | unstable | `H J ` | | +[bash](https://github.com/tree-sitter/tree-sitter-bash) | unstable | `HF JL` | | @TravonteD +[bass](https://github.com/vito/tree-sitter-bass) | unstable | `HFIJL` | | @amaanq +[beancount](https://github.com/polarmutex/tree-sitter-beancount) | unstable | `HF J ` | | @polarmutex +[bibtex](https://github.com/latex-lsp/tree-sitter-bibtex) | unstable | `HFIJ ` | | @theHamsta, @clason +[bicep](https://github.com/tree-sitter-grammars/tree-sitter-bicep) | unstable | `HFIJL` | | @amaanq +[bitbake](https://github.com/tree-sitter-grammars/tree-sitter-bitbake) | unstable | `HFIJL` | | @amaanq +[blade](https://github.com/EmranMR/tree-sitter-blade) | unstable | `HFIJ ` | | @calebdw +[blueprint](https://gitlab.com/gabmus/tree-sitter-blueprint) | unstable | `H J ` | | @gabmus +[bp](https://github.com/ambroisie/tree-sitter-bp)[^bp] | unstable | `HFIJL` | | @ambroisie +[brightscript](https://github.com/ajdelcimmuto/tree-sitter-brightscript) | unstable | `HFIJ ` | | @ajdelcimmuto +[c](https://github.com/tree-sitter/tree-sitter-c) | unstable | `HFIJL` | | @amaanq +[c_sharp](https://github.com/tree-sitter/tree-sitter-c-sharp) | unstable | `HF JL` | | @amaanq +[caddy](https://github.com/opa-oz/tree-sitter-caddy) | unmaintained | `HFIJ ` | | @opa-oz +[cairo](https://github.com/tree-sitter-grammars/tree-sitter-cairo) | unstable | `HFIJL` | | @amaanq +[capnp](https://github.com/tree-sitter-grammars/tree-sitter-capnp) | unstable | `HFIJL` | | @amaanq +[chatito](https://github.com/tree-sitter-grammars/tree-sitter-chatito) | unstable | `HFIJL` | | @ObserverOfTime +[circom](https://github.com/Decurity/tree-sitter-circom) | unstable | `HF JL` | | @alexandr-martirosyan +[clojure](https://github.com/sogaiu/tree-sitter-clojure) | unstable | `HF JL` | | @NoahTheDuke +[cmake](https://github.com/uyha/tree-sitter-cmake) | unstable | `HFIJ ` | | @uyha +[comment](https://github.com/stsewd/tree-sitter-comment) | unstable | `H ` | | @stsewd +[commonlisp](https://github.com/tree-sitter-grammars/tree-sitter-commonlisp) | unstable | `HF JL` | | @theHamsta +[cooklang](https://github.com/addcninblue/tree-sitter-cooklang) | unstable | `H J ` | | @addcninblue +[corn](https://github.com/jakestanger/tree-sitter-corn) | unstable | `HFIJL` | | @jakestanger +[cpon](https://github.com/tree-sitter-grammars/tree-sitter-cpon) | unstable | `HFIJL` | | @amaanq +[cpp](https://github.com/tree-sitter/tree-sitter-cpp) | unstable | `HFIJL` | | @theHamsta +[css](https://github.com/tree-sitter/tree-sitter-css) | unstable | `HFIJ ` | | @TravonteD +[csv](https://github.com/tree-sitter-grammars/tree-sitter-csv) | unstable | `H ` | | @amaanq +[cuda](https://github.com/tree-sitter-grammars/tree-sitter-cuda) | unstable | `HFIJL` | | @theHamsta +[cue](https://github.com/eonpatapon/tree-sitter-cue) | unstable | `HFIJL` | | @amaanq +[cylc](https://github.com/elliotfontaine/tree-sitter-cylc) | unstable | `HFIJ ` | | @elliotfontaine +[d](https://github.com/gdamore/tree-sitter-d) | unstable | `HFIJL` | | @amaanq +[dart](https://github.com/UserNobody14/tree-sitter-dart) | unstable | `HFIJL` | | @akinsho +[desktop](https://github.com/ValdezFOmar/tree-sitter-desktop) | unstable | `HF J ` | | @ValdezFOmar +[devicetree](https://github.com/joelspadin/tree-sitter-devicetree) | unstable | `HFIJL` | | @jedrzejboczar +[dhall](https://github.com/jbellerb/tree-sitter-dhall) | unstable | `HF J ` | | @amaanq +[diff](https://github.com/the-mikedavis/tree-sitter-diff) | unstable | `HF J ` | | @gbprod +[disassembly](https://github.com/ColinKennedy/tree-sitter-disassembly) | unstable | `H J ` | | @ColinKennedy +[djot](https://github.com/treeman/tree-sitter-djot) | unstable | `HFIJL` | | @NoahTheDuke +[dockerfile](https://github.com/camdencheek/tree-sitter-dockerfile) | unstable | `H J ` | | @camdencheek +[dot](https://github.com/rydesun/tree-sitter-dot) | unstable | `H IJ ` | | @rydesun +[doxygen](https://github.com/tree-sitter-grammars/tree-sitter-doxygen) | unstable | `H IJ ` | | @amaanq +[dtd](https://github.com/tree-sitter-grammars/tree-sitter-xml) | unstable | `HF JL` | | @ObserverOfTime +[earthfile](https://github.com/glehmann/tree-sitter-earthfile) | unstable | `H J ` | | @glehmann +[ebnf](https://github.com/RubixDev/ebnf) | unstable | `H J ` | | @RubixDev +ecma (queries only)[^ecma] | unstable | `HFIJL` | | @steelsojka +[editorconfig](https://github.com/ValdezFOmar/tree-sitter-editorconfig) | unstable | `HF J ` | | @ValdezFOmar +[eds](https://github.com/uyha/tree-sitter-eds) | unstable | `HF ` | | @uyha +[eex](https://github.com/connorlay/tree-sitter-eex) | unstable | `H J ` | | @connorlay +[elixir](https://github.com/elixir-lang/tree-sitter-elixir) | unstable | `HFIJL` | | @connorlay +[elm](https://github.com/elm-tooling/tree-sitter-elm) | unstable | `HF J ` | | @zweimach +[elsa](https://github.com/glapa-grossklag/tree-sitter-elsa) | unstable | `HFIJL` | | @glapa-grossklag, @amaanq +[elvish](https://github.com/elves/tree-sitter-elvish) | unstable | `H J ` | | @elves +[embedded_template](https://github.com/tree-sitter/tree-sitter-embedded-template) | unstable | `H J ` | | +[enforce](https://github.com/simonvic/tree-sitter-enforce) | unstable | `HFIJL` | | @simonvic +[erlang](https://github.com/WhatsApp/tree-sitter-erlang) | unstable | `HF J ` | | @filmor +[facility](https://github.com/FacilityApi/tree-sitter-facility) | unstable | `HFIJ ` | | @bryankenote +[faust](https://github.com/khiner/tree-sitter-faust) | unstable | `H J ` | | @khiner +[fennel](https://github.com/alexmozaidze/tree-sitter-fennel) | unstable | `HF JL` | | @alexmozaidze +[fidl](https://github.com/google/tree-sitter-fidl) | unstable | `HF J ` | | @chaopeng +[firrtl](https://github.com/tree-sitter-grammars/tree-sitter-firrtl) | unstable | `HFIJL` | | @amaanq +[fish](https://github.com/ram02z/tree-sitter-fish) | unstable | `HFIJL` | | @ram02z +[foam](https://github.com/FoamScience/tree-sitter-foam) | unstable | `HFIJL` | | @FoamScience +[forth](https://github.com/AlexanderBrevig/tree-sitter-forth) | unstable | `HFIJL` | | @amaanq +[fortran](https://github.com/stadelmanma/tree-sitter-fortran) | unstable | `HFIJ ` | | @amaanq +[fsh](https://github.com/mgramigna/tree-sitter-fsh) | unstable | `H J ` | | @mgramigna +[fsharp](https://github.com/ionide/tree-sitter-fsharp) | unstable | `H J ` | | @nsidorenco +[func](https://github.com/tree-sitter-grammars/tree-sitter-func) | unstable | `H J ` | | @amaanq +[fusion](https://gitlab.com/jirgn/tree-sitter-fusion) | unstable | `HFIJL` | | @jirgn +[gap](https://github.com/gap-system/tree-sitter-gap)[^gap] | unstable | `HF JL` | | @reiniscirpons +[gaptst](https://github.com/gap-system/tree-sitter-gaptst)[^gaptst] | unstable | `HF J ` | | @reiniscirpons +[gdscript](https://github.com/PrestonKnopp/tree-sitter-gdscript)[^gdscript] | unstable | `HFIJL` | | @PrestonKnopp +[gdshader](https://github.com/GodOfAvacyn/tree-sitter-gdshader) | unstable | `H J ` | | @godofavacyn +[git_config](https://github.com/the-mikedavis/tree-sitter-git-config) | unstable | `HF J ` | | @amaanq +[git_rebase](https://github.com/the-mikedavis/tree-sitter-git-rebase) | unstable | `H J ` | | @gbprod +[gitattributes](https://github.com/tree-sitter-grammars/tree-sitter-gitattributes) | unstable | `H JL` | | @ObserverOfTime +[gitcommit](https://github.com/gbprod/tree-sitter-gitcommit) | unstable | `H J ` | | @gbprod +[gitignore](https://github.com/shunsambongi/tree-sitter-gitignore) | unstable | `H J ` | | @theHamsta +[gleam](https://github.com/gleam-lang/tree-sitter-gleam) | unstable | `HFIJL` | | @amaanq +[glimmer](https://github.com/ember-tooling/tree-sitter-glimmer)[^glimmer] | unstable | `HFIJL` | | @NullVoxPopuli +[glimmer_javascript](https://github.com/NullVoxPopuli/tree-sitter-glimmer-javascript) | unstable | `H IJL` | | @NullVoxPopuli +[glimmer_typescript](https://github.com/NullVoxPopuli/tree-sitter-glimmer-typescript) | unstable | `H IJ ` | | @NullVoxPopuli +[glsl](https://github.com/tree-sitter-grammars/tree-sitter-glsl) | unstable | `HFIJL` | | @theHamsta +[gn](https://github.com/tree-sitter-grammars/tree-sitter-gn) | unstable | `HFIJL` | | @amaanq +[gnuplot](https://github.com/dpezto/tree-sitter-gnuplot) | unstable | `H J ` | | @dpezto +[go](https://github.com/tree-sitter/tree-sitter-go) | unstable | `HFIJL` | | @theHamsta, @WinWisely268 +[goctl](https://github.com/chaozwn/tree-sitter-goctl) | unstable | `HFIJ ` | | @chaozwn +[godot_resource](https://github.com/PrestonKnopp/tree-sitter-godot-resource)[^godot_resource] | unstable | `HF JL` | | @pierpo +[gomod](https://github.com/camdencheek/tree-sitter-go-mod) | unstable | `H J ` | | @camdencheek +[gosum](https://github.com/tree-sitter-grammars/tree-sitter-go-sum) | unstable | `H ` | | @amaanq +[gotmpl](https://github.com/ngalaiko/tree-sitter-go-template) | unstable | `HF JL` | | @qvalentin +[gowork](https://github.com/omertuc/tree-sitter-go-work) | unstable | `H J ` | | @omertuc +[gpg](https://github.com/tree-sitter-grammars/tree-sitter-gpg-config) | unstable | `H J ` | | @ObserverOfTime +[graphql](https://github.com/bkegley/tree-sitter-graphql) | unstable | `H IJ ` | | @bkegley +[gren](https://github.com/MaeBrooks/tree-sitter-gren) | unstable | `H J ` | | @MaeBrooks +[groovy](https://github.com/murtaza64/tree-sitter-groovy) | unstable | `HFIJL` | | @murtaza64 +[gstlaunch](https://github.com/tree-sitter-grammars/tree-sitter-gstlaunch) | unstable | `H ` | | @theHamsta +[hack](https://github.com/slackhq/tree-sitter-hack) | unstable | `H J ` | | +[hare](https://github.com/tree-sitter-grammars/tree-sitter-hare) | unstable | `HFIJL` | | @amaanq +[haskell](https://github.com/tree-sitter/tree-sitter-haskell) | unstable | `HF JL` | | @mrcjkb +[haskell_persistent](https://github.com/MercuryTechnologies/tree-sitter-haskell-persistent) | unstable | `HF ` | | @lykahb +[hcl](https://github.com/tree-sitter-grammars/tree-sitter-hcl) | unstable | `HFIJ ` | | @MichaHoffmann +[heex](https://github.com/connorlay/tree-sitter-heex) | unstable | `HFIJL` | | @connorlay +[helm](https://github.com/ngalaiko/tree-sitter-go-template) | unstable | `HF JL` | | @qvalentin +[hjson](https://github.com/winston0410/tree-sitter-hjson) | unstable | `HFIJL` | | @winston0410 +[hlsl](https://github.com/tree-sitter-grammars/tree-sitter-hlsl) | unstable | `HFIJL` | | @theHamsta +[hlsplaylist](https://github.com/Freed-Wu/tree-sitter-hlsplaylist) | unstable | `H J ` | | @Freed-Wu +[hocon](https://github.com/antosha417/tree-sitter-hocon) | unstable | `HF J ` | | @antosha417 +[hoon](https://github.com/urbit-pilled/tree-sitter-hoon) | unstable | `HF JL` | | @urbit-pilled +[html](https://github.com/tree-sitter/tree-sitter-html) | unstable | `HFIJL` | | @TravonteD +html_tags (queries only)[^html_tags] | unstable | `H IJ ` | | @TravonteD +[htmldjango](https://github.com/interdependence/tree-sitter-htmldjango) | unstable | `HFIJ ` | | @ObserverOfTime +[http](https://github.com/rest-nvim/tree-sitter-http) | unstable | `HF J ` | | @amaanq, @NTBBloodbath +[hurl](https://github.com/pfeiferj/tree-sitter-hurl) | unstable | `HFIJ ` | | @pfeiferj +[hyprlang](https://github.com/tree-sitter-grammars/tree-sitter-hyprlang) | unstable | `HFIJ ` | | @luckasRanarison +[idl](https://github.com/cathaysia/tree-sitter-idl) | unstable | `H IJ ` | | @cathaysia +[idris](https://github.com/kayhide/tree-sitter-idris) | unstable | `HF JL` | | @srghma +[ini](https://github.com/justinmk/tree-sitter-ini) | unstable | `HF J ` | | @theHamsta +[inko](https://github.com/inko-lang/tree-sitter-inko) | unstable | `HFIJL` | | @yorickpeterse +[ipkg](https://github.com/srghma/tree-sitter-ipkg) | unstable | `HFIJL` | | @srghma +[ispc](https://github.com/tree-sitter-grammars/tree-sitter-ispc) | unstable | `HFIJL` | | @fab4100 +[janet_simple](https://github.com/sogaiu/tree-sitter-janet-simple) | unstable | `HF JL` | | @sogaiu +[java](https://github.com/tree-sitter/tree-sitter-java) | unstable | `HFIJL` | | @p00f +[javadoc](https://github.com/rmuir/tree-sitter-javadoc) | unstable | `H IJ ` | | @rmuir +[javascript](https://github.com/tree-sitter/tree-sitter-javascript) | unstable | `HFIJL` | | @steelsojka +[jinja](https://github.com/cathaysia/tree-sitter-jinja)[^jinja] | unstable | `H J ` | | @cathaysia +[jinja_inline](https://github.com/cathaysia/tree-sitter-jinja)[^jinja_inline] | unstable | `H J ` | | @cathaysia +[jq](https://github.com/flurie/tree-sitter-jq) | unstable | `H JL` | | @ObserverOfTime +[jsdoc](https://github.com/tree-sitter/tree-sitter-jsdoc) | unstable | `H ` | | @steelsojka +[json](https://github.com/tree-sitter/tree-sitter-json) | unstable | `HFI L` | | @steelsojka +[json5](https://github.com/Joakker/tree-sitter-json5) | unstable | `H J ` | | @Joakker +[jsonc](https://gitlab.com/WhyNotHugo/tree-sitter-jsonc) | unstable | `HFIJL` | | @WhyNotHugo +[jsonnet](https://github.com/sourcegraph/tree-sitter-jsonnet) | unstable | `HF JL` | | @nawordar +jsx (queries only)[^jsx] | unstable | `HFIJ ` | | @steelsojka +[julia](https://github.com/tree-sitter/tree-sitter-julia) | unstable | `HFIJL` | | @fredrikekre +[just](https://github.com/IndianBoy42/tree-sitter-just) | unstable | `HFIJL` | | @Hubro +[kcl](https://github.com/kcl-lang/tree-sitter-kcl) | unstable | `HF J ` | | @bertbaron +[kconfig](https://github.com/tree-sitter-grammars/tree-sitter-kconfig) | unstable | `HFIJL` | | @amaanq +[kdl](https://github.com/tree-sitter-grammars/tree-sitter-kdl) | unstable | `HFIJL` | | @amaanq +[kotlin](https://github.com/fwcd/tree-sitter-kotlin) | unstable | `HF JL` | | @SalBakraa +[koto](https://github.com/koto-lang/tree-sitter-koto) | unstable | `HF JL` | | @irh +[kusto](https://github.com/Willem-J-an/tree-sitter-kusto) | unstable | `H J ` | | @Willem-J-an +[lalrpop](https://github.com/traxys/tree-sitter-lalrpop) | unstable | `HF JL` | | @traxys +[latex](https://github.com/latex-lsp/tree-sitter-latex) | unstable | `HF J ` | | @theHamsta, @clason +[ledger](https://github.com/cbarrete/tree-sitter-ledger) | unstable | `HFIJ ` | | @cbarrete +[leo](https://github.com/r001/tree-sitter-leo) | unstable | `H IJ ` | | @r001 +[linkerscript](https://github.com/tree-sitter-grammars/tree-sitter-linkerscript) | unstable | `HFIJL` | | @amaanq +[liquid](https://github.com/hankthetank27/tree-sitter-liquid) | unstable | `H J ` | | @hankthetank27 +[liquidsoap](https://github.com/savonet/tree-sitter-liquidsoap) | unstable | `HFIJL` | | @toots +[llvm](https://github.com/benwilliamgraham/tree-sitter-llvm) | unstable | `H J ` | | @benwilliamgraham +[lua](https://github.com/tree-sitter-grammars/tree-sitter-lua) | unstable | `HFIJL` | | @muniftanjim +[luadoc](https://github.com/tree-sitter-grammars/tree-sitter-luadoc) | unstable | `H ` | | @amaanq +[luap](https://github.com/tree-sitter-grammars/tree-sitter-luap)[^luap] | unstable | `H ` | | @amaanq +[luau](https://github.com/tree-sitter-grammars/tree-sitter-luau) | unstable | `HFIJL` | | @amaanq +[m68k](https://github.com/grahambates/tree-sitter-m68k) | unstable | `HF JL` | | @grahambates +[make](https://github.com/alemuller/tree-sitter-make) | unstable | `HF J ` | | @lewis6991 +[markdown](https://github.com/tree-sitter-grammars/tree-sitter-markdown)[^markdown] | unstable | `HFIJ ` | | @MDeiml +[markdown_inline](https://github.com/tree-sitter-grammars/tree-sitter-markdown)[^markdown_inline] | unstable | `H J ` | | @MDeiml +[matlab](https://github.com/acristoffers/tree-sitter-matlab) | unstable | `HFIJL` | | @acristoffers +[menhir](https://github.com/Kerl13/tree-sitter-menhir) | unstable | `H J ` | | @Kerl13 +[mermaid](https://github.com/monaqa/tree-sitter-mermaid) | unstable | `HFIJ ` | | +[meson](https://github.com/tree-sitter-grammars/tree-sitter-meson) | unstable | `HFIJ ` | | @Decodetalkers +[mlir](https://github.com/artagnon/tree-sitter-mlir) | unstable | `H JL` | | @artagnon +[muttrc](https://github.com/neomutt/tree-sitter-muttrc) | unstable | `H J ` | | @Freed-Wu +[nasm](https://github.com/naclsn/tree-sitter-nasm) | unstable | `H J ` | | @ObserverOfTime +[nginx](https://github.com/opa-oz/tree-sitter-nginx) | unstable | `HF J ` | | @opa-oz +[nickel](https://github.com/nickel-lang/tree-sitter-nickel) | unstable | `H IJ ` | | +[nim](https://github.com/alaviss/tree-sitter-nim) | unstable | `HF JL` | | @aMOPel +[nim_format_string](https://github.com/aMOPel/tree-sitter-nim-format-string) | unstable | `H J ` | | @aMOPel +[ninja](https://github.com/alemuller/tree-sitter-ninja) | unstable | `HFIJ ` | | @alemuller +[nix](https://github.com/cstrahan/tree-sitter-nix) | unstable | `HFIJL` | | @leo60228 +[nqc](https://github.com/tree-sitter-grammars/tree-sitter-nqc) | unstable | `HFIJL` | | @amaanq +[nu](https://github.com/nushell/tree-sitter-nu) | unstable | `HFIJ ` | | @abhisheksingh0x558 +[objc](https://github.com/tree-sitter-grammars/tree-sitter-objc) | unstable | `HFIJL` | | @amaanq +[objdump](https://github.com/ColinKennedy/tree-sitter-objdump) | unstable | `H J ` | | @ColinKennedy +[ocaml](https://github.com/tree-sitter/tree-sitter-ocaml) | unstable | `HFIJL` | | @undu +[ocaml_interface](https://github.com/tree-sitter/tree-sitter-ocaml) | unstable | `HFIJL` | | @undu +[ocamllex](https://github.com/atom-ocaml/tree-sitter-ocamllex) | unstable | `H J ` | | @undu +[odin](https://github.com/tree-sitter-grammars/tree-sitter-odin) | unstable | `HFIJL` | | @amaanq +[pascal](https://github.com/Isopod/tree-sitter-pascal) | unstable | `HFIJL` | | @Isopod +[passwd](https://github.com/ath3/tree-sitter-passwd) | unstable | `H ` | | @amaanq +[pem](https://github.com/tree-sitter-grammars/tree-sitter-pem) | unstable | `HF J ` | | @ObserverOfTime +[perl](https://github.com/tree-sitter-perl/tree-sitter-perl) | unstable | `HF J ` | | @RabbiVeesh, @LeoNerd +[php](https://github.com/tree-sitter/tree-sitter-php)[^php] | unstable | `HFIJL` | | @tk-shirasaka, @calebdw +[php_only](https://github.com/tree-sitter/tree-sitter-php)[^php_only] | unstable | `HFIJL` | | @tk-shirasaka, @calebdw +[phpdoc](https://github.com/claytonrcarter/tree-sitter-phpdoc) | unstable | `H ` | | @mikehaertl +[pioasm](https://github.com/leo60228/tree-sitter-pioasm) | unstable | `H J ` | | @leo60228 +[po](https://github.com/tree-sitter-grammars/tree-sitter-po) | unstable | `HF J ` | | @amaanq +[pod](https://github.com/tree-sitter-perl/tree-sitter-pod) | unstable | `H ` | | @RabbiVeesh, @LeoNerd +[poe_filter](https://github.com/tree-sitter-grammars/tree-sitter-poe-filter)[^poe_filter] | unstable | `HFIJ ` | | @ObserverOfTime +[pony](https://github.com/tree-sitter-grammars/tree-sitter-pony) | unstable | `HFIJL` | | @amaanq, @mfelsche +[powershell](https://github.com/airbus-cert/tree-sitter-powershell) | unstable | `HFIJL` | | @L2jLiga +[printf](https://github.com/tree-sitter-grammars/tree-sitter-printf) | unstable | `H ` | | @ObserverOfTime +[prisma](https://github.com/victorhqc/tree-sitter-prisma) | unstable | `HF J ` | | @elianiva +[problog](https://github.com/foxyseta/tree-sitter-prolog) | unstable | `HFIJ ` | | @foxyseta +[prolog](https://github.com/foxyseta/tree-sitter-prolog) | unstable | `HFIJ ` | | @foxyseta +[promql](https://github.com/MichaHoffmann/tree-sitter-promql) | unstable | `H J ` | | @MichaHoffmann +[properties](https://github.com/tree-sitter-grammars/tree-sitter-properties)[^properties] | unstable | `H JL` | | @ObserverOfTime +[proto](https://github.com/treywood/tree-sitter-proto) | unstable | `HFIJ ` | | @treywood +[prql](https://github.com/PRQL/tree-sitter-prql) | unstable | `H J ` | | @matthias-Q +[psv](https://github.com/tree-sitter-grammars/tree-sitter-csv) | unstable | `H ` | | @amaanq +[pug](https://github.com/zealot128/tree-sitter-pug) | unstable | `H J ` | | @zealot128 +[puppet](https://github.com/tree-sitter-grammars/tree-sitter-puppet) | unstable | `HFIJL` | | @amaanq +[purescript](https://github.com/postsolar/tree-sitter-purescript) | unstable | `H JL` | | @postsolar +[pymanifest](https://github.com/tree-sitter-grammars/tree-sitter-pymanifest) | unstable | `H J ` | | @ObserverOfTime +[python](https://github.com/tree-sitter/tree-sitter-python) | unstable | `HFIJL` | | @stsewd, @theHamsta +[ql](https://github.com/tree-sitter/tree-sitter-ql) | unstable | `HFIJL` | | @pwntester +[qmldir](https://github.com/tree-sitter-grammars/tree-sitter-qmldir) | unstable | `H J ` | | @amaanq +[qmljs](https://github.com/yuja/tree-sitter-qmljs) | unstable | `HF J ` | | @Decodetalkers +[query](https://github.com/tree-sitter-grammars/tree-sitter-query)[^query] | unstable | `HFIJL` | | @steelsojka +[r](https://github.com/r-lib/tree-sitter-r) | unstable | `H IJL` | | @ribru17 +[racket](https://github.com/6cdh/tree-sitter-racket) | unstable | `HF J ` | | +[ralph](https://github.com/alephium/tree-sitter-ralph) | unstable | `H J ` | | @tdroxler +[rasi](https://github.com/Fymyte/tree-sitter-rasi) | unstable | `HFIJL` | | @Fymyte +[razor](https://github.com/tris203/tree-sitter-razor) | unstable | `HF J ` | | @tris203 +[rbs](https://github.com/joker1007/tree-sitter-rbs) | unstable | `HFIJ ` | | @joker1007 +[re2c](https://github.com/tree-sitter-grammars/tree-sitter-re2c) | unstable | `HFIJL` | | @amaanq +[readline](https://github.com/tree-sitter-grammars/tree-sitter-readline) | unstable | `HFIJ ` | | @ribru17 +[regex](https://github.com/tree-sitter/tree-sitter-regex) | unstable | `H ` | | @theHamsta +[rego](https://github.com/FallenAngel97/tree-sitter-rego) | unstable | `H J ` | | @FallenAngel97 +[requirements](https://github.com/tree-sitter-grammars/tree-sitter-requirements) | unstable | `H J ` | | @ObserverOfTime +[rescript](https://github.com/rescript-lang/tree-sitter-rescript) | unstable | `HFIJL` | | @ribru17 +[rnoweb](https://github.com/bamonroe/tree-sitter-rnoweb) | unstable | `HF J ` | | @bamonroe +[robot](https://github.com/Hubro/tree-sitter-robot) | unstable | `HFIJ ` | | @Hubro +[robots](https://github.com/opa-oz/tree-sitter-robots-txt) | unstable | `H J ` | | @opa-oz +[roc](https://github.com/faldor20/tree-sitter-roc) | unstable | `H IJL` | | @nat-418 +[ron](https://github.com/tree-sitter-grammars/tree-sitter-ron) | unstable | `HFIJL` | | @amaanq +[rst](https://github.com/stsewd/tree-sitter-rst) | unstable | `H JL` | | @stsewd +[ruby](https://github.com/tree-sitter/tree-sitter-ruby) | unstable | `HFIJL` | | @TravonteD +[runescript](https://github.com/2004Scape/tree-sitter-runescript) | unstable | `H J ` | | @2004Scape +[rust](https://github.com/tree-sitter/tree-sitter-rust) | unstable | `HFIJL` | | @amaanq +[scala](https://github.com/tree-sitter/tree-sitter-scala) | unstable | `HF JL` | | @stevanmilic +[scfg](https://github.com/rockorager/tree-sitter-scfg) | unstable | `H J ` | X | @WhyNotHugo +[scheme](https://github.com/6cdh/tree-sitter-scheme) | unstable | `HF J ` | | +[scss](https://github.com/serenadeai/tree-sitter-scss) | unstable | `HFIJ ` | | @elianiva +[sflog](https://github.com/aheber/tree-sitter-sfapex)[^sflog] | unstable | `H ` | | @aheber, @xixiaofinland +[slang](https://github.com/tree-sitter-grammars/tree-sitter-slang)[^slang] | unstable | `HFIJL` | | @theHamsta +[slim](https://github.com/theoo/tree-sitter-slim) | unstable | `HFIJL` | | @theoo +[slint](https://github.com/slint-ui/tree-sitter-slint) | unstable | `HFIJL` | | @hunger +[smali](https://github.com/tree-sitter-grammars/tree-sitter-smali) | unstable | `HFIJL` | | @amaanq +[smithy](https://github.com/indoorvivants/tree-sitter-smithy) | unstable | `H J ` | | @amaanq, @keynmol +[snakemake](https://github.com/osthomas/tree-sitter-snakemake) | unstable | `HFIJL` | | @osthomas +[solidity](https://github.com/JoranHonig/tree-sitter-solidity) | unstable | `HF J ` | | @amaanq +[soql](https://github.com/aheber/tree-sitter-sfapex) | unstable | `H ` | | @aheber, @xixiafinland +[sosl](https://github.com/aheber/tree-sitter-sfapex) | unstable | `H ` | | @aheber, @xixiafinland +[sourcepawn](https://github.com/nilshelmig/tree-sitter-sourcepawn) | unstable | `H JL` | | @Sarrus1 +[sparql](https://github.com/GordianDziwis/tree-sitter-sparql) | unstable | `HFIJL` | | @GordianDziwis +[sql](https://github.com/derekstride/tree-sitter-sql) | unstable | `HFIJ ` | | @derekstride +[squirrel](https://github.com/tree-sitter-grammars/tree-sitter-squirrel) | unstable | `HFIJL` | | @amaanq +[ssh_config](https://github.com/tree-sitter-grammars/tree-sitter-ssh-config) | unstable | `HFIJL` | | @ObserverOfTime +[starlark](https://github.com/tree-sitter-grammars/tree-sitter-starlark) | unstable | `HFIJL` | | @amaanq +[strace](https://github.com/sigmaSd/tree-sitter-strace) | unstable | `H J ` | | @amaanq +[styled](https://github.com/mskelton/tree-sitter-styled) | unstable | `HFIJ ` | | @mskelton +[supercollider](https://github.com/madskjeldgaard/tree-sitter-supercollider) | unstable | `HFIJL` | | @madskjeldgaard +[superhtml](https://github.com/kristoff-it/superhtml) | unstable | `H J ` | | @rockorager +[surface](https://github.com/connorlay/tree-sitter-surface) | unstable | `HFIJ ` | | @connorlay +[svelte](https://github.com/tree-sitter-grammars/tree-sitter-svelte) | unstable | `HFIJL` | | @amaanq +[sway](https://github.com/FuelLabs/tree-sitter-sway.git) | unstable | `HFIJL` | | @ribru17 +[swift](https://github.com/alex-pinkus/tree-sitter-swift) | unstable | `HFIJL` | X | @alex-pinkus +[sxhkdrc](https://github.com/RaafatTurki/tree-sitter-sxhkdrc) | unstable | `HF J ` | | @RaafatTurki +[systemtap](https://github.com/ok-ryoko/tree-sitter-systemtap) | unstable | `HF JL` | | @ok-ryoko +[t32](https://gitlab.com/xasc/tree-sitter-t32) | unstable | `HFIJL` | | @xasc +[tablegen](https://github.com/tree-sitter-grammars/tree-sitter-tablegen) | unstable | `HFIJL` | | @amaanq +[tact](https://github.com/tact-lang/tree-sitter-tact) | unstable | `HFIJL` | | @novusnota +[tcl](https://github.com/tree-sitter-grammars/tree-sitter-tcl) | unstable | `HFIJ ` | | @lewis6991 +[teal](https://github.com/euclidianAce/tree-sitter-teal) | unstable | `HFIJL` | | @euclidianAce +[templ](https://github.com/vrischmann/tree-sitter-templ) | unstable | `HF J ` | | @vrischmann +[tera](https://github.com/uncenter/tree-sitter-tera) | unstable | `H J ` | | @uncenter +[terraform](https://github.com/MichaHoffmann/tree-sitter-hcl) | unstable | `HFIJ ` | | @MichaHoffmann +[textproto](https://github.com/PorterAtGoogle/tree-sitter-textproto) | unstable | `HFIJ ` | | @Porter +[thrift](https://github.com/tree-sitter-grammars/tree-sitter-thrift) | unstable | `HFIJL` | | @amaanq, @duskmoon314 +[tiger](https://github.com/ambroisie/tree-sitter-tiger) | unstable | `HFIJL` | | @ambroisie +[tlaplus](https://github.com/tlaplus-community/tree-sitter-tlaplus) | unstable | `HF JL` | | @ahelwer, @susliko +[tmux](https://github.com/Freed-Wu/tree-sitter-tmux) | unstable | `H J ` | | @Freed-Wu +[todotxt](https://github.com/arnarg/tree-sitter-todotxt) | unstable | `H ` | | @arnarg +[toml](https://github.com/tree-sitter-grammars/tree-sitter-toml) | unstable | `HFIJL` | | @tk-shirasaka +[tsv](https://github.com/tree-sitter-grammars/tree-sitter-csv) | unstable | `H ` | | @amaanq +[tsx](https://github.com/tree-sitter/tree-sitter-typescript) | unstable | `HFIJL` | | @steelsojka +[turtle](https://github.com/GordianDziwis/tree-sitter-turtle) | unstable | `HFIJL` | | @GordianDziwis +[twig](https://github.com/gbprod/tree-sitter-twig) | unstable | `H J ` | | @gbprod +[typescript](https://github.com/tree-sitter/tree-sitter-typescript) | unstable | `HFIJL` | | @steelsojka +[typespec](https://github.com/happenslol/tree-sitter-typespec) | unstable | `H IJ ` | | @happenslol +[typoscript](https://github.com/Teddytrombone/tree-sitter-typoscript) | unstable | `HFIJ ` | | @Teddytrombone +[typst](https://github.com/uben0/tree-sitter-typst) | unstable | `HFIJ ` | | @uben0, @RaafatTurki +[udev](https://github.com/tree-sitter-grammars/tree-sitter-udev) | unstable | `H JL` | | @ObserverOfTime +[ungrammar](https://github.com/tree-sitter-grammars/tree-sitter-ungrammar) | unstable | `HFIJL` | | @Philipp-M, @amaanq +[unison](https://github.com/kylegoetz/tree-sitter-unison) | unstable | `HF J ` | | @tapegram +[usd](https://github.com/ColinKennedy/tree-sitter-usd) | unstable | `HFIJL` | | @ColinKennedy +[uxntal](https://github.com/tree-sitter-grammars/tree-sitter-uxntal) | unstable | `HFIJL` | | @amaanq +[v](https://github.com/vlang/v-analyzer) | unstable | `HFIJL` | | @kkharji, @amaanq +[vala](https://github.com/vala-lang/tree-sitter-vala) | unstable | `HF J ` | | @Prince781 +[vento](https://github.com/ventojs/tree-sitter-vento) | unstable | `H J ` | | @wrapperup, @oscarotero +[verilog](https://github.com/gmlarumbe/tree-sitter-systemverilog) | unstable | `HF J ` | | @zhangwwpeng +[vhdl](https://github.com/jpt13653903/tree-sitter-vhdl) | unstable | `HF J ` | | @jpt13653903 +[vhs](https://github.com/charmbracelet/tree-sitter-vhs) | unstable | `H J ` | | @caarlos0 +[vim](https://github.com/tree-sitter-grammars/tree-sitter-vim) | unstable | `HF JL` | | @clason +[vimdoc](https://github.com/neovim/tree-sitter-vimdoc) | unstable | `H J ` | | @clason +[vrl](https://github.com/belltoy/tree-sitter-vrl) | unstable | `HFIJL` | | @belltoy +[vue](https://github.com/tree-sitter-grammars/tree-sitter-vue) | unstable | `HFIJ ` | | @WhyNotHugo, @lucario387 +[wgsl](https://github.com/szebniok/tree-sitter-wgsl) | unstable | `HFIJ ` | | @szebniok +[wgsl_bevy](https://github.com/tree-sitter-grammars/tree-sitter-wgsl-bevy) | unstable | `HFI ` | | @theHamsta +[wing](https://github.com/winglang/tree-sitter-wing) | unstable | `HF JL` | | @gshpychka, @MarkMcCulloh +[wit](https://github.com/liamwh/tree-sitter-wit) | unstable | `HF J ` | | @liamwh +[xcompose](https://github.com/tree-sitter-grammars/tree-sitter-xcompose) | unstable | `H JL` | | @ObserverOfTime +[xml](https://github.com/tree-sitter-grammars/tree-sitter-xml) | unstable | `HFIJL` | | @ObserverOfTime +[xresources](https://github.com/ValdezFOmar/tree-sitter-xresources) | unstable | `HF JL` | | @ValdezFOmar +[yaml](https://github.com/tree-sitter-grammars/tree-sitter-yaml) | unstable | `HFIJL` | | @amaanq +[yang](https://github.com/Hubro/tree-sitter-yang) | unstable | `HFIJ ` | | @Hubro +[yuck](https://github.com/tree-sitter-grammars/tree-sitter-yuck) | unstable | `HFIJL` | | @Philipp-M, @amaanq +[zathurarc](https://github.com/Freed-Wu/tree-sitter-zathurarc) | unstable | `H J ` | | @Freed-Wu +[zig](https://github.com/tree-sitter-grammars/tree-sitter-zig) | unstable | `HFIJL` | | @amaanq +[ziggy](https://github.com/kristoff-it/ziggy) | unstable | `H I ` | | @rockorager +[ziggy_schema](https://github.com/kristoff-it/ziggy) | unstable | `H I ` | | @rockorager [^bp]: Android Blueprint [^ecma]: queries required by javascript, typescript, tsx, qmljs [^gap]: GAP system diff --git a/lua/nvim-treesitter/_meta/parsers.lua b/lua/nvim-treesitter/_meta/parsers.lua index f3cb81b6f..9ec2f0b9a 100644 --- a/lua/nvim-treesitter/_meta/parsers.lua +++ b/lua/nvim-treesitter/_meta/parsers.lua @@ -18,7 +18,7 @@ error('Cannot require a meta file') ---Repo does not contain a `parser.c`; must be generated from grammar first ---@field generate? boolean --- ----Parser needs to be generated from `grammar.json` (generating from `grammar.js` requires npm) +---Generate parser from `grammar.json` instead of `grammar.js` (default true) ---@field generate_from_json? boolean --- ---Parser repo is a local directory; overrides `url`, `revision`, and `branch` diff --git a/lua/nvim-treesitter/install.lua b/lua/nvim-treesitter/install.lua index c208a2709..75a18d5a8 100644 --- a/lua/nvim-treesitter/install.lua +++ b/lua/nvim-treesitter/install.lua @@ -136,11 +136,13 @@ end ---@param compile_location string ---@return string? err local function do_generate(logger, repo, compile_location) + local from_json = true + if repo.generate_from_json == false then + from_json = false + end + logger:info( - string.format( - 'Generating parser.c from %s...', - repo.generate_from_json and 'grammar.json' or 'grammar.js' - ) + string.format('Generating parser.c from %s...', from_json and 'grammar.json' or 'grammar.js') ) local r = system({ @@ -148,7 +150,7 @@ local function do_generate(logger, repo, compile_location) 'generate', '--abi', tostring(vim.treesitter.language_version), - repo.generate_from_json and 'src/grammar.json' or nil, + from_json and 'src/grammar.json' or nil, }, { cwd = compile_location }) if r.code > 0 then return logger:error('Error during "tree-sitter generate": %s', r.stderr) diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua index bb3bb6f81..da5f1d9ec 100644 --- a/lua/nvim-treesitter/parsers.lua +++ b/lua/nvim-treesitter/parsers.lua @@ -18,7 +18,6 @@ return { }, angular = { install_info = { - generate_from_json = true, revision = '843525141575e397541e119698f0532755e959f6', url = 'https://github.com/dlvandenberg/tree-sitter-angular', }, @@ -37,7 +36,6 @@ return { }, arduino = { install_info = { - generate_from_json = true, revision = '017696bdf47ca2b10948c5a511f9ab387722d0f3', url = 'https://github.com/tree-sitter-grammars/tree-sitter-arduino', }, @@ -55,7 +53,6 @@ return { }, astro = { install_info = { - generate_from_json = true, revision = '213f6e6973d9b456c6e50e86f19f66877e7ef0ee', url = 'https://github.com/virchau13/tree-sitter-astro', }, @@ -241,7 +238,6 @@ return { }, commonlisp = { install_info = { - generate_from_json = true, revision = '32323509b3d9fe96607d151c2da2c9009eb13a2f', url = 'https://github.com/tree-sitter-grammars/tree-sitter-commonlisp', }, @@ -274,7 +270,6 @@ return { }, cpp = { install_info = { - generate_from_json = true, revision = 'e5cea0ec884c5c3d2d1e41a741a66ce13da4d945', url = 'https://github.com/tree-sitter/tree-sitter-cpp', }, @@ -302,7 +297,6 @@ return { }, cuda = { install_info = { - generate_from_json = true, revision = '014628ae8d2df391b88ddb9fa0260fd97f770829', url = 'https://github.com/tree-sitter-grammars/tree-sitter-cuda', }, @@ -542,7 +536,6 @@ return { }, fennel = { install_info = { - generate_from_json = true, revision = 'de06b9ad366f0186080056109a8c3be980129538', url = 'https://github.com/alexmozaidze/tree-sitter-fennel', }, @@ -725,7 +718,6 @@ return { }, glimmer_javascript = { install_info = { - generate_from_json = true, revision = '5cc865a2a0a77cbfaf5062c8fcf2a9919bd54f87', url = 'https://github.com/NullVoxPopuli/tree-sitter-glimmer-javascript', }, @@ -735,7 +727,6 @@ return { }, glimmer_typescript = { install_info = { - generate_from_json = true, revision = '12d98944c1d5077b957cbdb90d663a7c4d50118c', url = 'https://github.com/NullVoxPopuli/tree-sitter-glimmer-typescript', }, @@ -745,7 +736,6 @@ return { }, glsl = { install_info = { - generate_from_json = true, revision = '24a6c8ef698e4480fecf8340d771fbcb5de8fbb4', url = 'https://github.com/tree-sitter-grammars/tree-sitter-glsl', }, @@ -925,7 +915,6 @@ return { }, hjson = { install_info = { - generate_from_json = true, revision = '02fa3b79b3ff9a296066da6277adfc3f26cbc9e0', url = 'https://github.com/winston0410/tree-sitter-hjson', }, @@ -935,7 +924,6 @@ return { }, hlsl = { install_info = { - generate_from_json = true, revision = 'bab9111922d53d43668fabb61869bec51bbcb915', url = 'https://github.com/tree-sitter-grammars/tree-sitter-hlsl', }, @@ -953,7 +941,6 @@ return { }, hocon = { install_info = { - generate_from_json = true, revision = 'c390f10519ae69fdb03b3e5764f5592fb6924bcc', url = 'https://github.com/antosha417/tree-sitter-hocon', }, @@ -1056,7 +1043,6 @@ return { }, ispc = { install_info = { - generate_from_json = true, revision = '9b2f9aec2106b94b4e099fe75e73ebd8ae707c04', url = 'https://github.com/tree-sitter-grammars/tree-sitter-ispc', }, @@ -1152,7 +1138,6 @@ return { }, jsonc = { install_info = { - generate_from_json = true, revision = '02b01653c8a1c198ae7287d566efa86a135b30d5', url = 'https://gitlab.com/WhyNotHugo/tree-sitter-jsonc', }, @@ -1329,7 +1314,6 @@ return { }, luau = { install_info = { - generate_from_json = true, revision = 'a8914d6c1fc5131f8e1c13f769fa704c9f5eb02f', url = 'https://github.com/tree-sitter-grammars/tree-sitter-luau', }, @@ -1480,7 +1464,6 @@ return { }, nqc = { install_info = { - generate_from_json = true, revision = '14e6da1627aaef21d2b2aa0c37d04269766dcc1d', url = 'https://github.com/tree-sitter-grammars/tree-sitter-nqc', }, @@ -1497,7 +1480,6 @@ return { }, objc = { install_info = { - generate_from_json = true, revision = '181a81b8f23a2d593e7ab4259981f50122909fda', url = 'https://github.com/tree-sitter-grammars/tree-sitter-objc', }, @@ -1576,7 +1558,6 @@ return { perl = { install_info = { branch = 'release', - generate_from_json = true, revision = 'ecd90bd8b381bcc7219fed4fe351903630e761c6', url = 'https://github.com/tree-sitter-perl/tree-sitter-perl', }, @@ -1606,7 +1587,6 @@ return { }, phpdoc = { install_info = { - generate_from_json = true, revision = '03bb10330704b0b371b044e937d5cc7cd40b4999', url = 'https://github.com/claytonrcarter/tree-sitter-phpdoc', }, @@ -1632,7 +1612,6 @@ return { pod = { install_info = { branch = 'release', - generate_from_json = true, revision = '0bf8387987c21bf2f8ed41d2575a8f22b139687f', url = 'https://github.com/tree-sitter-perl/tree-sitter-pod', }, @@ -1802,7 +1781,6 @@ return { }, qmljs = { install_info = { - generate_from_json = true, revision = '0889da4632bba3ec6f39ef4102625654890c15c1', url = 'https://github.com/yuja/tree-sitter-qmljs', }, @@ -1829,7 +1807,7 @@ return { }, racket = { install_info = { - revision = '5b211bf93021d1c45f39aa96898be9f794f087e4', + revision = 'e5096d233a7e9ceef78d7fe1a6d30ae39b3a731f', url = 'https://github.com/6cdh/tree-sitter-racket', }, tier = 2, @@ -1852,7 +1830,6 @@ return { }, razor = { install_info = { - generate_from_json = true, revision = 'fe46ce5ea7d844e53d59bc96f2175d33691c61c5', url = 'https://github.com/tris203/tree-sitter-razor', }, @@ -1999,6 +1976,7 @@ return { scfg = { install_info = { generate = true, + generate_from_json = false, revision = '2f3709e7656fa2c443f92041c91a9f843f8cd625', url = 'https://github.com/rockorager/tree-sitter-scfg', }, @@ -2007,7 +1985,7 @@ return { }, scheme = { install_info = { - revision = '63e25a4a84142ae7ee0ee01fe3a32c985ca16745', + revision = '8af654581a1c957b634321c46df7c2298f1561d9', url = 'https://github.com/6cdh/tree-sitter-scheme', }, tier = 2, @@ -2033,7 +2011,6 @@ return { }, slang = { install_info = { - generate_from_json = true, revision = '327b1b821c255867a4fb724c8eee48887e3d014b', url = 'https://github.com/tree-sitter-grammars/tree-sitter-slang', }, @@ -2075,7 +2052,6 @@ return { }, snakemake = { install_info = { - generate_from_json = true, revision = 'f36c1587624d6d84376c82a357c20fc319cbf02c', url = 'https://github.com/osthomas/tree-sitter-snakemake', }, @@ -2118,7 +2094,6 @@ return { }, sparql = { install_info = { - generate_from_json = true, revision = 'd853661ca680d8ff7f8d800182d5782b61d0dd58', url = 'https://github.com/GordianDziwis/tree-sitter-sparql', }, @@ -2128,7 +2103,6 @@ return { sql = { install_info = { branch = 'gh-pages', - generate_from_json = true, revision = 'b1ec2aa5091624e4729f0a771a6d631afebf1ed4', url = 'https://github.com/derekstride/tree-sitter-sql', }, @@ -2153,7 +2127,6 @@ return { }, starlark = { install_info = { - generate_from_json = true, revision = 'a453dbf3ba433db0e5ec621a38a7e59d72e4dc69', url = 'https://github.com/tree-sitter-grammars/tree-sitter-starlark', }, @@ -2170,7 +2143,6 @@ return { }, styled = { install_info = { - generate_from_json = true, revision = '319cdcaa0346ba6db668a222d938e5c3569e2a51', url = 'https://github.com/mskelton/tree-sitter-styled', }, @@ -2204,7 +2176,6 @@ return { }, svelte = { install_info = { - generate_from_json = true, revision = 'ae5199db47757f785e43a14b332118a5474de1a2', url = 'https://github.com/tree-sitter-grammars/tree-sitter-svelte', }, @@ -2223,6 +2194,7 @@ return { swift = { install_info = { generate = true, + generate_from_json = false, revision = '99a5241ceac351a4af57bcc3571cef5064bde0a3', url = 'https://github.com/alex-pinkus/tree-sitter-swift', }, @@ -2288,7 +2260,6 @@ return { }, templ = { install_info = { - generate_from_json = true, revision = 'bd52132b4ef7a028189f0e52d7c89e36a083c6fa', url = 'https://github.com/vrischmann/tree-sitter-templ', }, @@ -2363,7 +2334,6 @@ return { }, toml = { install_info = { - generate_from_json = true, revision = '64b56832c2cffe41758f28e05c756a3a98d16f41', url = 'https://github.com/tree-sitter-grammars/tree-sitter-toml', }, @@ -2381,7 +2351,6 @@ return { }, tsx = { install_info = { - generate_from_json = true, location = 'tsx', revision = '75b3874edb2dc714fb1fd77a32013d0f8699989f', url = 'https://github.com/tree-sitter/tree-sitter-typescript', @@ -2408,7 +2377,6 @@ return { }, typescript = { install_info = { - generate_from_json = true, location = 'typescript', revision = '75b3874edb2dc714fb1fd77a32013d0f8699989f', url = 'https://github.com/tree-sitter/tree-sitter-typescript', @@ -2558,7 +2526,6 @@ return { vue = { install_info = { branch = 'main', - generate_from_json = true, revision = '22bdfa6c9fc0f5ffa44c6e938ec46869ac8a99ff', url = 'https://github.com/tree-sitter-grammars/tree-sitter-vue', }, @@ -2576,7 +2543,6 @@ return { }, wgsl_bevy = { install_info = { - generate_from_json = true, revision = '47c1818d245a6156a488c4c4d06e9336714bae9b', url = 'https://github.com/tree-sitter-grammars/tree-sitter-wgsl-bevy', }, diff --git a/scripts/update-readme.lua b/scripts/update-readme.lua index 5a8b1c17b..2505f845b 100755 --- a/scripts/update-readme.lua +++ b/scripts/update-readme.lua @@ -16,8 +16,8 @@ table.sort(sorted_parsers, function(a, b) end) local generated_text = [[ -Language | Tier | Queries | Maintainer --------- |:----:|:-------:| ---------- +Language | Tier | Queries | Node | Maintainer +-------- |:----:|:-------:|:----:| ---------- ]] local footnotes = '' @@ -58,6 +58,11 @@ for _, v in ipairs(sorted_parsers) do .. (vim.uv.fs_stat('runtime/queries/' .. v.name .. '/locals.scm') and 'L' or ' ') .. '` | ' + -- node + generated_text = generated_text + .. (p.install_info and p.install_info.generate_from_json == false and 'X' or ' ') + .. ' | ' + -- Maintainer generated_text = generated_text .. (p.maintainers and table.concat(p.maintainers, ', ') or '') |
