feat(install)!: always generate from json if possible

This commit is contained in:
Christian Clason 2025-04-27 14:00:40 +02:00
parent 522e0c6991
commit bdc2e01958
6 changed files with 347 additions and 374 deletions

View file

@ -28,9 +28,10 @@ The `nvim-treesitter` plugin provides
## Requirements ## Requirements
- Neovim 0.11.0 or later (nightly) - Neovim 0.11.0 or later (nightly)
- `tar` and `curl` in your path (or alternatively `git`) - `tar` and `curl` in your path
- [`tree-sitter`](https://github.com/tree-sitter/tree-sitter) CLI (0.24.0 or later) - [`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>) - 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 ## 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. 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). 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).
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.
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). 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).

View file

@ -5,333 +5,334 @@ The following is a list of languages for which a parser can be installed through
Legend: Legend:
- **Tier:** _stable_ (updates follow semver releases), _unstable_ (updates follow HEAD), _unmaintained_ (no automatic updates), or _unsupported_ (known to be broken, cannot be installed) - **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 - **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!) - **Maintainer** of queries in nvim-treesitter (may be different from parser maintainer!)
<!--This section of the README is automatically updated by a CI job--> <!--This section of the README is automatically updated by a CI job-->
<!--parserinfo--> <!--parserinfo-->
Language | Tier | Queries | Maintainer Language | Tier | Queries | Node | Maintainer
-------- |:----:|:-------:| ---------- -------- |:----:|:-------:|:----:| ----------
[ada](https://github.com/briot/tree-sitter-ada) | unstable | `HF JL` | @briot [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 [agda](https://github.com/tree-sitter/tree-sitter-agda) | unstable | `HF J ` | | @Decodetalkers
[angular](https://github.com/dlvandenberg/tree-sitter-angular) | unstable | `HFIJL` | @dlvandenberg [angular](https://github.com/dlvandenberg/tree-sitter-angular) | unstable | `HFIJL` | | @dlvandenberg
[apex](https://github.com/aheber/tree-sitter-sfapex) | unstable | `HF JL` | @aheber, @xixiafinland [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 [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 [asm](https://github.com/RubixDev/tree-sitter-asm) | unstable | `H  J ` | | @RubixDev
[astro](https://github.com/virchau13/tree-sitter-astro) | unstable | `HFIJL` | @virchau13 [astro](https://github.com/virchau13/tree-sitter-astro) | unstable | `HFIJL` | | @virchau13
[authzed](https://github.com/mleonidas/tree-sitter-authzed) | unstable | `H  J ` | @mattpolzin [authzed](https://github.com/mleonidas/tree-sitter-authzed) | unstable | `H  J ` | | @mattpolzin
[awk](https://github.com/Beaglefoot/tree-sitter-awk) | unstable | `H  J ` | [awk](https://github.com/Beaglefoot/tree-sitter-awk) | unstable | `H  J ` | |
[bash](https://github.com/tree-sitter/tree-sitter-bash) | unstable | `HF JL` | @TravonteD [bash](https://github.com/tree-sitter/tree-sitter-bash) | unstable | `HF JL` | | @TravonteD
[bass](https://github.com/vito/tree-sitter-bass) | unstable | `HFIJL` | @amaanq [bass](https://github.com/vito/tree-sitter-bass) | unstable | `HFIJL` | | @amaanq
[beancount](https://github.com/polarmutex/tree-sitter-beancount) | unstable | `HF J ` | @polarmutex [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 [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 [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 [bitbake](https://github.com/tree-sitter-grammars/tree-sitter-bitbake) | unstable | `HFIJL` | | @amaanq
[blade](https://github.com/EmranMR/tree-sitter-blade) | unstable | `HFIJ ` | @calebdw [blade](https://github.com/EmranMR/tree-sitter-blade) | unstable | `HFIJ ` | | @calebdw
[blueprint](https://gitlab.com/gabmus/tree-sitter-blueprint) | unstable | `H  J ` | @gabmus [blueprint](https://gitlab.com/gabmus/tree-sitter-blueprint) | unstable | `H  J ` | | @gabmus
[bp](https://github.com/ambroisie/tree-sitter-bp)[^bp] | unstable | `HFIJL` | @ambroisie [bp](https://github.com/ambroisie/tree-sitter-bp)[^bp] | unstable | `HFIJL` | | @ambroisie
[brightscript](https://github.com/ajdelcimmuto/tree-sitter-brightscript) | unstable | `HFIJ ` | @ajdelcimmuto [brightscript](https://github.com/ajdelcimmuto/tree-sitter-brightscript) | unstable | `HFIJ ` | | @ajdelcimmuto
[c](https://github.com/tree-sitter/tree-sitter-c) | unstable | `HFIJL` | @amaanq [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 [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 [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 [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 [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 [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 [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 [clojure](https://github.com/sogaiu/tree-sitter-clojure) | unstable | `HF JL` | | @NoahTheDuke
[cmake](https://github.com/uyha/tree-sitter-cmake) | unstable | `HFIJ ` | @uyha [cmake](https://github.com/uyha/tree-sitter-cmake) | unstable | `HFIJ ` | | @uyha
[comment](https://github.com/stsewd/tree-sitter-comment) | unstable | `H    ` | @stsewd [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 [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 [cooklang](https://github.com/addcninblue/tree-sitter-cooklang) | unstable | `H  J ` | | @addcninblue
[corn](https://github.com/jakestanger/tree-sitter-corn) | unstable | `HFIJL` | @jakestanger [corn](https://github.com/jakestanger/tree-sitter-corn) | unstable | `HFIJL` | | @jakestanger
[cpon](https://github.com/tree-sitter-grammars/tree-sitter-cpon) | unstable | `HFIJL` | @amaanq [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 [cpp](https://github.com/tree-sitter/tree-sitter-cpp) | unstable | `HFIJL` | | @theHamsta
[css](https://github.com/tree-sitter/tree-sitter-css) | unstable | `HFIJ ` | @TravonteD [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 [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 [cuda](https://github.com/tree-sitter-grammars/tree-sitter-cuda) | unstable | `HFIJL` | | @theHamsta
[cue](https://github.com/eonpatapon/tree-sitter-cue) | unstable | `HFIJL` | @amaanq [cue](https://github.com/eonpatapon/tree-sitter-cue) | unstable | `HFIJL` | | @amaanq
[cylc](https://github.com/elliotfontaine/tree-sitter-cylc) | unstable | `HFIJ ` | @elliotfontaine [cylc](https://github.com/elliotfontaine/tree-sitter-cylc) | unstable | `HFIJ ` | | @elliotfontaine
[d](https://github.com/gdamore/tree-sitter-d) | unstable | `HFIJL` | @amaanq [d](https://github.com/gdamore/tree-sitter-d) | unstable | `HFIJL` | | @amaanq
[dart](https://github.com/UserNobody14/tree-sitter-dart) | unstable | `HFIJL` | @akinsho [dart](https://github.com/UserNobody14/tree-sitter-dart) | unstable | `HFIJL` | | @akinsho
[desktop](https://github.com/ValdezFOmar/tree-sitter-desktop) | unstable | `HF J ` | @ValdezFOmar [desktop](https://github.com/ValdezFOmar/tree-sitter-desktop) | unstable | `HF J ` | | @ValdezFOmar
[devicetree](https://github.com/joelspadin/tree-sitter-devicetree) | unstable | `HFIJL` | @jedrzejboczar [devicetree](https://github.com/joelspadin/tree-sitter-devicetree) | unstable | `HFIJL` | | @jedrzejboczar
[dhall](https://github.com/jbellerb/tree-sitter-dhall) | unstable | `HF J ` | @amaanq [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 [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 [disassembly](https://github.com/ColinKennedy/tree-sitter-disassembly) | unstable | `H  J ` | | @ColinKennedy
[djot](https://github.com/treeman/tree-sitter-djot) | unstable | `HFIJL` | @NoahTheDuke [djot](https://github.com/treeman/tree-sitter-djot) | unstable | `HFIJL` | | @NoahTheDuke
[dockerfile](https://github.com/camdencheek/tree-sitter-dockerfile) | unstable | `H  J ` | @camdencheek [dockerfile](https://github.com/camdencheek/tree-sitter-dockerfile) | unstable | `H  J ` | | @camdencheek
[dot](https://github.com/rydesun/tree-sitter-dot) | unstable | `H IJ ` | @rydesun [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 [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 [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 [earthfile](https://github.com/glehmann/tree-sitter-earthfile) | unstable | `H  J ` | | @glehmann
[ebnf](https://github.com/RubixDev/ebnf) | unstable | `H  J ` | @RubixDev [ebnf](https://github.com/RubixDev/ebnf) | unstable | `H  J ` | | @RubixDev
ecma (queries only)[^ecma] | unstable | `HFIJL` | @steelsojka ecma (queries only)[^ecma] | unstable | `HFIJL` | | @steelsojka
[editorconfig](https://github.com/ValdezFOmar/tree-sitter-editorconfig) | unstable | `HF J ` | @ValdezFOmar [editorconfig](https://github.com/ValdezFOmar/tree-sitter-editorconfig) | unstable | `HF J ` | | @ValdezFOmar
[eds](https://github.com/uyha/tree-sitter-eds) | unstable | `HF   ` | @uyha [eds](https://github.com/uyha/tree-sitter-eds) | unstable | `HF   ` | | @uyha
[eex](https://github.com/connorlay/tree-sitter-eex) | unstable | `H  J ` | @connorlay [eex](https://github.com/connorlay/tree-sitter-eex) | unstable | `H  J ` | | @connorlay
[elixir](https://github.com/elixir-lang/tree-sitter-elixir) | unstable | `HFIJL` | @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 [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 [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 [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 ` | [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 [enforce](https://github.com/simonvic/tree-sitter-enforce) | unstable | `HFIJL` | | @simonvic
[erlang](https://github.com/WhatsApp/tree-sitter-erlang) | unstable | `HF J ` | @filmor [erlang](https://github.com/WhatsApp/tree-sitter-erlang) | unstable | `HF J ` | | @filmor
[facility](https://github.com/FacilityApi/tree-sitter-facility) | unstable | `HFIJ ` | @bryankenote [facility](https://github.com/FacilityApi/tree-sitter-facility) | unstable | `HFIJ ` | | @bryankenote
[faust](https://github.com/khiner/tree-sitter-faust) | unstable | `H  J ` | @khiner [faust](https://github.com/khiner/tree-sitter-faust) | unstable | `H  J ` | | @khiner
[fennel](https://github.com/alexmozaidze/tree-sitter-fennel) | unstable | `HF JL` | @alexmozaidze [fennel](https://github.com/alexmozaidze/tree-sitter-fennel) | unstable | `HF JL` | | @alexmozaidze
[fidl](https://github.com/google/tree-sitter-fidl) | unstable | `HF J ` | @chaopeng [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 [firrtl](https://github.com/tree-sitter-grammars/tree-sitter-firrtl) | unstable | `HFIJL` | | @amaanq
[fish](https://github.com/ram02z/tree-sitter-fish) | unstable | `HFIJL` | @ram02z [fish](https://github.com/ram02z/tree-sitter-fish) | unstable | `HFIJL` | | @ram02z
[foam](https://github.com/FoamScience/tree-sitter-foam) | unstable | `HFIJL` | @FoamScience [foam](https://github.com/FoamScience/tree-sitter-foam) | unstable | `HFIJL` | | @FoamScience
[forth](https://github.com/AlexanderBrevig/tree-sitter-forth) | unstable | `HFIJL` | @amaanq [forth](https://github.com/AlexanderBrevig/tree-sitter-forth) | unstable | `HFIJL` | | @amaanq
[fortran](https://github.com/stadelmanma/tree-sitter-fortran) | unstable | `HFIJ ` | @amaanq [fortran](https://github.com/stadelmanma/tree-sitter-fortran) | unstable | `HFIJ ` | | @amaanq
[fsh](https://github.com/mgramigna/tree-sitter-fsh) | unstable | `H  J ` | @mgramigna [fsh](https://github.com/mgramigna/tree-sitter-fsh) | unstable | `H  J ` | | @mgramigna
[fsharp](https://github.com/ionide/tree-sitter-fsharp) | unstable | `H  J ` | @nsidorenco [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 [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 [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 [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 [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 [gdscript](https://github.com/PrestonKnopp/tree-sitter-gdscript)[^gdscript] | unstable | `HFIJL` | | @PrestonKnopp
[gdshader](https://github.com/GodOfAvacyn/tree-sitter-gdshader) | unstable | `H  J ` | @godofavacyn [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_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 [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 [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 [gitcommit](https://github.com/gbprod/tree-sitter-gitcommit) | unstable | `H  J ` | | @gbprod
[gitignore](https://github.com/shunsambongi/tree-sitter-gitignore) | unstable | `H  J ` | @theHamsta [gitignore](https://github.com/shunsambongi/tree-sitter-gitignore) | unstable | `H  J ` | | @theHamsta
[gleam](https://github.com/gleam-lang/tree-sitter-gleam) | unstable | `HFIJL` | @amaanq [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](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_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 [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 [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 [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 [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 [go](https://github.com/tree-sitter/tree-sitter-go) | unstable | `HFIJL` | | @theHamsta, @WinWisely268
[goctl](https://github.com/chaozwn/tree-sitter-goctl) | unstable | `HFIJ ` | @chaozwn [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 [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 [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 [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 [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 [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 [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 [graphql](https://github.com/bkegley/tree-sitter-graphql) | unstable | `H IJ ` | | @bkegley
[gren](https://github.com/MaeBrooks/tree-sitter-gren) | unstable | `H  J ` | @MaeBrooks [gren](https://github.com/MaeBrooks/tree-sitter-gren) | unstable | `H  J ` | | @MaeBrooks
[groovy](https://github.com/murtaza64/tree-sitter-groovy) | unstable | `HFIJL` | @murtaza64 [groovy](https://github.com/murtaza64/tree-sitter-groovy) | unstable | `HFIJL` | | @murtaza64
[gstlaunch](https://github.com/tree-sitter-grammars/tree-sitter-gstlaunch) | unstable | `H    ` | @theHamsta [gstlaunch](https://github.com/tree-sitter-grammars/tree-sitter-gstlaunch) | unstable | `H    ` | | @theHamsta
[hack](https://github.com/slackhq/tree-sitter-hack) | unstable | `H  J ` | [hack](https://github.com/slackhq/tree-sitter-hack) | unstable | `H  J ` | |
[hare](https://github.com/tree-sitter-grammars/tree-sitter-hare) | unstable | `HFIJL` | @amaanq [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](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 [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 [hcl](https://github.com/tree-sitter-grammars/tree-sitter-hcl) | unstable | `HFIJ ` | | @MichaHoffmann
[heex](https://github.com/connorlay/tree-sitter-heex) | unstable | `HFIJL` | @connorlay [heex](https://github.com/connorlay/tree-sitter-heex) | unstable | `HFIJL` | | @connorlay
[helm](https://github.com/ngalaiko/tree-sitter-go-template) | unstable | `HF JL` | @qvalentin [helm](https://github.com/ngalaiko/tree-sitter-go-template) | unstable | `HF JL` | | @qvalentin
[hjson](https://github.com/winston0410/tree-sitter-hjson) | unstable | `HFIJL` | @winston0410 [hjson](https://github.com/winston0410/tree-sitter-hjson) | unstable | `HFIJL` | | @winston0410
[hlsl](https://github.com/tree-sitter-grammars/tree-sitter-hlsl) | unstable | `HFIJL` | @theHamsta [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 [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 [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 [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](https://github.com/tree-sitter/tree-sitter-html) | unstable | `HFIJL` | | @TravonteD
html_tags (queries only)[^html_tags] | unstable | `H IJ ` | @TravonteD html_tags (queries only)[^html_tags] | unstable | `H IJ ` | | @TravonteD
[htmldjango](https://github.com/interdependence/tree-sitter-htmldjango) | unstable | `HFIJ ` | @ObserverOfTime [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 [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 [hurl](https://github.com/pfeiferj/tree-sitter-hurl) | unstable | `HFIJ ` | | @pfeiferj
[hyprlang](https://github.com/tree-sitter-grammars/tree-sitter-hyprlang) | unstable | `HFIJ ` | @luckasRanarison [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 [idl](https://github.com/cathaysia/tree-sitter-idl) | unstable | `H IJ ` | | @cathaysia
[idris](https://github.com/kayhide/tree-sitter-idris) | unstable | `HF JL` | @srghma [idris](https://github.com/kayhide/tree-sitter-idris) | unstable | `HF JL` | | @srghma
[ini](https://github.com/justinmk/tree-sitter-ini) | unstable | `HF J ` | @theHamsta [ini](https://github.com/justinmk/tree-sitter-ini) | unstable | `HF J ` | | @theHamsta
[inko](https://github.com/inko-lang/tree-sitter-inko) | unstable | `HFIJL` | @yorickpeterse [inko](https://github.com/inko-lang/tree-sitter-inko) | unstable | `HFIJL` | | @yorickpeterse
[ipkg](https://github.com/srghma/tree-sitter-ipkg) | unstable | `HFIJL` | @srghma [ipkg](https://github.com/srghma/tree-sitter-ipkg) | unstable | `HFIJL` | | @srghma
[ispc](https://github.com/tree-sitter-grammars/tree-sitter-ispc) | unstable | `HFIJL` | @fab4100 [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 [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 [java](https://github.com/tree-sitter/tree-sitter-java) | unstable | `HFIJL` | | @p00f
[javadoc](https://github.com/rmuir/tree-sitter-javadoc) | unstable | `H IJ ` | @rmuir [javadoc](https://github.com/rmuir/tree-sitter-javadoc) | unstable | `H IJ ` | | @rmuir
[javascript](https://github.com/tree-sitter/tree-sitter-javascript) | unstable | `HFIJL` | @steelsojka [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](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 [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 [jq](https://github.com/flurie/tree-sitter-jq) | unstable | `H  JL` | | @ObserverOfTime
[jsdoc](https://github.com/tree-sitter/tree-sitter-jsdoc) | unstable | `H    ` | @steelsojka [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 [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 [json5](https://github.com/Joakker/tree-sitter-json5) | unstable | `H  J ` | | @Joakker
[jsonc](https://gitlab.com/WhyNotHugo/tree-sitter-jsonc) | unstable | `HFIJL` | @WhyNotHugo [jsonc](https://gitlab.com/WhyNotHugo/tree-sitter-jsonc) | unstable | `HFIJL` | | @WhyNotHugo
[jsonnet](https://github.com/sourcegraph/tree-sitter-jsonnet) | unstable | `HF JL` | @nawordar [jsonnet](https://github.com/sourcegraph/tree-sitter-jsonnet) | unstable | `HF JL` | | @nawordar
jsx (queries only)[^jsx] | unstable | `HFIJ ` | @steelsojka jsx (queries only)[^jsx] | unstable | `HFIJ ` | | @steelsojka
[julia](https://github.com/tree-sitter/tree-sitter-julia) | unstable | `HFIJL` | @fredrikekre [julia](https://github.com/tree-sitter/tree-sitter-julia) | unstable | `HFIJL` | | @fredrikekre
[just](https://github.com/IndianBoy42/tree-sitter-just) | unstable | `HFIJL` | @Hubro [just](https://github.com/IndianBoy42/tree-sitter-just) | unstable | `HFIJL` | | @Hubro
[kcl](https://github.com/kcl-lang/tree-sitter-kcl) | unstable | `HF J ` | @bertbaron [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 [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 [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 [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 [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 [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 [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 [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 [ledger](https://github.com/cbarrete/tree-sitter-ledger) | unstable | `HFIJ ` | | @cbarrete
[leo](https://github.com/r001/tree-sitter-leo) | unstable | `H IJ ` | @r001 [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 [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 [liquid](https://github.com/hankthetank27/tree-sitter-liquid) | unstable | `H  J ` | | @hankthetank27
[liquidsoap](https://github.com/savonet/tree-sitter-liquidsoap) | unstable | `HFIJL` | @toots [liquidsoap](https://github.com/savonet/tree-sitter-liquidsoap) | unstable | `HFIJL` | | @toots
[llvm](https://github.com/benwilliamgraham/tree-sitter-llvm) | unstable | `H  J ` | @benwilliamgraham [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 [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 [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 [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 [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 [m68k](https://github.com/grahambates/tree-sitter-m68k) | unstable | `HF JL` | | @grahambates
[make](https://github.com/alemuller/tree-sitter-make) | unstable | `HF J ` | @lewis6991 [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](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 [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 [matlab](https://github.com/acristoffers/tree-sitter-matlab) | unstable | `HFIJL` | | @acristoffers
[menhir](https://github.com/Kerl13/tree-sitter-menhir) | unstable | `H  J ` | @Kerl13 [menhir](https://github.com/Kerl13/tree-sitter-menhir) | unstable | `H  J ` | | @Kerl13
[mermaid](https://github.com/monaqa/tree-sitter-mermaid) | unstable | `HFIJ ` | [mermaid](https://github.com/monaqa/tree-sitter-mermaid) | unstable | `HFIJ ` | |
[meson](https://github.com/tree-sitter-grammars/tree-sitter-meson) | unstable | `HFIJ ` | @Decodetalkers [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 [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 [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 [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 [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 ` | [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](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 [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 [ninja](https://github.com/alemuller/tree-sitter-ninja) | unstable | `HFIJ ` | | @alemuller
[nix](https://github.com/cstrahan/tree-sitter-nix) | unstable | `HFIJL` | @leo60228 [nix](https://github.com/cstrahan/tree-sitter-nix) | unstable | `HFIJL` | | @leo60228
[nqc](https://github.com/tree-sitter-grammars/tree-sitter-nqc) | unstable | `HFIJL` | @amaanq [nqc](https://github.com/tree-sitter-grammars/tree-sitter-nqc) | unstable | `HFIJL` | | @amaanq
[nu](https://github.com/nushell/tree-sitter-nu) | unstable | `HFIJ ` | @abhisheksingh0x558 [nu](https://github.com/nushell/tree-sitter-nu) | unstable | `HFIJ ` | | @abhisheksingh0x558
[objc](https://github.com/tree-sitter-grammars/tree-sitter-objc) | unstable | `HFIJL` | @amaanq [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 [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](https://github.com/tree-sitter/tree-sitter-ocaml) | unstable | `HFIJL` | | @undu
[ocaml_interface](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 [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 [odin](https://github.com/tree-sitter-grammars/tree-sitter-odin) | unstable | `HFIJL` | | @amaanq
[pascal](https://github.com/Isopod/tree-sitter-pascal) | unstable | `HFIJL` | @Isopod [pascal](https://github.com/Isopod/tree-sitter-pascal) | unstable | `HFIJL` | | @Isopod
[passwd](https://github.com/ath3/tree-sitter-passwd) | unstable | `H    ` | @amaanq [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 [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 [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](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 [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 [phpdoc](https://github.com/claytonrcarter/tree-sitter-phpdoc) | unstable | `H    ` | | @mikehaertl
[pioasm](https://github.com/leo60228/tree-sitter-pioasm) | unstable | `H  J ` | @leo60228 [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 [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 [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 [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 [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 [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 [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 [prisma](https://github.com/victorhqc/tree-sitter-prisma) | unstable | `HF J ` | | @elianiva
[problog](https://github.com/foxyseta/tree-sitter-prolog) | unstable | `HFIJ ` | @foxyseta [problog](https://github.com/foxyseta/tree-sitter-prolog) | unstable | `HFIJ ` | | @foxyseta
[prolog](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 [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 [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 [proto](https://github.com/treywood/tree-sitter-proto) | unstable | `HFIJ ` | | @treywood
[prql](https://github.com/PRQL/tree-sitter-prql) | unstable | `H  J ` | @matthias-Q [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [r](https://github.com/r-lib/tree-sitter-r) | unstable | `H IJL` | | @ribru17
[racket](https://github.com/6cdh/tree-sitter-racket) | unstable | `HF J ` | [racket](https://github.com/6cdh/tree-sitter-racket) | unstable | `HF J ` | |
[ralph](https://github.com/alephium/tree-sitter-ralph) | unstable | `H  J ` | @tdroxler [ralph](https://github.com/alephium/tree-sitter-ralph) | unstable | `H  J ` | | @tdroxler
[rasi](https://github.com/Fymyte/tree-sitter-rasi) | unstable | `HFIJL` | @Fymyte [rasi](https://github.com/Fymyte/tree-sitter-rasi) | unstable | `HFIJL` | | @Fymyte
[razor](https://github.com/tris203/tree-sitter-razor) | unstable | `HF J ` | @tris203 [razor](https://github.com/tris203/tree-sitter-razor) | unstable | `HF J ` | | @tris203
[rbs](https://github.com/joker1007/tree-sitter-rbs) | unstable | `HFIJ ` | @joker1007 [rbs](https://github.com/joker1007/tree-sitter-rbs) | unstable | `HFIJ ` | | @joker1007
[re2c](https://github.com/tree-sitter-grammars/tree-sitter-re2c) | unstable | `HFIJL` | @amaanq [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 [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 [regex](https://github.com/tree-sitter/tree-sitter-regex) | unstable | `H    ` | | @theHamsta
[rego](https://github.com/FallenAngel97/tree-sitter-rego) | unstable | `H  J ` | @FallenAngel97 [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 [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 [rescript](https://github.com/rescript-lang/tree-sitter-rescript) | unstable | `HFIJL` | | @ribru17
[rnoweb](https://github.com/bamonroe/tree-sitter-rnoweb) | unstable | `HF J ` | @bamonroe [rnoweb](https://github.com/bamonroe/tree-sitter-rnoweb) | unstable | `HF J ` | | @bamonroe
[robot](https://github.com/Hubro/tree-sitter-robot) | unstable | `HFIJ ` | @Hubro [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 [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 [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 [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 [rst](https://github.com/stsewd/tree-sitter-rst) | unstable | `H  JL` | | @stsewd
[ruby](https://github.com/tree-sitter/tree-sitter-ruby) | unstable | `HFIJL` | @TravonteD [ruby](https://github.com/tree-sitter/tree-sitter-ruby) | unstable | `HFIJL` | | @TravonteD
[runescript](https://github.com/2004Scape/tree-sitter-runescript) | unstable | `H  J ` | @2004Scape [runescript](https://github.com/2004Scape/tree-sitter-runescript) | unstable | `H  J ` | | @2004Scape
[rust](https://github.com/tree-sitter/tree-sitter-rust) | unstable | `HFIJL` | @amaanq [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 [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 [scfg](https://github.com/rockorager/tree-sitter-scfg) | unstable | `H  J ` | X | @WhyNotHugo
[scheme](https://github.com/6cdh/tree-sitter-scheme) | unstable | `HF J ` | [scheme](https://github.com/6cdh/tree-sitter-scheme) | unstable | `HF J ` | |
[scss](https://github.com/serenadeai/tree-sitter-scss) | unstable | `HFIJ ` | @elianiva [scss](https://github.com/serenadeai/tree-sitter-scss) | unstable | `HFIJ ` | | @elianiva
[sflog](https://github.com/aheber/tree-sitter-sfapex)[^sflog] | unstable | `H    ` | @aheber, @xixiaofinland [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 [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 [slim](https://github.com/theoo/tree-sitter-slim) | unstable | `HFIJL` | | @theoo
[slint](https://github.com/slint-ui/tree-sitter-slint) | unstable | `HFIJL` | @hunger [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 [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 [smithy](https://github.com/indoorvivants/tree-sitter-smithy) | unstable | `H  J ` | | @amaanq, @keynmol
[snakemake](https://github.com/osthomas/tree-sitter-snakemake) | unstable | `HFIJL` | @osthomas [snakemake](https://github.com/osthomas/tree-sitter-snakemake) | unstable | `HFIJL` | | @osthomas
[solidity](https://github.com/JoranHonig/tree-sitter-solidity) | unstable | `HF J ` | @amaanq [solidity](https://github.com/JoranHonig/tree-sitter-solidity) | unstable | `HF J ` | | @amaanq
[soql](https://github.com/aheber/tree-sitter-sfapex) | unstable | `H    ` | @aheber, @xixiafinland [soql](https://github.com/aheber/tree-sitter-sfapex) | unstable | `H    ` | | @aheber, @xixiafinland
[sosl](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 [sourcepawn](https://github.com/nilshelmig/tree-sitter-sourcepawn) | unstable | `H  JL` | | @Sarrus1
[sparql](https://github.com/GordianDziwis/tree-sitter-sparql) | unstable | `HFIJL` | @GordianDziwis [sparql](https://github.com/GordianDziwis/tree-sitter-sparql) | unstable | `HFIJL` | | @GordianDziwis
[sql](https://github.com/derekstride/tree-sitter-sql) | unstable | `HFIJ ` | @derekstride [sql](https://github.com/derekstride/tree-sitter-sql) | unstable | `HFIJ ` | | @derekstride
[squirrel](https://github.com/tree-sitter-grammars/tree-sitter-squirrel) | unstable | `HFIJL` | @amaanq [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 [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 [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 [strace](https://github.com/sigmaSd/tree-sitter-strace) | unstable | `H  J ` | | @amaanq
[styled](https://github.com/mskelton/tree-sitter-styled) | unstable | `HFIJ ` | @mskelton [styled](https://github.com/mskelton/tree-sitter-styled) | unstable | `HFIJ ` | | @mskelton
[supercollider](https://github.com/madskjeldgaard/tree-sitter-supercollider) | unstable | `HFIJL` | @madskjeldgaard [supercollider](https://github.com/madskjeldgaard/tree-sitter-supercollider) | unstable | `HFIJL` | | @madskjeldgaard
[superhtml](https://github.com/kristoff-it/superhtml) | unstable | `H  J ` | @rockorager [superhtml](https://github.com/kristoff-it/superhtml) | unstable | `H  J ` | | @rockorager
[surface](https://github.com/connorlay/tree-sitter-surface) | unstable | `HFIJ ` | @connorlay [surface](https://github.com/connorlay/tree-sitter-surface) | unstable | `HFIJ ` | | @connorlay
[svelte](https://github.com/tree-sitter-grammars/tree-sitter-svelte) | unstable | `HFIJL` | @amaanq [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 [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 [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 [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 [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 [t32](https://gitlab.com/xasc/tree-sitter-t32) | unstable | `HFIJL` | | @xasc
[tablegen](https://github.com/tree-sitter-grammars/tree-sitter-tablegen) | unstable | `HFIJL` | @amaanq [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 [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 [tcl](https://github.com/tree-sitter-grammars/tree-sitter-tcl) | unstable | `HFIJ ` | | @lewis6991
[teal](https://github.com/euclidianAce/tree-sitter-teal) | unstable | `HFIJL` | @euclidianAce [teal](https://github.com/euclidianAce/tree-sitter-teal) | unstable | `HFIJL` | | @euclidianAce
[templ](https://github.com/vrischmann/tree-sitter-templ) | unstable | `HF J ` | @vrischmann [templ](https://github.com/vrischmann/tree-sitter-templ) | unstable | `HF J ` | | @vrischmann
[tera](https://github.com/uncenter/tree-sitter-tera) | unstable | `H  J ` | @uncenter [tera](https://github.com/uncenter/tree-sitter-tera) | unstable | `H  J ` | | @uncenter
[terraform](https://github.com/MichaHoffmann/tree-sitter-hcl) | unstable | `HFIJ ` | @MichaHoffmann [terraform](https://github.com/MichaHoffmann/tree-sitter-hcl) | unstable | `HFIJ ` | | @MichaHoffmann
[textproto](https://github.com/PorterAtGoogle/tree-sitter-textproto) | unstable | `HFIJ ` | @Porter [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 [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 [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 [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 [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 [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 [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 [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 [tsx](https://github.com/tree-sitter/tree-sitter-typescript) | unstable | `HFIJL` | | @steelsojka
[turtle](https://github.com/GordianDziwis/tree-sitter-turtle) | unstable | `HFIJL` | @GordianDziwis [turtle](https://github.com/GordianDziwis/tree-sitter-turtle) | unstable | `HFIJL` | | @GordianDziwis
[twig](https://github.com/gbprod/tree-sitter-twig) | unstable | `H  J ` | @gbprod [twig](https://github.com/gbprod/tree-sitter-twig) | unstable | `H  J ` | | @gbprod
[typescript](https://github.com/tree-sitter/tree-sitter-typescript) | unstable | `HFIJL` | @steelsojka [typescript](https://github.com/tree-sitter/tree-sitter-typescript) | unstable | `HFIJL` | | @steelsojka
[typespec](https://github.com/happenslol/tree-sitter-typespec) | unstable | `H IJ ` | @happenslol [typespec](https://github.com/happenslol/tree-sitter-typespec) | unstable | `H IJ ` | | @happenslol
[typoscript](https://github.com/Teddytrombone/tree-sitter-typoscript) | unstable | `HFIJ ` | @Teddytrombone [typoscript](https://github.com/Teddytrombone/tree-sitter-typoscript) | unstable | `HFIJ ` | | @Teddytrombone
[typst](https://github.com/uben0/tree-sitter-typst) | unstable | `HFIJ ` | @uben0, @RaafatTurki [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 [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 [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 [unison](https://github.com/kylegoetz/tree-sitter-unison) | unstable | `HF J ` | | @tapegram
[usd](https://github.com/ColinKennedy/tree-sitter-usd) | unstable | `HFIJL` | @ColinKennedy [usd](https://github.com/ColinKennedy/tree-sitter-usd) | unstable | `HFIJL` | | @ColinKennedy
[uxntal](https://github.com/tree-sitter-grammars/tree-sitter-uxntal) | unstable | `HFIJL` | @amaanq [uxntal](https://github.com/tree-sitter-grammars/tree-sitter-uxntal) | unstable | `HFIJL` | | @amaanq
[v](https://github.com/vlang/v-analyzer) | unstable | `HFIJL` | @kkharji, @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 [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 [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 [verilog](https://github.com/gmlarumbe/tree-sitter-systemverilog) | unstable | `HF J ` | | @zhangwwpeng
[vhdl](https://github.com/jpt13653903/tree-sitter-vhdl) | unstable | `HF J ` | @jpt13653903 [vhdl](https://github.com/jpt13653903/tree-sitter-vhdl) | unstable | `HF J ` | | @jpt13653903
[vhs](https://github.com/charmbracelet/tree-sitter-vhs) | unstable | `H  J ` | @caarlos0 [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 [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 [vimdoc](https://github.com/neovim/tree-sitter-vimdoc) | unstable | `H  J ` | | @clason
[vrl](https://github.com/belltoy/tree-sitter-vrl) | unstable | `HFIJL` | @belltoy [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 [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](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 [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 [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 [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 [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 [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 [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 [yaml](https://github.com/tree-sitter-grammars/tree-sitter-yaml) | unstable | `HFIJL` | | @amaanq
[yang](https://github.com/Hubro/tree-sitter-yang) | unstable | `HFIJ ` | @Hubro [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 [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 [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 [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](https://github.com/kristoff-it/ziggy) | unstable | `H I  ` | | @rockorager
[ziggy_schema](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 [^bp]: Android Blueprint
[^ecma]: queries required by javascript, typescript, tsx, qmljs [^ecma]: queries required by javascript, typescript, tsx, qmljs
[^gap]: GAP system [^gap]: GAP system

View file

@ -18,7 +18,7 @@ error('Cannot require a meta file')
---Repo does not contain a `parser.c`; must be generated from grammar first ---Repo does not contain a `parser.c`; must be generated from grammar first
---@field generate? boolean ---@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 ---@field generate_from_json? boolean
--- ---
---Parser repo is a local directory; overrides `url`, `revision`, and `branch` ---Parser repo is a local directory; overrides `url`, `revision`, and `branch`

View file

@ -136,11 +136,13 @@ end
---@param compile_location string ---@param compile_location string
---@return string? err ---@return string? err
local function do_generate(logger, repo, compile_location) 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( logger:info(
string.format( string.format('Generating parser.c from %s...', from_json and 'grammar.json' or 'grammar.js')
'Generating parser.c from %s...',
repo.generate_from_json and 'grammar.json' or 'grammar.js'
)
) )
local r = system({ local r = system({
@ -148,7 +150,7 @@ local function do_generate(logger, repo, compile_location)
'generate', 'generate',
'--abi', '--abi',
tostring(vim.treesitter.language_version), 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 }) }, { cwd = compile_location })
if r.code > 0 then if r.code > 0 then
return logger:error('Error during "tree-sitter generate": %s', r.stderr) return logger:error('Error during "tree-sitter generate": %s', r.stderr)

View file

@ -18,7 +18,6 @@ return {
}, },
angular = { angular = {
install_info = { install_info = {
generate_from_json = true,
revision = '843525141575e397541e119698f0532755e959f6', revision = '843525141575e397541e119698f0532755e959f6',
url = 'https://github.com/dlvandenberg/tree-sitter-angular', url = 'https://github.com/dlvandenberg/tree-sitter-angular',
}, },
@ -37,7 +36,6 @@ return {
}, },
arduino = { arduino = {
install_info = { install_info = {
generate_from_json = true,
revision = '017696bdf47ca2b10948c5a511f9ab387722d0f3', revision = '017696bdf47ca2b10948c5a511f9ab387722d0f3',
url = 'https://github.com/tree-sitter-grammars/tree-sitter-arduino', url = 'https://github.com/tree-sitter-grammars/tree-sitter-arduino',
}, },
@ -55,7 +53,6 @@ return {
}, },
astro = { astro = {
install_info = { install_info = {
generate_from_json = true,
revision = '213f6e6973d9b456c6e50e86f19f66877e7ef0ee', revision = '213f6e6973d9b456c6e50e86f19f66877e7ef0ee',
url = 'https://github.com/virchau13/tree-sitter-astro', url = 'https://github.com/virchau13/tree-sitter-astro',
}, },
@ -241,7 +238,6 @@ return {
}, },
commonlisp = { commonlisp = {
install_info = { install_info = {
generate_from_json = true,
revision = '32323509b3d9fe96607d151c2da2c9009eb13a2f', revision = '32323509b3d9fe96607d151c2da2c9009eb13a2f',
url = 'https://github.com/tree-sitter-grammars/tree-sitter-commonlisp', url = 'https://github.com/tree-sitter-grammars/tree-sitter-commonlisp',
}, },
@ -274,7 +270,6 @@ return {
}, },
cpp = { cpp = {
install_info = { install_info = {
generate_from_json = true,
revision = 'e5cea0ec884c5c3d2d1e41a741a66ce13da4d945', revision = 'e5cea0ec884c5c3d2d1e41a741a66ce13da4d945',
url = 'https://github.com/tree-sitter/tree-sitter-cpp', url = 'https://github.com/tree-sitter/tree-sitter-cpp',
}, },
@ -302,7 +297,6 @@ return {
}, },
cuda = { cuda = {
install_info = { install_info = {
generate_from_json = true,
revision = '014628ae8d2df391b88ddb9fa0260fd97f770829', revision = '014628ae8d2df391b88ddb9fa0260fd97f770829',
url = 'https://github.com/tree-sitter-grammars/tree-sitter-cuda', url = 'https://github.com/tree-sitter-grammars/tree-sitter-cuda',
}, },
@ -542,7 +536,6 @@ return {
}, },
fennel = { fennel = {
install_info = { install_info = {
generate_from_json = true,
revision = 'de06b9ad366f0186080056109a8c3be980129538', revision = 'de06b9ad366f0186080056109a8c3be980129538',
url = 'https://github.com/alexmozaidze/tree-sitter-fennel', url = 'https://github.com/alexmozaidze/tree-sitter-fennel',
}, },
@ -725,7 +718,6 @@ return {
}, },
glimmer_javascript = { glimmer_javascript = {
install_info = { install_info = {
generate_from_json = true,
revision = '5cc865a2a0a77cbfaf5062c8fcf2a9919bd54f87', revision = '5cc865a2a0a77cbfaf5062c8fcf2a9919bd54f87',
url = 'https://github.com/NullVoxPopuli/tree-sitter-glimmer-javascript', url = 'https://github.com/NullVoxPopuli/tree-sitter-glimmer-javascript',
}, },
@ -735,7 +727,6 @@ return {
}, },
glimmer_typescript = { glimmer_typescript = {
install_info = { install_info = {
generate_from_json = true,
revision = '12d98944c1d5077b957cbdb90d663a7c4d50118c', revision = '12d98944c1d5077b957cbdb90d663a7c4d50118c',
url = 'https://github.com/NullVoxPopuli/tree-sitter-glimmer-typescript', url = 'https://github.com/NullVoxPopuli/tree-sitter-glimmer-typescript',
}, },
@ -745,7 +736,6 @@ return {
}, },
glsl = { glsl = {
install_info = { install_info = {
generate_from_json = true,
revision = '24a6c8ef698e4480fecf8340d771fbcb5de8fbb4', revision = '24a6c8ef698e4480fecf8340d771fbcb5de8fbb4',
url = 'https://github.com/tree-sitter-grammars/tree-sitter-glsl', url = 'https://github.com/tree-sitter-grammars/tree-sitter-glsl',
}, },
@ -925,7 +915,6 @@ return {
}, },
hjson = { hjson = {
install_info = { install_info = {
generate_from_json = true,
revision = '02fa3b79b3ff9a296066da6277adfc3f26cbc9e0', revision = '02fa3b79b3ff9a296066da6277adfc3f26cbc9e0',
url = 'https://github.com/winston0410/tree-sitter-hjson', url = 'https://github.com/winston0410/tree-sitter-hjson',
}, },
@ -935,7 +924,6 @@ return {
}, },
hlsl = { hlsl = {
install_info = { install_info = {
generate_from_json = true,
revision = 'bab9111922d53d43668fabb61869bec51bbcb915', revision = 'bab9111922d53d43668fabb61869bec51bbcb915',
url = 'https://github.com/tree-sitter-grammars/tree-sitter-hlsl', url = 'https://github.com/tree-sitter-grammars/tree-sitter-hlsl',
}, },
@ -953,7 +941,6 @@ return {
}, },
hocon = { hocon = {
install_info = { install_info = {
generate_from_json = true,
revision = 'c390f10519ae69fdb03b3e5764f5592fb6924bcc', revision = 'c390f10519ae69fdb03b3e5764f5592fb6924bcc',
url = 'https://github.com/antosha417/tree-sitter-hocon', url = 'https://github.com/antosha417/tree-sitter-hocon',
}, },
@ -1056,7 +1043,6 @@ return {
}, },
ispc = { ispc = {
install_info = { install_info = {
generate_from_json = true,
revision = '9b2f9aec2106b94b4e099fe75e73ebd8ae707c04', revision = '9b2f9aec2106b94b4e099fe75e73ebd8ae707c04',
url = 'https://github.com/tree-sitter-grammars/tree-sitter-ispc', url = 'https://github.com/tree-sitter-grammars/tree-sitter-ispc',
}, },
@ -1152,7 +1138,6 @@ return {
}, },
jsonc = { jsonc = {
install_info = { install_info = {
generate_from_json = true,
revision = '02b01653c8a1c198ae7287d566efa86a135b30d5', revision = '02b01653c8a1c198ae7287d566efa86a135b30d5',
url = 'https://gitlab.com/WhyNotHugo/tree-sitter-jsonc', url = 'https://gitlab.com/WhyNotHugo/tree-sitter-jsonc',
}, },
@ -1329,7 +1314,6 @@ return {
}, },
luau = { luau = {
install_info = { install_info = {
generate_from_json = true,
revision = 'a8914d6c1fc5131f8e1c13f769fa704c9f5eb02f', revision = 'a8914d6c1fc5131f8e1c13f769fa704c9f5eb02f',
url = 'https://github.com/tree-sitter-grammars/tree-sitter-luau', url = 'https://github.com/tree-sitter-grammars/tree-sitter-luau',
}, },
@ -1480,7 +1464,6 @@ return {
}, },
nqc = { nqc = {
install_info = { install_info = {
generate_from_json = true,
revision = '14e6da1627aaef21d2b2aa0c37d04269766dcc1d', revision = '14e6da1627aaef21d2b2aa0c37d04269766dcc1d',
url = 'https://github.com/tree-sitter-grammars/tree-sitter-nqc', url = 'https://github.com/tree-sitter-grammars/tree-sitter-nqc',
}, },
@ -1497,7 +1480,6 @@ return {
}, },
objc = { objc = {
install_info = { install_info = {
generate_from_json = true,
revision = '181a81b8f23a2d593e7ab4259981f50122909fda', revision = '181a81b8f23a2d593e7ab4259981f50122909fda',
url = 'https://github.com/tree-sitter-grammars/tree-sitter-objc', url = 'https://github.com/tree-sitter-grammars/tree-sitter-objc',
}, },
@ -1576,7 +1558,6 @@ return {
perl = { perl = {
install_info = { install_info = {
branch = 'release', branch = 'release',
generate_from_json = true,
revision = 'ecd90bd8b381bcc7219fed4fe351903630e761c6', revision = 'ecd90bd8b381bcc7219fed4fe351903630e761c6',
url = 'https://github.com/tree-sitter-perl/tree-sitter-perl', url = 'https://github.com/tree-sitter-perl/tree-sitter-perl',
}, },
@ -1606,7 +1587,6 @@ return {
}, },
phpdoc = { phpdoc = {
install_info = { install_info = {
generate_from_json = true,
revision = '03bb10330704b0b371b044e937d5cc7cd40b4999', revision = '03bb10330704b0b371b044e937d5cc7cd40b4999',
url = 'https://github.com/claytonrcarter/tree-sitter-phpdoc', url = 'https://github.com/claytonrcarter/tree-sitter-phpdoc',
}, },
@ -1632,7 +1612,6 @@ return {
pod = { pod = {
install_info = { install_info = {
branch = 'release', branch = 'release',
generate_from_json = true,
revision = '0bf8387987c21bf2f8ed41d2575a8f22b139687f', revision = '0bf8387987c21bf2f8ed41d2575a8f22b139687f',
url = 'https://github.com/tree-sitter-perl/tree-sitter-pod', url = 'https://github.com/tree-sitter-perl/tree-sitter-pod',
}, },
@ -1802,7 +1781,6 @@ return {
}, },
qmljs = { qmljs = {
install_info = { install_info = {
generate_from_json = true,
revision = '0889da4632bba3ec6f39ef4102625654890c15c1', revision = '0889da4632bba3ec6f39ef4102625654890c15c1',
url = 'https://github.com/yuja/tree-sitter-qmljs', url = 'https://github.com/yuja/tree-sitter-qmljs',
}, },
@ -1829,7 +1807,7 @@ return {
}, },
racket = { racket = {
install_info = { install_info = {
revision = '5b211bf93021d1c45f39aa96898be9f794f087e4', revision = 'e5096d233a7e9ceef78d7fe1a6d30ae39b3a731f',
url = 'https://github.com/6cdh/tree-sitter-racket', url = 'https://github.com/6cdh/tree-sitter-racket',
}, },
tier = 2, tier = 2,
@ -1852,7 +1830,6 @@ return {
}, },
razor = { razor = {
install_info = { install_info = {
generate_from_json = true,
revision = 'fe46ce5ea7d844e53d59bc96f2175d33691c61c5', revision = 'fe46ce5ea7d844e53d59bc96f2175d33691c61c5',
url = 'https://github.com/tris203/tree-sitter-razor', url = 'https://github.com/tris203/tree-sitter-razor',
}, },
@ -1999,6 +1976,7 @@ return {
scfg = { scfg = {
install_info = { install_info = {
generate = true, generate = true,
generate_from_json = false,
revision = '2f3709e7656fa2c443f92041c91a9f843f8cd625', revision = '2f3709e7656fa2c443f92041c91a9f843f8cd625',
url = 'https://github.com/rockorager/tree-sitter-scfg', url = 'https://github.com/rockorager/tree-sitter-scfg',
}, },
@ -2007,7 +1985,7 @@ return {
}, },
scheme = { scheme = {
install_info = { install_info = {
revision = '63e25a4a84142ae7ee0ee01fe3a32c985ca16745', revision = '8af654581a1c957b634321c46df7c2298f1561d9',
url = 'https://github.com/6cdh/tree-sitter-scheme', url = 'https://github.com/6cdh/tree-sitter-scheme',
}, },
tier = 2, tier = 2,
@ -2033,7 +2011,6 @@ return {
}, },
slang = { slang = {
install_info = { install_info = {
generate_from_json = true,
revision = '327b1b821c255867a4fb724c8eee48887e3d014b', revision = '327b1b821c255867a4fb724c8eee48887e3d014b',
url = 'https://github.com/tree-sitter-grammars/tree-sitter-slang', url = 'https://github.com/tree-sitter-grammars/tree-sitter-slang',
}, },
@ -2075,7 +2052,6 @@ return {
}, },
snakemake = { snakemake = {
install_info = { install_info = {
generate_from_json = true,
revision = 'f36c1587624d6d84376c82a357c20fc319cbf02c', revision = 'f36c1587624d6d84376c82a357c20fc319cbf02c',
url = 'https://github.com/osthomas/tree-sitter-snakemake', url = 'https://github.com/osthomas/tree-sitter-snakemake',
}, },
@ -2118,7 +2094,6 @@ return {
}, },
sparql = { sparql = {
install_info = { install_info = {
generate_from_json = true,
revision = 'd853661ca680d8ff7f8d800182d5782b61d0dd58', revision = 'd853661ca680d8ff7f8d800182d5782b61d0dd58',
url = 'https://github.com/GordianDziwis/tree-sitter-sparql', url = 'https://github.com/GordianDziwis/tree-sitter-sparql',
}, },
@ -2128,7 +2103,6 @@ return {
sql = { sql = {
install_info = { install_info = {
branch = 'gh-pages', branch = 'gh-pages',
generate_from_json = true,
revision = 'b1ec2aa5091624e4729f0a771a6d631afebf1ed4', revision = 'b1ec2aa5091624e4729f0a771a6d631afebf1ed4',
url = 'https://github.com/derekstride/tree-sitter-sql', url = 'https://github.com/derekstride/tree-sitter-sql',
}, },
@ -2153,7 +2127,6 @@ return {
}, },
starlark = { starlark = {
install_info = { install_info = {
generate_from_json = true,
revision = 'a453dbf3ba433db0e5ec621a38a7e59d72e4dc69', revision = 'a453dbf3ba433db0e5ec621a38a7e59d72e4dc69',
url = 'https://github.com/tree-sitter-grammars/tree-sitter-starlark', url = 'https://github.com/tree-sitter-grammars/tree-sitter-starlark',
}, },
@ -2170,7 +2143,6 @@ return {
}, },
styled = { styled = {
install_info = { install_info = {
generate_from_json = true,
revision = '319cdcaa0346ba6db668a222d938e5c3569e2a51', revision = '319cdcaa0346ba6db668a222d938e5c3569e2a51',
url = 'https://github.com/mskelton/tree-sitter-styled', url = 'https://github.com/mskelton/tree-sitter-styled',
}, },
@ -2204,7 +2176,6 @@ return {
}, },
svelte = { svelte = {
install_info = { install_info = {
generate_from_json = true,
revision = 'ae5199db47757f785e43a14b332118a5474de1a2', revision = 'ae5199db47757f785e43a14b332118a5474de1a2',
url = 'https://github.com/tree-sitter-grammars/tree-sitter-svelte', url = 'https://github.com/tree-sitter-grammars/tree-sitter-svelte',
}, },
@ -2223,6 +2194,7 @@ return {
swift = { swift = {
install_info = { install_info = {
generate = true, generate = true,
generate_from_json = false,
revision = '99a5241ceac351a4af57bcc3571cef5064bde0a3', revision = '99a5241ceac351a4af57bcc3571cef5064bde0a3',
url = 'https://github.com/alex-pinkus/tree-sitter-swift', url = 'https://github.com/alex-pinkus/tree-sitter-swift',
}, },
@ -2288,7 +2260,6 @@ return {
}, },
templ = { templ = {
install_info = { install_info = {
generate_from_json = true,
revision = 'bd52132b4ef7a028189f0e52d7c89e36a083c6fa', revision = 'bd52132b4ef7a028189f0e52d7c89e36a083c6fa',
url = 'https://github.com/vrischmann/tree-sitter-templ', url = 'https://github.com/vrischmann/tree-sitter-templ',
}, },
@ -2363,7 +2334,6 @@ return {
}, },
toml = { toml = {
install_info = { install_info = {
generate_from_json = true,
revision = '64b56832c2cffe41758f28e05c756a3a98d16f41', revision = '64b56832c2cffe41758f28e05c756a3a98d16f41',
url = 'https://github.com/tree-sitter-grammars/tree-sitter-toml', url = 'https://github.com/tree-sitter-grammars/tree-sitter-toml',
}, },
@ -2381,7 +2351,6 @@ return {
}, },
tsx = { tsx = {
install_info = { install_info = {
generate_from_json = true,
location = 'tsx', location = 'tsx',
revision = '75b3874edb2dc714fb1fd77a32013d0f8699989f', revision = '75b3874edb2dc714fb1fd77a32013d0f8699989f',
url = 'https://github.com/tree-sitter/tree-sitter-typescript', url = 'https://github.com/tree-sitter/tree-sitter-typescript',
@ -2408,7 +2377,6 @@ return {
}, },
typescript = { typescript = {
install_info = { install_info = {
generate_from_json = true,
location = 'typescript', location = 'typescript',
revision = '75b3874edb2dc714fb1fd77a32013d0f8699989f', revision = '75b3874edb2dc714fb1fd77a32013d0f8699989f',
url = 'https://github.com/tree-sitter/tree-sitter-typescript', url = 'https://github.com/tree-sitter/tree-sitter-typescript',
@ -2558,7 +2526,6 @@ return {
vue = { vue = {
install_info = { install_info = {
branch = 'main', branch = 'main',
generate_from_json = true,
revision = '22bdfa6c9fc0f5ffa44c6e938ec46869ac8a99ff', revision = '22bdfa6c9fc0f5ffa44c6e938ec46869ac8a99ff',
url = 'https://github.com/tree-sitter-grammars/tree-sitter-vue', url = 'https://github.com/tree-sitter-grammars/tree-sitter-vue',
}, },
@ -2576,7 +2543,6 @@ return {
}, },
wgsl_bevy = { wgsl_bevy = {
install_info = { install_info = {
generate_from_json = true,
revision = '47c1818d245a6156a488c4c4d06e9336714bae9b', revision = '47c1818d245a6156a488c4c4d06e9336714bae9b',
url = 'https://github.com/tree-sitter-grammars/tree-sitter-wgsl-bevy', url = 'https://github.com/tree-sitter-grammars/tree-sitter-wgsl-bevy',
}, },

View file

@ -16,8 +16,8 @@ table.sort(sorted_parsers, function(a, b)
end) end)
local generated_text = [[ local generated_text = [[
Language | Tier | Queries | Maintainer Language | Tier | Queries | Node | Maintainer
-------- |:----:|:-------:| ---------- -------- |:----:|:-------:|:----:| ----------
]] ]]
local footnotes = '' 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 ' ') .. (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 -- Maintainer
generated_text = generated_text generated_text = generated_text
.. (p.maintainers and table.concat(p.maintainers, ', ') or '') .. (p.maintainers and table.concat(p.maintainers, ', ') or '')